amplifier electronics Linux Raspberry Pi

Adding radio streams to the cooler with a Raspberry Pi


In my previous blog post I finished my audio cooler. It’s a small cooler with a tiny audio system that nevertheless sounds good. The only way to control the audio is through a wired connection. It would be a nice addition to have some kind of remote control either by WiFi or Bluetooth. While testing the cooler I’ve got the idea to connect a Raspberry Pi A+, that was still unused, to the cooler and stream audio over WiFi to the Pi.  This could be useful for a garden party or BBQ where WiFi is available and I don’t want to attach the smartphone to the cooler. In this blog post I’ll share my experience with installation and operating the software needed for this project on the Pi.

Raspberry Pi A+ (in it’s Pimoroni Pibow case) connected with the headphone jack to the cooler. The Pi has a small Edimax Wifi adapter.

Installing music software on the Raspberry Pi

Since I run the Raspberry Pi headless I use SSH login to the Pi. SSH is available for most operating systems with the notable exception of Windows. I already had Raspbian installed on the Pi so first I updated the OS.

3D modeling 3d printing amplifier electronics

Making a tiny audio system for our cooler (part 2)


A couple of weeks ago I started to make a tiny audio system for our cooler. In my previous blogpost I described all the audio components that I chose for this project. I wanted the components to be small since I didn’t want to waste too much space in the cooler. With the audio components in hand I could design other parts for the audio system. I needed an enclosure for most of the audio components and a simple console to operate the audio. The parts were 3d printed with my Hephestos 2.

The complete audio system in the lid of the cooler. Most components are placed in the 3d printed enclosure.
The complete audio system in the lid of the cooler. Most components are placed in the 3d printed enclosure.
amplifier electronics

Making a tiny audio system for our cooler (part 1)


For pick nicks we use a small cooler and with the upcoming spring and summer it seems like a great idea to add an audio system to it. Most DIY coolers with audio that I found on the internet are huge. Not only do they have large speakers and amplifiers but they also have a huge lead battery hardly leaving any space for the pick nick gear. I want a tiny, one speaker system that sounds nice but is lightweight and leaves plenty of room for the other stuff. I also wanted it nicely integrated in the cooler without too many wires. I therefore started to design and build one.

Choosing the audio components

I started this project by choosing a suitable battery. As stated above lead batteries are relatively large due to their low energy density. Lithium polymer batteries on the other hand have large energy density, four to five times higher than lead according to this source. Prices of polymer batteries are also very reasonable nowadays.

Lead-acid battery (left) and polymer battery (right) side by side on the small cooler. The much bigger and heavier lead-acid battery has a capacity of 5000mAh (6V) while the lithium polymer battery has 1200mAh (3,7V). The lithium polymer with it’s four to five times larger energy density is therefore perfect for my small audio system.

Next I chose the amplifier. I was looking for a small one with just enough power to provide a good sound with a proper speaker. There is plenty of choice but I chose the Kemo 3,5W (M031N) since it’s small but also humidity and shake proof. It also comes in a nice package and has a broad operating voltage range from 4.5-12V/DC.

3D modeling 3d printing electronics

Case for a FM-radio (Velleman MK194)

I have a MK194 radio kit from Velleman and turned it into a radio some  time ago. The radio looks pretty cool with all the electronic components visible but the wooden case was awful. I therefore decided to build a new case for it. Of course I want to use my Hephestos 2 printer from BQ to make this case.

First I designed a case in FreeCAD. I use FreeCAD for a couple of weeks now, together with OpenSCAD, but this is the first design with multiple parts that I create with it. After several iterations I finally decided to have a design consisting of three parts. A box, a support plate for the radio PCB and a lid. The radio fits into the support and the lid which are then screwed onto the box.

Design for the radio case made with FreeCAD consisting of three parts (the red part just represents the MK194 PCB). I made a nice radius on the lid and the MK194 fits nicely between the support and the lid.

The box is by far the biggest 3D print that I made with the Hephestos. It took the printer almost seven! hours to print it. Luckily it came of fine the first time. Both the lid and the support plate were printed in less than an hour each.

3D modeling electronics woodworking

What to make for Valentine’s day?

What to make for Valentine’s day? A bare perfboard with a Valentine’s chaser (basically a 555-chip, 4017 decade counter and a handful of leds) doesn’t look too impressive. That’s why I made this heart shaped wooden box with a laser cutter. Both printboard and battery fit nicely into the box. Three bolts, nuts and washers to finish the job.

