Sound-Reactive LED for My Barman Robot
by VITOR´S INVENTIONS in Circuits > LEDs
119 Views, 1 Favorites, 0 Comments
Sound-Reactive LED for My Barman Robot
Have you ever wanted to build your own humanoid robot?
I just can’t wait until this kind of technology becomes truly accessible, so I decided to create my own, using a Raspberry Pi, Arduino, servo motors, and a lot of LEDs.
In today’s Instructable, I’m going to feature one specific circuit from my robot and share the experience of making my very first PCB, in the hope that it gives you the confidence to start your own project.
This circuit is a sound-reactive LED controller that gives my humanoid robot a realistic talking effect.
The idea is simple: make the LEDs blink in sync with the robot’s voice, using the simplest design possible.
Supplies
BC547B Transistor × 6
1MΩ Resistor ×1
10kΩ Resistor ×2
220Ω Resistor ×5 (for the LEDs)
100nf capacitor x1
LEDs ×5 (any color, I used green)
Breadboard and jumper wires
9V- Power supply
NextPCB manufactured PCBA (final version)
This board was made to integrate my robot's audio system that uses a Raspberry pi audio signal boosted by a LM386 audio amplifier module but you can adapt it to use with a microphone or a any audio output as signal to the board.
Making the Circuit on a Breadboard
Before diving into PCB design, I started testing the circuit on a breadboard. (schematic is on step 3)
At first, I wasn’t sure if the microphone would generate a strong enough signal or if the BC547 amplifier would react fast enough for LEDs to blink naturally, so I needed a reliable and repeatable sound source.
Testing using an Arduino (simple tone generator)
To make things easy, I uploaded a very simple Arduino program that generates sound using a small speaker/buzzer.
This allowed me to create consistent audio pulses for testing instead of relying only on claps or speech.
The LEDs reacted to the synthetic tones, flashing exactly with each beep.
The microphone picks up the sound and converts it into a small electrical signal, then, the BC547 transistor amplifies that signal and drives the LEDs, which blink in sync with the audio peaks.
You can find the Arduino code I used for test below. This simple program produces alternating beeps at two frequencies. Because the audio is stable and repetitive, it becomes easy to visualize how the LEDs respond.
Testing using the Raspberry Pi audio output
After confirming that everything worked with the Arduino tone generator, I moved on to testing the circuit with my Raspberry Pi audio output.
Because the Pi’s audio signal is very weak on its own, the circuit was designed to work together with an LM386 audio amplifier module, which boosts the sound signal before it reaches the speaker and our circuit.
Downloads
Trying the Perforated Copper Board
After confirming that it worked, I decided to make a prototype on a perforated copper board (the type with small soldering holes).
Although it seemed like a good idea, I quickly realized it was messy and hard to debug.
Traces were hard to follow, and soldering multiple components by hand made the board look chaotic.
This experience convinced me that it was time to design my first real PCB.
Designing My First PCB
Before this project, I had never designed a PCB or ordered a PCBA in my life.
I was honestly intimidated by the whole process and didn’t even know which software to choose — KiCad or EasyEDA.
And NextPCB encouraged me to take the first step and finally design my first real PCB ever.
Why I chose EasyEDA as a beginner
The workflow is very straightforward:
- Create a new schematic
- Place components from the EasyEDA parts library
- Wire the schematic just like you would on a breadboard
- Convert your schematic to PCB
- Arrange the components (position them on the board)
- Use the Autoroute feature
- This automatically generates the copper tracks for you
- Great for beginners who don’t fully understand PCB routing rules yet
- The autorouter helped a lot in the beginning, but I still ended up adjusting some traces manually to make the board look cleaner and more symmetrical.
- Generate:
- BOM (Bill of Materials)
- Pick-and-Place file
- Gerber files
These three files are exactly what manufacturers need to assemble your board.
By the time I finished the PCB layout, it already looked like a real professional board, even though it was my first time ever.
Manufacturing With NextPCB
Ordering the PCB and PCBA from NextPCB
As a complete beginner in PCB design, I was honestly unsure if my files were correct, or if I was even ready to try professional manufacturing.
That’s why I’m extremely grateful to NextPCB, who sponsored this project and encouraged me to build my first real PCBA ever.
Their support didn’t just help turn the circuit into a real product, it gave me the motivation to learn PCB design properly and take my robotics project to the next level.
If you’re also a beginner and feel intimidated by the manufacturing process, this part will walk you through every step I followed.
Why I Chose NextPCB
- Extremely beginner-friendly: Their guides and interface made ordering my first PCB surprisingly easy.
- PCB Assembly service: As a beginner, having the components soldered professionally saved me from a lot of trouble.
- High-quality standards: The final board looked better than I expected, clean, accurate, and sturdy.
- Fast production and delivery: Despite being a sponsorship, the manufacturing time was impressive.
- Great support: They helped me confirm if my files were correct before production.
For a first-time PCB designer, these things make all the difference.
NextPCB Official Website
1. Reviewing the Design with the NextPCB Gerber Viewer
Before placing the order, I needed to review my PCB to ensure everything was correct.
The NextPCB free online Gerber Viewer is perfect for this:
https://www.nextpcb.com/free-online-gerber-viewer.html
I uploaded my Gerber ZIP file and instantly got feedback on:
- Top and bottom layers
- Traces and pads
- Labels and orientation
- Board outline
- Drill holes
This gave me confidence that the PCB was ready to be manufactured.
2. Going to the NextPCB Website
With everything ready, I visited the official ordering page:
Since I wanted my board to arrive with all components already soldered, I selected:
- PCB Fabrication
- PCB Assembly (PCBA)
This way, NextPCB would handle both the manufacturing of the board and the soldering of all components for me.
3. Uploading the Necessary Files and Information
For the assembly process, NextPCB requires three essential files:
- Gerber files
- BOM (Bill of Materials)
- Pick-and-Place file (only needed for PCB assembly)
EasyEDA automatically generates all of these for you.
After uploading the files, you can customize your board by choosing:
- PCB thickness
- Copper weight
- Solder mask color
- Surface finish (ENIG, HASL, etc.)
- Assembly side and quantity
- And other pcb parameters
This personalization step is incredibly easy, even for beginners.
4. Review and Ordering
Before production starts, the NextPCB engineering team reviews your files and will contact you if anything requires adjustment.
They provide helpful feedback on things like trace width issues and component compatibility.
Once everything is approved, NextPCB proceeds with fabrication and assembly.
They handled my order extremely fast, and the final board arrived in less than a month, perfectly assembled and ready to plug into my humanoid robot project.
you can find my PCBA files here: https://github.com/Vitorinventions/Sound-reactive-LEDs-gerber
Testing the Final Board (On the Actual Robot)
After receiving the assembled PCB from NextPCB, it was finally time to integrate it into my Barman Robot audio system.
The robot’s internal audio chain is:
Raspberry Pi → LM386 amplifier module → My custom PCB (and also the speaker) → LEDs in the robot’s head
It was incredibly satisfying to see the robot finally “speaking” with animated LEDs—now powered by a clean, reliable, and professional-looking custom circuit. This project taught me a lot, and I truly hope it inspires you to build something of your own, even if you’re just starting out.
I see you there!