VESC UART Engine sfx module

Hi Guys,

Since i’m on FOC on my main board, it emits close to no sound when riding, and i think it’s an issue.

So… What if I design a module that emits customisable engine sfx, and modulate the sfx to follow vesc infos received via UART like amp & speedometer

I think it could be done with an arduino that drives a small speaker, and be relatively small (i’m thinking of a 50x50x25 speaker)

I know how to build this, but I don’t know how to generate a parameter-modulated engine sfx.

Could someone be interested or help me with this ?

Pics & vids of early prototype coming soon


Just use chains. Makes a great sound and no need for extra electronics :ok_hand::stuck_out_tongue_winking_eye:


Haha, I just switched from chains to belts as the chain drive sound is horrible :smiley:

Just was about to comment on the other thread :joy: if those you offer there have really just 50km on them than I understand why you don’t like the sound :rofl: mine look better after 500+km


can you program an arduino?
if so – use can-bus library parse out the params you care about and map() them to a range for the tone() function.
if you want it to sound like an engine instead of a 8-bit video game you’ll either need to find/buy/write your own sound function or a discrete module – I would recommend circuit-bending a kid’s toy car.
If you don’t know how to program – FYI: you aren’t asking for help, you are asking someone else to do almost all the work for you

Yeah i have some experience with arduino programming :wink:

I already did some test with the tone function, not great.

I think i will need to superpose weveforms to get a nice sound, but it will be tricky to implement.


sorry for the snark about programming!-- I’m sure you’ve seen the number of ‘just some help’ requests that really mean do all the work.

my suggestion about finding a kid’s toy that makes approximate noises is what several artists friends do for projects. using an arduino to rapidly trigger the sounds, and screwing around with the capacitors, resistors and input voltage to change it to what they like. It has the advantage of already being self contained – allowing the actual programming to be limited in scope to triggering in response to events.

the FFT library can be used as well to strip a complex signal down to something manageable.or conversely build a more complex sine wave for play –

the processing speed of the arduino makes complex responsive sounds or events a real headache. I built a controller for animated christmas lights and the first dozen revisions would lag so much it didn’t look like the lights were in time with the music at all