The file for the laser cutter (.svg) can be found here.

And here is a 3d printer file (.stl) of a little dock for the heart.


amplifier electronics woodworking

Darth Vader voice changer 2.0 part 5: finished

This is the last of a series of five where I design and build a Darth Vader chest box. See the bottom of the this to links to the previous parts. The main features of the Darth Vader chest box are:

  • enclosure laser cut plywood (6mm)
  • easy control with four push buttons
  • DIY voice changer circuit with Holtek HT8950A
  • LM386 amplifier
  • build-in speaker
  • audio-in (3.5mm)

When I started the Darth Vader chest box early December 2015 I didn’t expect it would take me almost two months. Finally this week I finished it and I’m happy to say that it works great. For a couple of weeks it was almost finished but there always seemed to be some work to be done. A major problem was that I couldn’t get the 3D printed container for the audio-jack right. I tried it several times at my local fablab but it just didn’t fit. Finally I ordered the container from 3D Hubs and it had a perfect fit.

Audio-jack container (right) and volume knob (left). The blue parts were printed by me while the black parts were ordered through 3D Hubs. the X,Y-dimensions of the blue parts were off probably due to over extruding. The black parts were fine.
3D modeling amplifier electronics laser cutting

Darth Vader voice changer 2.0 part 4: almost finished


The last month I’ve been working on my Darth Vader chest box. I’ve designed and built my own circuit with the Holtek HT8950A voice modulator. I create a laser cut case and designed 3D printed parts for the chest box. Since I had to learn a lot of new techniques, e.g laser cutting and 3D printing, this is by no means an easy project for me. With the project in its final stages now some design problems turn up that need fixing.

Soldering the board.

This week I soldered the components to the board. First I soldered the voice changer components and made sure this part of the circuit is working. Next I soldered the amplifier. I tested the total circuit and it worked the first time which is always a joyful moment. I find the Adafruit perma-protoboard very easy to work with since I’m able to copy the layout from the breadboard. Next I grouped all the buttons that operate the HT8950A on a board and soldered them to a piece perfboard. The buttons on the perfboard fit nicely into the laser cut side panel that I already made. Operating the chest box is easy with this (a major issue with my previous chest box).

Soldered perma-protoboard and breadboard side-by-side.
Close-up of the soldered board with the HT8950A voice changer chip on the right and the LM386 amplifier on the left.
Operating the voice changer with this panel should be easy.

Design issues

Last week I made 3D printed parts for the front of the chest box. Unfortunately I found that these parts didn’t look good with the laser cut box. The plastic parts just didn’t do justice to the laser cut plywood. I therefore decided to laser cut all the parts that sit on the from of the box with I think is aesthetically more pleasing.

Another problem arose with the female audio jack connector that I need to plug in the microphone. The thread of this 3.5mm connector just isn’t long enough to be fitted onto the 6mm thick plywood. I designed a container to solve this. The audio connector fits into this container and the container is screwed to the case. The .stl file can be downloaded here: Hopefully this container solves the problem.

Container for the audio jack connector created with OpenSCAD. The container, screwed to the chest box, will keep the audio connector tightly to it’s place.

Yet unsolved problems

  • I need to attach a nylon belt to the chest box. I’m thinking about popper snap fasteners attached to the belt to open or close the belt.
  • The HT8950A works fine with a proper audio signal as input but the microphone that I have, a small electret microphone, doesn’t give any audible output (except for noise). I assume that the signal is too weak and therefore needs amplification.

Here are the links to all blog posts I wrote about this chest box:

amplifier electronics laser cutting woodworking

Darth Vader voice changer 2.0 part 3: amplifying and case revisited


The last couple of weeks I worked on a homemade voice modulator that is easy and cheap to built. First I’d like to mimic the Darth Vader voice changer, but with the press of a button it can be changed to robot or helium kind of voice effects. Last week I’ve steadily continued my work. The project has two main parts, the electronics and the case.

Electronic circuit

