StepperTune Professional – Polyphonic MIDI music using Bambu Lab stepper motors

Hi everyone,

some time ago I shared the first version of StepperTune, a small project I started to experiment with playing music through the stepper motors of Bambu Lab printers.

Since then, the project has evolved quite a bit and has become StepperTune Professional, a Windows application designed to import MIDI files, arrange them for the printer’s stepper motors, preview the result and generate printer-specific G-code.

The main improvement is polyphonic support: on compatible printer architectures, StepperTune can use up to three independent voices simultaneously, with separate volume control for each voice.

A1 and A1 mini use monophonic playback, while the other supported printer architectures can use up to three voices.

The goal wasn’t simply to convert MIDI notes into movements, but to make it practical to adapt and arrange real MIDI files around the physical limitations of the printer.

Here’s a short demonstration of the complete workflow and the final result on the printer:

Main features

  • MIDI file import
  • Up to 3 independent voices on supported printer architectures
  • Monophonic and polyphonic playback modes
  • Independent volume control for each voice
  • PC audio preview
  • Automatic voice balancing
  • Printer-specific G-code generation
  • Save and reopen projects using the .stf format

Supported printers

StepperTune Professional currently supports:

A1, A1 mini, A2L, H2D, H2S, P2S and X2D

A1 and A1 mini operate in monophonic mode. The other supported architectures can use up to three voices.

I have personally tested A1 / A1 mini in monophonic mode and H2S / X2D in polyphonic mode.

Project

StepperTune Professional is available on GitHub:

StepperTune Professional is free to use. A free activation code is required; codes are provided manually and requests are normally processed within the same day. The activation system is intended only to help protect the project from unauthorized commercial redistribution — it is not a paid licensing system.

Feedback, tests on other supported printer models, and technical discussion are very welcome.

Nice idea - and I genuinely wanted to give it a spin - but honestly, the moment I realized I’d have to install it, with no portable version available, my motivation dropped pretty quickly.

Add to that the fact that the source code isn’t even partially public, and that you have to activate it first and then wait until you manually approve it, and suddenly it feels like an entire obstacle course just to try out a fun little tool.

As clever as it is - and I really do enjoy this kind of stuff - it doesn’t go much further than being a neat party trick. For that, it’s a lot of friction and hurdles. Of course, as a developer, you want to have full control, but not every program needs to be activation code based.

Anyway, that’s just my personal take - it simply kept me from trying it out.

How is this one better than the Bambu Tool that has been out for years?

Edit: That probably sounded rude, not the intention, just genuine curiosity.

Thanks for the feedback — that’s a fair point.

The activation system wasn’t intended to monetize the software; StepperTune is completely free. I originally introduced it simply to discourage unauthorized commercial redistribution of the project.

But I understand what you mean about the extra friction, especially for someone who just wants to download it, experiment for a few minutes and see what it can do. That’s useful feedback for me, and I’ll definitely reconsider whether the current activation approach is really necessary for this project.

Thanks for taking the time to explain why you decided not to try it.

No worries at all — it’s a perfectly fair question.

The main difference is that StepperTune Professional isn’t just a MIDI-to-G-code converter. I built it around arranging and editing the music specifically for the printer.

After importing a MIDI file, you can work directly on the arrangement: add, remove or modify notes, change their duration, compose new parts, and organize the music into up to three independent voices. You can then preview the result on the PC, adjust each voice separately and use automatic balancing before generating the G-code.

On supported printers, those three voices can play simultaneously using different stepper motors, which is where the polyphonic part comes in.

So the idea isn’t really to replace Bambu’s MIDI tool, but to provide a more complete environment for editing, arranging and even composing stepper-motor music before generating the final G-code.

Can you please get it working for the P1S?

It will be included in the next update.

Nice! I wonder how complicated it was compared to the other models.

Thanks! It wasn’t too complicated once I understood how the different models handle the stepper motors. The main challenge was adapting the G-code, since the same notes and movements don’t necessarily behave exactly the same way on every printer. That’s actually one of the things I worked on in StepperTune Pro.

Let me know when it comes out!