Introduction: RaspiPhono

About: I like puppets and electronic devices like raspberry, esp8266, arduino, etc.

When I started designing a puppet play set (scale 1: 4) in the style of the early twentieth century one, it occurred to me that the protagonist was listening to music from a gramophone. As I really like electronic devices, it occurred to me to turn the gramophone into a kind of MP3 player.

You must to use the crank to start the turntable. One turn are 20 seconds. Press the button to change the music (changes the music folder).

We can divide the project into two parts: one the gramophone itself, with the box, the horn, the vinyls, and the other part, the electronics to play music (raspberry pi zero, speaker, battery, etc). The two parts are independent.

I leave two links where you can check how gramophonse were:

Where can you download 1900's music into our RaspiPhono?

At the you can filter and find a lot of music

Step 1: The Box


Cut the wood. You need (all in cm):

  • 2 pieces 8x8
  • 2 pieces 9x9
  • 2 pieces 6x7,5
  • 2 pieces 6,8

Sand all of the pieces. Pay special attention to wall's union. You must do oblique sanding to get a union to miter

Glue all the parts. Each, both base and top are made out of two pieces (8x8 and 9x9) glued together. I used four basswood strips to strengthen the walls. You can use a hot glue gun to glue the walls to the base. Don't glue the top to the walls.

Once dry, it's time to paint with woodstain antique oak, apply two coats of paint. After the first coat, sand.

To hold the cover I used four screws and neodymium magnet, adjust the distance between magnets and screws.

Don't glue the front wall. You need it open to work more comfortably

Step 2: The Horn

To the gramophono's horn I found first this reference. I wanted more information and finally I found a lot at audioXpress. I attached two docs.


Cut de template. It's like a petal. We need 8 petals. I used thick tin paper, which I couldn't find in Amazon (typical for embossing).

Assemble all the petals with adhesive crepe paper

Then, glue inside de horn, with tin strips.

I used the smoothie's cap to the support the horn

Make the back bracket with wire and clay (see the pictures). Drill two holes at the back wall of the box to hold the horn. To make the tone-arm, use a drinking straw and clay.

Cover the cap of the smoothie with clay, and add it to the tone-arm. Finish it with a little nail as a stylus.

Step 3: The Crank


Make an "S" with the wire. We need a crank in order to start the motor of the turntable. The crank actives an endstop of the Raspberry and adds some seconds to motor's movement.

Cut a small piece of chupa-cup's (lolly pop) stick. Drill a hole on the wall and put the piece of stick through the wall. Insert the crank.

Make a knob with clay. Put a little ball on the other end to activate the endstop.

Glue the endstop near the ball, test that the crank activates the endstop.

Drill another square hole on the back wall and put the push button. Glue the button with hot glue. This button is to change the folder music (see step 10)

Step 4: Turntable


Measure the diameter of the motor and make a hole in the cover of the box.

Our scale is 1:4. One of the most common size of disc in 1900 was 12" (about 30cm). Then our turntable will be 3" (diameter).

Cut two circles, one of paperboard and another one of polyester cloth, and make a hole in it. Paste the two parts.

Glue a hex nut to the paperboard in de center.

Glue the motor to the box's top.

Glue the turntable to the motor.

I printed two records and painted them with withe glue, looking for a vinyl effect.

You can find different labels here and here

Step 5: Paint!


The best moment for me! Painting!

I like an antique look, so I need to mix various metallic colours with black. And some retouch with dark patina.

At this step everything is valid!

I searched for a plate with the "Victor" and the dog for the box.

Step 6: Raspberry Pi Zero

For electronics we will use a Raspberry Pi Zero, Its big advantage is the size. I will not discuss the configuration of the raspberry here. There is a lot of documentation on the network. It is assumed that we have a pi Zero running and we know how to access it either by ssh or vnc, in an other words, it is connected to our wifi.

The code is in my repository on

The Readme file includes the installation instructions, and the code has comments to explain the functionally.

There are two buttons. One of them (with the crank) activates the motor of turntable and adds some seconds to the turning, like a wind up toy. The other button is meant to change the disc, it changes the folder where the musics are.

Step 7: Power Supply


We will power the Zero with a 3.7v battery. Since the Zero is supplied at 5v, we need to raise this voltage. We will do this with the step-up. This step-up also serves to recharge the battery.

First weld the connector to the battery

Also weld the usb female. Take a look the schemes. Before welding the usb male, test de input (3.7v) and the output (5v)

If it's ok, weld the usb male. I used an old charge mobile connector.

You can use this step-up to recharge the battery. While recharging the red led is on, and when the battery is full, the led colour changes into green.

You can power on the Zero and try to connect.

This step-up will also be good for us to power the turntable motor.

The raspberry needs some configuration to add a button to power off and on. You can read In the Readme file in the repository how to configure a button.

Put a button, like change disk button on step 3 (The crank), and connect it to pin 3 of the raspberry. When you push the button the raspberry shutdown and when you press again the button, the raspberry start up.

Step 8: Audio Output


As the Zero has no audio output we have to use either the HDMI or I2S audio outputs.

I prefer to use the I2S for this project, due to size and simplicity, since the HDMI output had to be transformed with some adapter.

The amplifier used is the MAX98357, all the documentation is in adafruit, click here

You just have to follow the steps in that tutorial. For the speaker I use one of 0.5W / 8ohm, typical in old computer.

The wiring is:

  • Amp Vin to Raspbery Pi 5V
  • Amp GND to Raspbery Pi GND
  • Amp DIN to Raspbery Pi #21
  • Amp BCLK to Raspbery Pi #18
  • Amp LRCLK to Raspbery Pi #19

To setup the I2S output at the Zero:

curl -sS | bash

And then, reboot the raspberry. The audio output is already configured to use the amplifier.

Pass the two wires of the speaker into the horn. Glue the speaker onto the horn.

Take out the wires. Cut the tubing to the appropriate length. Slide the tubing onto the two speaker's wires so that it covers. Use a lighter to shrink the tubing.

Drill a hole on the back wall and pass the two wires into the box.

Step 9: Turntable Motor


For the motor to turn de disc I have used an old printer motor, but you can use almost any motor between 3v to 6v, since we only need it to rotate with hardly any force.

If you want the explanation, click here. It's a tutorial of Arduino, the same as Raspberry Pi Zero's.

First weld the resistor to the base of the transistor. The collector will go to the Zero (PWM output) so that we can control the motor speed. We will use a female jumper wire.

Then weld the protection diode between the + and - terminals of the motor.

The positive terminal of the motor goes to the Vout of the step-up, and the negative terminal goes to the ground (GND) of the step-up.

Step 10: All Together Now, All Together Now.

It's time to finish. Put all the components in the box. Be carefully with the wires and connections. You can glue some components (battery, raspberry, amplifier, charger) with hot glue gun.

Put two magnets to the front wall (like as the top of the box) and open the gramophone when you need recharge the battery.

Enjoy yourself!


Big and Small Contest

Participated in the
Big and Small Contest