For the project I choose the HT8950A voice modulator from Holtek as the heart of the circuit. It is cheap, versatile and easy to work with. I previously had the voice modulator working. I only had to amplify the signal which seemed simple enough. Well, that turned out to be a bit more troublesome than expected. After connecting the LM386 to the circuit and powering it up an annoying hiss was introduced. After some experimenting I figured that the breadboard was to blame and decided to copy the circuit to another breadboard. Although on the new breadboard the hiss appeared somewhat reduced but it was still at an unacceptable level. Even when I removed the input signal from the LM386 the hiss continued. I connected the HT8950A with a audio-jack to an external amp. I wanted to make sure that the hiss was coming from the LM386. With the external amp the hiss was gone. The fact that I had hiss without an input signal indicated that the supplied voltage wasn’t clean.  To clean it up I placed a small capacitor (10nF) from pin 6 (V+) to ground and voila the hiss was gone (see schematics below). It took me some time but I’m almost ready to finish this circuit and solder it to perfboard.

Two (almost identical circuits) with the Holtek HT8950A voice modulator and the LM386 amplifier. Both circuits gave a hiss which was unacceptable. Eventually a simple 10uF capacitor from pin 6 to ground did the trick for me. 
Schematics of the Darth Vader voice changer. I was able to eliminate all the hiss and noise from the LM386.

Printing the case.

I decided previously to make a T-slot plywood case for the Voice Changer but I’m not satisfied with the result. First I made a beginners mistake with the tab width. It was chosen poorly resulting in fragile edges of the case. Also I discovered that a T-slot case is not the best choice for this project. The case needs to be sturdy and the T-slot isn’t. I’m afraid it will fall apart when in use. Therefore I’ll made a regular finger joint that will be glued together. This new case was much better. Gone are the fragile edges and I’m confident that glued together it will be very sturdy.

Laser cut case made out of plywood. I first used a T-slot type of case but made a beginners mistake with the tab width and positioning. As a consequence the edges become very fragile. The front of the case has engravings for the positioning of large controls of the voice changer. These controls on the front will we dummies just to mimic the look of a Darth Vader voice changer. The actual controls will be on the side of the box.
Laser cut case with regular finger joint. This attempt is much better.

Here are the links to all blog posts I wrote about this chest box:


Darth Vader voice changer 2.0 part 1: the HT8950A chip


Last June I wrote about a Darth Vader voice changer that I made. Back then I used the Velleman MK171 kit as the electronic part of the voice changer. Although it worked pretty well I felt that some area’s needed improvement. First, I couldn’t get the push buttons mounted on the housing to work making it hard to switch the voice effect. Second, I didn’t like the limitations that obviously come with such a kit; you’re more or less bound to the design as intended by Velleman.

The HT8950A chip

For this project I wanted to deviate from Velleman’s MK171 design and experiment with the HT8950A chip, the heart of the kit. The HT8950A chip from Holtek is a voice modulator that provides two special effects, Vibrato and Robot (pin 2 and 5 respectively). It also provides frequency level shifting enabling the user to shift the frequency up or down (pin 3 and 4 respectively). This is perceived as a higher or lower pitched sound resulting in a ‘Darth Vader’ type of sound when the frequency is shifted two steps lower. More detail on this can be found in the datasheet of the HT8950A. An external LED connected to the LAMP pin (pin 11) changes it’s brightness when the input voice signal changes. Pin 12, the AUDIO, provides the resulting sound that can be amplified.

Breadboard with in the middle the HT8950A. For this chip relatively few components are needed to get the voice modulation to work.

The chip can be acquired by buying the MK171 kit from Velleman. This kit also provides you with a LM386 amplifier however it is cheaper to buy the HT8950A without the other (generic) components from eBay or Aliexpress. If you do so make sure that your supplier of your choice has sufficient positive feedback. It’s important that you use the HT8950A (DIP-16) and not the HT8950 (DIP-18) which has a very different pin lay-out!

Building it on the breadboard

On the datasheet of the HT8950A (page 5 onward) schematics can be found how to connect the chip. The amplifier of  the schematic on page 5 or 7 can easily be exchanged for another one of your liking. I’ll probably use the LM386 because it’s cheap and I have several on stock. In order to operate the HT8950A one only needs a couple of generic components (7 resistors, 5 capacitors, an LED and a Zener diode) so building it is not too complicated.

