Not a gacha-pop, not a vending machine. Or maybe both, judge for yourself.
A unique STEAMPUNK BALL MACHINE, designed to display the engineering that makes it work. Compact, and yet full of details.
The lever is the engine. It rotates the large front wheel and allows the balls to recirculate in the inner loop. Once the desired ball is placed in the center, through the wheel hole, place a coin and rotate the valve. The ball will be delivered.
To refill the machine, just drop the balls into the chimney. Easy!
It has been designed to be different. To look cool. And, beyond that, to be a fun project. For that reason, I've focused on printability and easy assembly:
No supports are needed.
No glue, screws, inserts...
Just a couple of rubber bands, that's it!
Optionally, you can add lights as shown in the pictures. Not mandatory, but recommended.
2026/05/22
Alternative design for the Coin System, with the decorations in relief same as the Vault and Battery pack (for a unified style).
2026/05/18
Optional Ball Bumper added for the chimney.
Lever updated to v3, with an additional latch to secure it in place.
General Considerations:
This is a DIY project with many files, printing, and assembly steps.
It has been designed to fit in a 250 x 250 mm buildplate. For smaller printers, the only way would be to scale it down.
The machine/ball size ratio is very important. At the original size it only works with 60 mm balls.
3MFs have been generated in Bambu Studio, and should work fine with OrcaSlicer and its forks. They have the recommended settings and painting.
These 3MFs include an assembly view (top right in the slicer), so you can test the color combinations and see how everything comes together.
However, I STRONGLY RECOMMEND checking and adjusting the settings for your printer, and taking a close look at the gcode preview.
STLs are also available if you prefer to go wild.
Do not pay attention to colors in the 3MF. I am colorblind, so I set them just as a reference π.
Tolerances are different for each machine. If something doesn't fit, feel free to adjust the "X-Y compensation" in small increments, such as -0.05 mm (also called "X-Y Contour Compensation" or "Horizontal Expansion"). Only small parts (like fasteners, rivets, and bolts) would need this adjustment.
For bolts, fasteners, rivets, and springs: I strongly recommend using PETG or any material with good layer adhesion. They work in PLA as well, but might break more easily.
No printing supports are needed at all.
Everything has been designed to be assembled without glue, screws, or other hardware.
Because of how it functions, you need at least 12 balls for it to work.
You just need a couple of rubber bands, one for the release mechanism (~20-25 mm) and one for the chimney (~80 mm, work in progress).
It's designed to be light and print fast, but could never be as strong as a commercial one.Β
Any 60 mm ball should work, but that exact size is mandatory for the machine to work.
For other sizes, check the "Scaling The Machine" point below.
DO NOT USE low layer adhesion filaments, like silk PLA. The ball will shatter into pieces (tested π).
Right now I've only tested 3 designs, and they fit perfectly at 100% scale: Cute Mini Octopus, Lizard and Armadillo. In the future I'll provide a sheet with recommended sizes for all my designs.
The front panel has the text and decoration as separate solids, which are set in a different color.
Coins are customized with SVG pictures. Feel free to decorate your own. Any coin measuring 30 x 4 mm should work.
IMPORTANT: When the machine is not in use, leave the coin system in the rest position (with the coin hole visible). That way the inner springs are not tensioned and will keep the proper shape.
The gauge display has 2 SVG modifiers for the scale and numbers: one red and one black.
Rivets might be a bit hard to push. I found it easier with the cut in vertical position.
The parts "HV Connector" have crazy overhangs, because I like to make things the hard way π€. I recommend printing them very slowly and using thin layers. I've used 0.12 layer height and 18 mm/s for inner and outer perimeters, and the result was awesome.
Rivets might be a bit hard to push. I found it easier with the cut in vertical position.
It can be printed at once, with separated pipes (to save printing time, but some glue is needed), or completely disassembled into pieces.
The first two options are provided both as STL and 3MF. The latter is not recommended because of the time required, but if you insist: just load the file into the slicer and split it into objects. Please orient (or auto-position) the rivets upwards. After printing, it will take a while to glue everything.
UPDATE!
Ball bumper already available. It is completely optional, just in case. It uses a rubber band (about 70 mm in diameter) to smooth the ball drop through the chimney. It has several grooves to place the rubber band on one or two sides, and also to tension it. The final tuning depends on the rubber band diameter and the weight of your balls (no puns here, please).
After installing the rubber band, remove the chimney and place it in the hole as shown in the picture. Then, assemble the chimney as usual (last step of this guide).
Two versions available for the bottom loop, with or without pipes. Print just the one you want. The middle and upper sections are the same for both versions.
The slide parts are assembled by pressure. In the right orientation should be easy, as shown in the video.
Check that the pieces are properly assembled with a smooth transition.
The tall pipes do not require glue, as the top box cover will hold them in place. However, you can glue them if you don't like the wiggliness.
They hold everything together, so be extra careful when printing them. PETG for the bolts is recommended. Slow layers mean better bonding.
I STRONGLY RECOMMEND printing one set first, and try it.Β
You will need 8 of each piece, obviously.
The gears don't hold much force, except for the "Special" one, which is on the front upper right corner. That one needs care.
For the lever handle, I used a technique explained by @PanDan on MakerWorld to simulate real wood grain. Because of the license, I can't distribute the modified file, but I encourage you to download the modifier file and test it. I used these parameters with Bambulab Wood PLA and it looks fantastic.
I recommend using 0.6 or 0.8 mm nozzle, to save time.
Use at least 1.2 mm wall (3 perimeters for 0.4 mm nozzle, 2 perimeters for 0.6 mm nozzle).
The corner assembly might seem hard at the beginning, but it's just a matter of practice. Everything fits together.
Here you will need a small rubber band, about 20-25 mm in diameter (or a larger one with a knot π€).
After some use, the lever may get loose. A new and stronger version is ongoing.
UPDATE!
Because of the lever might become loose after use, I've updated it to v3. Now it has a longer shaft and includes an optional latch to be installed after the 90ΒΊ gear (minute 5:50 of the video). See picture below.
If you have already assembled the machine, it can be installed through the chimney hole (remove the chimney first, just saying π).
Lever_v3 and Latch
It is a long print. Check the slicer preview before printing.
Don't mind the lights in this video; they will be assembled in the next one.
The trickiest print of the entire project is the light tube. It must be printed in vase/spiral mode, with 0.62 mm wall thickness. I recommend using a 0.6 mm nozzle for bests results and transparency, but a 0.4 mm nozzle also works (remember to set the line thickness to 0.62 mm). I also recommend turning off the cooling fans, it improves the transparency.
Also, PETG should be a better choice.
Lights are optional, but recommended. BOM from Bambu Store (affiliate links):
OPTIONAL: AAA Battery Case with PH2.0 Connector - IA004. Alternatively, you can use a power bank
No screws are needed, but I left the holes just in case you want to use some.
The knobs in the video are outdated; don't worry about the differences.
I hope you have enjoyed the process π
THEORETICALLY (let me enphatize that), the Steampunk Ball Machine can be scaled up or down with no restrictions other than the printer resolution and the material strength for the moving parts. I've successfully printed one at 50% scale that works with 30 mm bouncy balls!!
Keep in mind that the Machine/Ball ratio must remain exacltly the same (100% scale β 60 mm balls; 50% scale β 30 mm balls).
Obviously, the electronics cannot be scaled.
For larger scales, the electronic parts can be left at the original size, while scaling the rest of the model. In this case, please reach me, and I'll provide you with a custom file for the top box, scaled to your needs with the electronics kept at 100%. Obviously, again, this will affect the aesthetics, as the light tubes will be smaller than the rest of the machine.
For smaller scales (like my tiny 50% mini-machine), the electronics can't be used. However, all the printed parts can be used as decoration, with no difference other than the light. The only "unsolved" thing here are the knobs, which can become loose. A dummy piece is in the works π
Work in progress!
I've started filling up this spreadsheet with my results to scale the models for a 60 mm ball. I've also added an editable field so you can add a custom ball size.Β
If you successfully test any model missing in the spreadsheet, let me know and I'll add the value π
Box and some details:
Bambulab Metal PLA Iridium Gold (affiliate link)
Bambulab Metal PLA Copper Brown (affiliate link)
Bolts, fasteners, rivets, inner pipes, and silver details:
Prusament Galaxy Silver PLA (I recommend PETG, don't do as I did)
Gears:
Formfutura Silk PLA Bronze High Gloss
Chimney:
Formfutura Silk PLA Copper High Gloss
Corners and dark details:
Prusament Mystik Brown PLA
Inner Loop Slide:
Sakata Magic Purple PLA
Handle and wood details:
Bambulab Wood PLA Classic Birch (affiliate link)
Large Wheel and light grey details:
Bambulab Basic PLA Light Gray (affiliate link)
Other small details, like red, black, and white:
Bambulab Basic PLA (affiliate link)