True, but only if you dedicate one Arduino to about four steppers and have one master Arduino send coordination instructions to the three Arduinos it would take to drive the steppers. Getting the timing right for all twelve is far beyond the capacity of a single Arduino.
@Astrid Alaniz Intriguing, but I doubt very much that Klipper would fully support 12 stepper motors or that either an RPi or a BBB can reasonably support the pinout. I know for sure that neither the RPi nor the BBB can support the cascaded timing; GPIO on both is slower and far more complicated than it is on Arduino. My money is on a twenty-dollar set of four Arduinos. That's cheaper than either an RPi or a BBB. The RAMPS boards are far cheaper than the stepper driver boards that either the RPi or the BBB would require, too... and we haven't even started talking about power supplies yet. Nice try, though. 8)
@Astrid Alaniz Wait. I've read a little more. It appears that Klipper permits a single RPi or BBB to act as the "conductor", directing a cluster of Arduinos. OK, I can live with that.
1. Learn to read sheet music 2. Learn to program in GCode 3. Learn to program an Arduino for RAMPS use 4. Learn to make several Arduinos communicate well via I2C or SPI 5. Gather at least four Arduinos and three RAMPS boards and four prototype boards and twelve suitable stepper motors 6. Modify one instance of GRBL to become a "band director" 7. Modify three instances of GRBL to become four-note players 8. Build an interconnection system between the four Arduinos with one master and three slaves 9. Plug everything together; dress up the steppers 10. Learn how to translate sheet music to GCode 11. Laboriously perform the translation 12. Send your GCode to the "band director" Arduino 13. Edit the heck out of your GCode to correct all the errors you made the first time 14. Repeat 12 and 13 forever; there are countless errors in the first run 15. Amaze your friends once, bemuse them thrice, annoy them forevermore
@@timhofstetter5654 I think 90% of the steps are unnecessary steppers can be controlled using arduino in about 4 lines of code just extract frequencies from the song and create a function that takes frequencies in input and converts them to speed signals (which is just the delay control)
@@aminebouabid5382 It's not nearly that simple. A frequency cannot be used as an input to anything, and no such thing as a "speed signal" exists. It takes far more than four lines of code to control a stepper. You have to initialize a timer to give you a hardware interrupt at a given frequency and use that interrupt to send pulses to the stepper driver. There's a catch, though; that's ONE stepper. You have to do it for FOUR OR MORE steppers, and you don't have enough timers or interrupts available for four. You can''t synchronize the steppers because they each step at different frequencies (which accounts for the distinct tone of each). You can use high multiples of two stepper frequencies, though, and use counters to trigger each of two steppers at their appropriate intervals; that gives you two steppers per timer. If you happen to be lucky enough to need two frequencies that can reasonably be multiplied together to be divided back. An Uno has two sixteen-bit timers and two eight-bit timers. Eight bits isn't enough for good tuning, so you have to rely on just the pair of sixteen-bit timers. That gives you... four steppers per Arduino. Alternative: you could set up one single timer at a very, very high frequency and use four counters to approximate your four pitches... but then none of your pitches would be in good tune with the rest. They'd be in good enough tune for a campfire sing-along with children, but not good enough to be regarded as "musical" and certainly not good enough for anything that wanted to emulate symphonic music..
normal people : Stepper motors. The stepper motor is an electromagnetic device that converts digital pulses into mechanical rotation. Advantages of step motors are low cost, high reliability, high torque at low speeds and a simple, rugged that operates in almost any environment. this guy : MOTOR OF THE FRONTIER GO BURRRR !!!
this is the intentional version of when I hear little recognizable tunes coming from my printer, , imagine STL's that generated g code that both print little things and make music while printing on porpoise,
The pitch is generated by the speed of the rotataion right? For example a speed of 440 steps per second would generate a sound with a frequency of 440 hz?
@@JonathanKayne Thanks for the response! Nice work with the stepper synth. I have been thinking about trying to do a project like that for a while. I prototyped with a small stepper motor but didn't get much sound. What steppers are you using?
I was wondering how many different steppers are involved, because each will have practical limits as to top speeds and how closely they synchronize to musical tones. I could readily see using those with varying numbers of steps, torques, etc. also, their power supply may be varied to affect such parameters. A lot of 3d printers, for example, don’t run their steppers at max voltage.
@@strictnonconformist7369 It may also be possible to vary a stepper's timbre by adjusting its microstepping on the fly. Doing that makes the project that much more challenging, though. 8)
you would need to first measure the relationship between the input voltage and output frequency of the motors - then you need to either take the MIDI sequence and map the channels' outputs as voltages instead of notes/binary data, or alternately just write the sequence as code using voltages
NSTB: So how many motors are we going to need for this song? NSTB: Yes, all of them. Internet: :-D {fist pump} I'm not sure why, but when this started, I couldn't help but just start laughing. It was sort of like a full of tough biker guys with straight faces started using kazoos to create this song. I think my brain thought it was absolutely absurd, and absolutely wonderful at the same time. All I really know is that I absolutely love this video!
The only real limitation would be the number of pins. An arduino can easily handle this considering the pulses are kHz max and the thing runs at 16 MHz
Standing ovation for the light blue motor. That guy was going for it.
the light purple too
ik it's not funny anymore.... but cyan is sus
10 miles for him...
He was told he could do anything, so he became a helicopter.
Also magenta motor
In a week of bad news, this video was one of the bright spots. Well done.
The first time I ever set up and ran a stepper, my immediate thought upon hearing how on-pitch it was was that one could probably do this with them.
yeah yeah. All talk. wheres your video now?;p 1 year past buddy
:eyes:
Bravo! UA-cam algorithm left this as a gem for me to find two years later. Nice work!
Light blue motor was definitely the main character
INFO: Using A4988 driver chip (1 for each motor) makes this absolutely doable for Arduino.
True, but only if you dedicate one Arduino to about four steppers and have one master Arduino send coordination instructions to the three Arduinos it would take to drive the steppers. Getting the timing right for all twelve is far beyond the capacity of a single Arduino.
@Astrid Alaniz Intriguing, but I doubt very much that Klipper would fully support 12 stepper motors or that either an RPi or a BBB can reasonably support the pinout. I know for sure that neither the RPi nor the BBB can support the cascaded timing; GPIO on both is slower and far more complicated than it is on Arduino.
My money is on a twenty-dollar set of four Arduinos. That's cheaper than either an RPi or a BBB. The RAMPS boards are far cheaper than the stepper driver boards that either the RPi or the BBB would require, too... and we haven't even started talking about power supplies yet.
Nice try, though. 8)
@Astrid Alaniz Wait. I've read a little more. It appears that Klipper permits a single RPi or BBB to act as the "conductor", directing a cluster of Arduinos. OK, I can live with that.
@Astrid Alaniz Oh... but it's written primarily in Python. I'm taking away your upvote again. Sorry.
@Astrid Alaniz Hmmm... support for the BBB, although touted, sounds very hinky.
How could 5 people not like this, it's brilliant.
now its 8 :(
Now there’s now dislike
@@SamuelLing Watched it again, still brilliant!
Here before this goes viral. Grab your tickets now!!!!!!
That teal one is ZOOMIN'!
This is hilarious.. Good job.. Makes me remember when my stepper where noisy.. :)
This is by far mankind's greatest accomplishment. Bravo!
stunning. Best stepper motor music on the web!
this deserves way more views and likes than it's gotten
If stuff like that wouldn't be so time consuming I would love to do it myself on one of my projects at work as an easter egg.
OMG! There nothing on this planet, that does not exist! Really! (I love it!)
This makes my day! Love it.
Never take your silent steppers for granted
Maestro!
You made good use of all 10 motors.
Its eleven motors.
Claps for Purple and Cyan solo :)
Steppin' in style! Bravo
Can you make a tutorial on how to do this. I would love to do this myself
1. Learn to read sheet music
2. Learn to program in GCode
3. Learn to program an Arduino for RAMPS use
4. Learn to make several Arduinos communicate well via I2C or SPI
5. Gather at least four Arduinos and three RAMPS boards and four prototype boards and twelve suitable stepper motors
6. Modify one instance of GRBL to become a "band director"
7. Modify three instances of GRBL to become four-note players
8. Build an interconnection system between the four Arduinos with one master and three slaves
9. Plug everything together; dress up the steppers
10. Learn how to translate sheet music to GCode
11. Laboriously perform the translation
12. Send your GCode to the "band director" Arduino
13. Edit the heck out of your GCode to correct all the errors you made the first time
14. Repeat 12 and 13 forever; there are countless errors in the first run
15. Amaze your friends once, bemuse them thrice, annoy them forevermore
@@timhofstetter5654 I think 90% of the steps are unnecessary
steppers can be controlled using arduino in about 4 lines of code
just extract frequencies from the song and create a function that takes frequencies in input and converts them to speed signals (which is just the delay control)
@@aminebouabid5382 It's not nearly that simple. A frequency cannot be used as an input to anything, and no such thing as a "speed signal" exists. It takes far more than four lines of code to control a stepper. You have to initialize a timer to give you a hardware interrupt at a given frequency and use that interrupt to send pulses to the stepper driver.
There's a catch, though; that's ONE stepper. You have to do it for FOUR OR MORE steppers, and you don't have enough timers or interrupts available for four. You can''t synchronize the steppers because they each step at different frequencies (which accounts for the distinct tone of each). You can use high multiples of two stepper frequencies, though, and use counters to trigger each of two steppers at their appropriate intervals; that gives you two steppers per timer. If you happen to be lucky enough to need two frequencies that can reasonably be multiplied together to be divided back.
An Uno has two sixteen-bit timers and two eight-bit timers. Eight bits isn't enough for good tuning, so you have to rely on just the pair of sixteen-bit timers. That gives you... four steppers per Arduino.
Alternative: you could set up one single timer at a very, very high frequency and use four counters to approximate your four pitches... but then none of your pitches would be in good tune with the rest. They'd be in good enough tune for a campfire sing-along with children, but not good enough to be regarded as "musical" and certainly not good enough for anything that wanted to emulate symphonic music..
Step one. Buy a horse
Step two. ???
Step three. PROFIT
There are tutorials online
An orchestra of steppers :) Hat off, well done!
normal people : Stepper motors. The stepper motor is an electromagnetic device that converts digital pulses into mechanical rotation. Advantages of step motors are low cost, high reliability, high torque at low speeds and a simple, rugged that operates in almost any environment. this guy : MOTOR OF THE FRONTIER GO BURRRR !!!
this should have millions of views. fantastic.
WTF!!! Absolutely BRILLIANT!!!
this is the intentional version of when I hear little recognizable tunes coming from my printer, , imagine STL's that generated g code that both print little things and make music while printing on porpoise,
it is doable in gcode, but not sure id you could do a model that makes a slicer do this
Stepper: Let's machine this bois
Rest of steppers: ayy
Капец, ноги в пляс сами просятся.😂🕺🕺👯♂👯♂👍
I remember hearing this song all the time when I used to watch Thomas the tank engine
The pitch is generated by the speed of the rotataion right? For example a speed of 440 steps per second would generate a sound with a frequency of 440 hz?
Don't know if the relation is right but yes, the faster, the higher pitched the sound will be
That's 100% correct
@@JonathanKayne Thanks for the response! Nice work with the stepper synth. I have been thinking about trying to do a project like that for a while. I prototyped with a small stepper motor but didn't get much sound. What steppers are you using?
@@gulfarn863 I used a4988 stepper drivers with nema17 motors. The lower the driver quality the better sound you get
@@JonathanKayne Thanks!
Awesome! Great Job! I will build one soon! thank you.
It sounds like a ringtone
This tickles my brain
magenta and cyan represent those two guys that do everything in the team
Nice! Is that group of steppers equal-tempered, or is the number of steppers selected for dynamic matching across the scale?
I was wondering how many different steppers are involved, because each will have practical limits as to top speeds and how closely they synchronize to musical tones. I could readily see using those with varying numbers of steps, torques, etc. also, their power supply may be varied to affect such parameters. A lot of 3d printers, for example, don’t run their steppers at max voltage.
@@strictnonconformist7369 It may also be possible to vary a stepper's timbre by adjusting its microstepping on the fly. Doing that makes the project that much more challenging, though. 8)
ok, now lets hear THE WHOLE William Tell. please? ❤
This made me chuckle.
Fantastic!
kreated the steppers the diffrent frequences (low - high tone) with the rotationspeed?
everybody gangsta till "A Clockwork Orange 2077" starts playing
Tell me how to build such a midi player?
you would need to first measure the relationship between the input voltage and output frequency of the motors - then you need to either take the MIDI sequence and map the channels' outputs as voltages instead of notes/binary data, or alternately just write the sequence as code using voltages
If all these motors are the same how comes they produce different Tunes? or is it different frequencies?
NEMA17?
Rossini might not have understood or appreciated it at first. But it is an interesting "orchestra."
Very cool!
Cyan just wigging out in the corner
AWESOME!!!!
for文で何とか一つ回せるようになりました。複数やるにはやっぱり割り込み理解しないときついですか?
NSTB: So how many motors are we going to need for this song?
NSTB: Yes, all of them.
Internet: :-D {fist pump}
I'm not sure why, but when this started, I couldn't help but just start laughing. It was sort of like a full of tough biker guys with straight faces started using kazoos to create this song. I think my brain thought it was absolutely absurd, and absolutely wonderful at the same time.
All I really know is that I absolutely love this video!
extreme good work
what is a stepper motor?
The Lone Ranger would be proud
Legend.
Hi-Oh Stepper away!!!!
Kudos to the violet motor and the sky blue motor!
shredding the 16ths
When you have enough money and time to play a song on 11 stepper motors but can't afford a tripod.
Hi Yo! Stepper away!
Reminds me of that micky mouse short. Every time i expect donald to interupt with his infinite flutes.
Meanwhile I'm reminded of Thomas cause it was used as the runaway theme a couple of times :P
You're supposed to play William Tell using several bow strings.
LOL That's great i love it!!
I feel like shooting an apple off someone's head with a bow with a 100 pound draw.
I know where my stimulas check is going
Can't even tell which way it's pointing!! Lol
Teal over there about to achieve lift-off.
My only question is: Why?
Reasonable response: because it could be done!
Best response" Why not?
cyan vector: I WILL OVERSPIN YA
So this is what the NTSB does when theres no plane crashes
Probably not an arduino driving this... I assume it's a more powerfull cpu that is needed to create those pulsetrains
you gotta be kidding. a more powerful CPU?
i think someone with appropiate skill could do that with a 1980s CPU.
The only real limitation would be the number of pins. An arduino can easily handle this considering the pulses are kHz max and the thing runs at 16 MHz
I dont see any cannons
Hi-ho Solder, away!
cyan and magenta go wee
sky blue MVP
Completely pointless.... and completely awesome!
The higher notes sound a little out of tune. Divider values becoming to low to hit the precise frequencies?
computer what we building stepper motors ¯\_(ツ)_/¯
Shit sounds like a cheap little tikes keyboard but still fire
magenta and cyan have a fight
magenta and cyan are helicopters
ビールのダンボールを振動材にしてて草
OK, Do Super Mario Brothers
Eat your heart out, Wendy Carlos xD
only original if you see chinese letters.
This guy should doing MÆth,before....
I'm so stupid
本当にうっさい草
So awesome and well made!