First I built the circuit on the breadboard without an amplifier. The HT8950A actually has it’s own built-in amplifier consequently connecting a small speaker to AUDIO (pin 12) is sufficient to give an audible sound, though barely. Alternatively a headphone can be used. This is especially useful if your roommates start complaining about the weird noise. Later I also connected a homemade amplifier to the circuit (to my roommates despair). The Robot mode sounds good but while testing the frequency level shifting mode a lot of noise became apparent. Placing a capacitor over pin 8 and 9 (AO and AIN respectively) reduces this noise considerably. Optionally a 25K potentiometer can be placed between the 33K resistor and pin 8 to tune the sensitivity of the microphone or any other sound input.

Although I’m rather pleased with the result. I would like to take this experiment a little further. Next I’ll try to further optimize the sound, add the LM386 amplifier and solder the circuit to a perf board. Then I’ll either use the plywood housing that I made for the original version or make a lighter one.

Overview of the circuit. The Audio in is coming from an old FM radio (top-left). I’m using a headphone to listen to the modulated sound while keeping my roommates happy.
Schematics of the experiment. The capacitor between AO and AIN varied between 47nF an 220nF to reduce the noise. I found that the 47nF gave the best results.

Here are the links to all blog posts I wrote about this chest box:

electronics Make:Electronics

Building a robot cart (Experiment 32 of Make:Electronics) finished

In my previous post about the robot cart I described how I finished the cart and tested the circuit on the breadboard. I only had to solder the circuit to the perf board and mount the board on the cart. Simple, right. Unfortunately it wasn’t that simple. After soldering I tested the board and discovered that there was a problem. The motor would spin and when I pushed the button it would reverse as intended however it never reverted to the original direction. I replaced several components such as the 555 chip but that didn’t help. When measuring the voltage on the pins of the 555 chip I found that it worked exactly as intended. I was mystified and beginning to feel desperate but then I recalled that there was an errata page on the book Make:Electronics.  On this page I found someone describing the same problem that I had. Charles Platt the author of the book acknowledges the problem and possible solutions are offered. Searching on the internet for 555 timer relay I found a comparable schematic on It basically adds two diodes to the schematic of the book (figure 5-98). One diode from the output of the 555 timer to the relay (to energise the coil) and a second across the coil.

The result of this experiment. A finished, although somewhat improvised, robot cart. The electronics work great but the cart is susceptible to failure due to the alligator clips. It also runs way to fast damaging the switches while running into a wall.

I added the two diodes to my board and tested it. I found that it works on 6V DC but barely. Due to the voltage drop on the first diode just 3.8V remains over the coil, just enough to energise it (for this specific relay: SRC-S-06VDC). If the battery voltage drops below 6V the coil is no longer energised. I therefore decided to use 9V DC block battery instead of 6V. This should provide a wide margin for operation without damaging the relay.

NOTE: I found that other people were having good results with just a diode across the coil. Here is a link to such an example. That didn’t work for me possibly to due the relay that I use.

Next I’ll mounted the perf board (I used the handy half-size perma protoboard from Adafruit for this which I picked up for 4.95 euro) and the battery on the cart. I connected the the motor, battery and switches to the perf board. Then it was time to test the cart. The first test went miserably because the cart didn’t react to the switches. I then connected my bench power supply to the cart and it worked fine. I figured that the capacity of one block battery is insufficient to power the cart. I solved this by placing two block batteries in parallel which doubles the capacity of the power source.

Testing the nearly finished cart with two block batteries in parallel. The block batteries are connected with alligator clips. The higher capacity was needed to power the circuit and the motor (which is very power hungry).

With the power problem solved I made the last additions to the cart. I added an on/off switch and a glued a piece of plywood with velcro on it to the back of the cart. I attached the two block batteries to the velcro. Lastly I glued rubber to the front wheel to get more grip.

While testing the cart I noted that it runs way to fast. I already damaged a sensor when cart hit a closet. Also the alligator clips come loose when the cart hits something. Nevertheless I feel I have nearly completed this experiment. I’ll probably replace the motor for one with lower RPM (and a less power hungry one).

Video demonstrating the Robot Cart
The perf board attached to the top of the cart with two bolts and nuts. Note the two diode are added to the circuit.
It doesn’t look pretty with all those wires but it works. The batteries are attached to the cart with velcro.
Side view of the robot cart. A piece of plywood is added to the back of the cart to accommodate the batteries. I glued rubber to the front wheel of the cart to increase traction.
The other side of the finished robot cart.