Cat5 Cable Checker
Exposure Timer 2
MP3 Player Touch
Can Bus Schield for Banana Pi
I was looking for a MP3 player for my daughter which is very easy to use and has special features for this use case.
There was only one player on the market nearly matching my specifications, but has different details I did not like about it.
So I started a project which was directly joined by my collegue Jan, who was doing the speaker calculations and provided a lot of ideas for the feature list.
Also many thanks to Henri for identifying a lot of bugs.
This source of the project started on that from Benjamin Vedder Thanks a lot for this work.
- Easy to use for children
- No display - no need for reading skills.
- Up to 10 buttons to select mp3 folders directly.
- Pause/resume button.
- Skip to next track button.
- Rewind to prevoius track button.
- Power on button. Also used for stop and switching off.
- Full power off with no standby consumption after idle timeout (default around 100s)
- Alphabetical order for assignemt of buttons to folders.
- Alphabetical order for playback of folder content, no need for playlists.
- Stops after playback of one folder.
- Good sound for the size. Better than most plastic devices
- Proper calculated bass reflex design.
- High quality fullrange driver, increases project cost, but it is worth it.
- Good low frequency performance down to 60Hz.
- Special children usecases
- Supply via mains and rechargeable battery. No interruption during charge.
- Automatic power off after playing a folder and an idle timeout.
- Persistant storage of playback-position for folders.
- When switching between folders, the last track is resumed.
- It is also possible that the position in the track is remembered. This can be enabled during compile, but currently leeds to long start times.
- This position is battery backed and survives draining playback battery.
- It also means that the playback can continue at the same position on mains supply after the battery was empty.
- This function emulates the behavior of compact cassettes and is especially useful for radio plays.
- Changes to the directory structure are detected to reset the stored values.
- 5V Supply.
- Electronic components list
- 2 Speakers Monacor PS-45/4.
- 1 Board STM32F4 Discovery. This board is obsolete now but schematic is available, perhaps someone could create a dedicated layout for this project.
- 1 Encoder for volume (perfect is an optical encoder from grayhill, bus cheap mechanical should work as well). Pullup resistors at the outputs are needed and for mechanical encoders also 10nF capacitors to GND.
- 13 Buttons (non latching). These buttons are connected to the Board. Pin desctiption is included in the main.c file in the source folder.
- 13 100nF Capacitors - connected in parallel to the buttons for debouncing (could work without, but is not tested).
- 1 Button non lathing for power switching
- 1 Bistable relais 5V with 2 coils: HONGFA HFD2/005-S-L2-D. 1 coil wired via button to +5V and GND for switching on. The second coil is wired via an MOSFET transistor in open drain circuit. The transistor gate is connected to the stm32discovery board. See main.h for the correct pin.
- USB Powerbank for battery supply
- USB Cables and connectors as you like it in the case.
- RGB LEDs with digital protocol for status, see main.c for pinout.
- Optionally 2x 3W Class D amplifier module. Very cheap imported from china. The discovery board provides only headphone output which is is supprisingly loud with this speaker configuration.
- 3V Lithium Battery holder and battery CR2032 for persistant storage. R26 needs to be removed from the Discovery board and instead the battery is connected to VBat (on of the resistor pins) and GND.
- Mechanical components list
- Around 0,5m^2 10mm plywood (approximately 10 EUR in Germany). I kept every part minimum 10cm wide, which is the minimum dimension for the portal saws in german do it yourself stores. Partlist with all dimensions is attached in the files section.
- Wood glue.
- Some Screws
- Foam for the speaker front
A working snapshot is linked here
Please contact me if you like to improve the software, then I will configure write access to the SVN Repository to you.