Pololu Robotics & Electronics
My account Comments or questions? About Pololu Contact Ordering information Distributors

Pololu Forum

Help with Mini Maestro 18 and soundboard

If someone could help me I’d be most appreciative. So I’m a newbie into the servo/animatronics/ardunio/etc world. For Halloween this year I built an animatronic raven and used a Pololu Mini Maestro 18 to control it and it’s all moving nicely but now I wanna add it sound and add the ravens beak sync to the sound. So I bought some sound board that had trigger ability on amazon (
Serial Control Voice Board Support MP3/WAV, Maluokasa 8 Bit I/O Control SD Card TF Card with UART Voice Controller Shield for XY-V17B) but couldnt get it to work so I got the “Adafruit Audio FX Mini Sound Board - WAV/OGG Trigger 16MB Flash [ADA2341]” and the “Audio IC Development Tools Stereo 3.7W Class D Audio Amplifier”. Put it all together and cant get the Maestro to trigger it and dont know what I’m doing wrong. Heres what I’ve done.
I uploaded the 4 sound files each with their special name. T00.wav, T01.wav T02.wav T03.wav…
I can test the pins on the soundboard using a jumper from the ground on the sound board to which ever pin had the sound I wanted. And it works
On ths Maesteo side . I use 4 channels 8,9, 10, 11. Each for each separate sound.
I put channel 8 channels ground to 00 pin on the sound board, 9 channels ground to 01 pin , 10 to 02 pin and 11 to 03 pin
In the pololu software I change the 4 channels 8,9,10,11, to output. I check their boxes. And in your forum it states to send a low output to set it 4000 and high 8000. But those numbers are too high and it wont let me change them to that. So I use the default were the normal is 1500 so I try lower and save the frame in the sequencer part if the software and when I run the sequence I get nothing . No flashing light mo sound nothing. I try higher then 1500 … nothing. On the Adafruit we site it says its trigger when the ground is on the pin for like 120ms so I try that by hitting the properties of the frame in the sequencer and change the time… nothing. I I tried change the wire on the maestro from ground to signal (whatever you call it) nothing. No flashing lights no sound. I can’t get it to work.
What am I doing wrong?
Thank you

Hello, ccleven.

It sounds like you are probably on the right track by configuring your Maestro channels as outputs. Do you have a common ground connection between the Maestro and your Adafruit FX board? For now, it is probably easier to control the output channels from the “Status” tab of the Meastro Control Center. For channels configured as outputs, any target position of 1500us or greater (e.g. half-way) will output a high signal, and anything less than that will give a low signal. I suspect the 4000 and 8000 values you saw in another forum post were because it was in reference to a Maestro script, which uses units of quarter-microseconds, while the “Status” tab shows the units in microseconds.

If you have a common ground and cannot get the triggers to work by moving the sliders, can you post some pictures of your setup that show all of your connections?


Common ground… that I do not believe I do. From what ground pin on the Maestro do I use? And then it goes to any ground pin on the sound board?
One thing I also noticed, which maybe has to do with the ground, when I was just playing with the sequencer to try to get sound and then after I copy it over, I looked at the script and it says for the output channels 8,9,10,11 the word “servo”. But its output… is that correct or should it say “output”?

You should have a common ground between the components in your system. All of the ground pins on the Maestro are connected on the board, so it does not matter which one you use. The same is almost certainly true for your Audio FX board, so any pin labeled as a ground should work, but you could double check by doing a continuity test with a multimeter if you are unsure.

As far as your question about the script, the same SERVO command is used to control the output of the specified channel whether it is configured as “output” or “servo”, so you should not be alarmed to see it in the script generated from your sequence.