Summary
WIP Warning: Some files of this project still require a bit of fine tuning regarding the heated inserts. As of now, a bit of tinkering is required to make everything fit.
If you have kids, you have probably heard about the infamous Toniebox. If you haven't: It's an RFID jukebox for kids. You buy figures that have an RFID chip inside, then your kid puts them on top of the box and it downloads and plays the associated music or audiobook. Well, that can be done as an open source project, too.
There's the Phoniebox-Project on Github, and here's a tutorial for building one:
Shopping List:
Parts: (Links are examples, check your local stores for better prices)
- 1x Raspberry Pi 4B 1GB RAM
- 1x Power Supply
- 1x microSD-card
- 1x Heatsinks (optional)
- 1x On/Off Switch (optional)
- 1x PN532 NFC Reader - I²C Mode (DIP 1 = on, DIP 2 = off)
- 1x LED
- 4x Button
- 1x USB PC-Speaker set - Also marketed as: Speedlink Token, Fantec GS304, Mars Gaming MS-OM, and some more. If you don't care about the LED-ring, just grab a set of cheap -USB speakers. Just make sure, that the speakers are 2" and the amp is integrated into the wired remote.
Consumables:
- 2x PETG-Filament of your choice
- 6x Jumper Wire
- 1x 1kΩ Resistor
- 8x Wire end sleeve - Need pliers?
- 4x Heat Shrink Tube
- 15x M2,5x5mm Screw
- 2x M3x5mm Screw
- 2x M3x14mm Screw
- 15x Heated Insert M2,5x5mm
- 4x Heated Insert M3x5mm
- 1x Nano Tape
- 5x Rubber feet
- Some tissue papers
- Lots of RFID Tags - Search AliExpress for "NTAG213 Wet". You should find them for a better price there.
Instructions:
- Print the Phoniebox_Front_Panel.stl with tree support. Insert a PAUSE into your gcode before the last millimeter. Then change filament for multicolor.
-
Switch your PN532 to I²C mode, then solder a connector to the 4-pin row. Connect it to your Pi:
RasPi Pin PN532 Pin RasPi function 3 SDA GPIO 2 (SDA) 4 5V 5V 5 SCL GPIO 3 (SCL) 6 GND GND - Take one jumper wire of each color: black, grey, white, purple, blue, green. Cut each into one piece of ~15cm and one of ~5cm. Discard the short black and white one, strip the ends of the rest and sleeve all except black and white.
- Cut the plug off the 6 short wires, and strip the ends. Pull the blue plug with the LED out of its case. Cut the wires of your LED down to ~5cm, and strip the ends.
- Wait for the print job to fiinish, With your accent colored filament already in place, print Phoniebox_Front_Inner.stl, also with tree support.
- Remove the support from the printed part. Screw in the LED case and the buttons. Use pliers to tighten them. It needn't be really tight, tight enough is okay.
- Put in two 3m heated inserts into the holes in the back, and a 2,5mm one into the hole at the bottom.
- Solder the 1k resistor to the wire, then slide a piece of shrink tube over the joint (just long enough to cover it), solder the other end of the resistor to LED+, slide the tube over the joint and shrink it.
- Solder the stripped ends of the 4 short wires to LED-. The sleeved ends should point towards the LED. Add the long black wire with the plug pointing away from the LED. Slide a piece of tube over the joint (just long enough to cover it), and shrink the tube.
-
Plug the LED back into its case, then insert the 4 sleeved ends into a pin of their respective button (see table below) and screw them down. Try to keep the solder joint between the Next and Vol+ buttons.
RasPi Pin Color Role RasPi function 35 purple Prev GPIO 19 36 blue Next GPIO 16 37 grey Vol- GPIO 26 38 green Vol+ GPIO 20 39 black GND GND 40 white LED GPIO 21 - Put a piece of shrink tube over the black wire (7mm should do), then push the white one trough, so that both plugs are at the same end. Add the 4 remaining wires, and attach them to their buttons.
- Plug the wires into the RasPi (see table above), arrange the wires in a tidy 90° angle, and push the tube as near to the plugs as possible, make sure all wires are straight, then pull back ~2cm and shrink that tube.
- Wait for the print to finish, change back to your main filament, then print *Phoniebox_Back.stl Add in eight copies of Phoniebox_Front_Bar.stl. No support.
- Head over to Github and set up your SD-card.
- Make sure your PN532, LED and buttons are connected. Boot up your Pi andCheck your router for its IP-address. If it doesn't connect to your Wifi, use a cable instead.
- SSH into it, Here's PuTTY if you need a client. Execute sudo apt update && sudo apt -y upgrade
- Wait for the print to to finish. Then print Phoniebox_Main_Body.stl and Phoniebox_Front_Outer.stl. You can do both in one job, with tree suppoort and lots of brim. This will take a while.
- Execute sudo raspi-config, then select: Interface Options > I2C > enable? YES. If your Wifi didn't connect, select Localisation Options > WLAN country > Your Country, then try again via raspi-config.
- Head back to Github and run the One Line Install Command. There will be a long download/installation phase before you get to configure the RFID-Reader. Use that to push the heated inserts into the inner frames, then glue in the bars. The script might have finished until you're done. If it hasn't, grab a coffe and don't forget to buy me one. ;)
- After everything is installed, adjust the GPIO values for your buttons and LED, and test if everything works as expected. Then wait for the print to finish.
- Print Phoniebox_Top.stl. As before, pause the print before the last millimeter for a filament change. Print Phoniebox_Top_Insert.stl afterwards.
- Put the heated inserts into the main body. There should be two 3mm inserts left. They go into the outer speaker holes.
- Disassemble the speakers. If you used the same model, keep one LED ring. Then screw the speakers into the main body with the short 3mm screws.
- Assemble the front: The button panel goes in the middle. Make sure no to squeeze any cables between the frames. Screw it onto the main body, and make sure it's flush. Then insert the left and right speaker grills. Fasten everything with screws through the bottom holes. Take the two long 3mm screws, screw them through the speaker and main body holes into the inserts in the button banel.
- Screw in the Pi, attach the GPIO cables. Then put pieces of nanotape on the RFID column and the holder for the LED ring. Attach the ring, connect the RFID reader and put it in place, then attach those cables to the Pi.
- Boot up the Pi and test everything once more. Put both the speakers and the Pi to max. volume, then use the wired remote to reduce it to a level without distortion.
- Assemble the top panel. Some superglue will help the insert to stay in place. Slide it into place.
- Put the 3.5mm cable through the hole in the back, then attach that.
- Cut a hole into the last rubber foot and put it over the 3.5mm cable. Then cover the back panel hole with it, and plug in the cable.
- Done.
モデルソース
