All Projects β†’ MichaelThessel β†’ arduino-stoerbert

MichaelThessel / arduino-stoerbert

Licence: other
MP3 player for small children - firmware & PCB schematic

Programming Languages

c
50402 projects - #5 most used programming language
C++
36643 projects - #6 most used programming language

Projects that are alternatives of or similar to arduino-stoerbert

lplayer
lplayer is a simple audio player for simply listening
Stars: ✭ 40 (+29.03%)
Mutual labels:  mp3, audio-player
Xr3player
🎧 🎼 Advanced JavaFX Media Player
Stars: ✭ 472 (+1422.58%)
Mutual labels:  mp3, audio-player
flutter audio desktop
[WIP] An 🎡 audio playback library for Flutter Desktop. Supports Windows & Linux. Based on miniaudio.
Stars: ✭ 42 (+35.48%)
Mutual labels:  mp3, audio-player
libwinmedia
[Archived] A cross-platform simple media playback library for C/C++.
Stars: ✭ 35 (+12.9%)
Mutual labels:  mp3, audio-player
ATtiny85-TinyDFPlayer
MP3-Player
Stars: ✭ 22 (-29.03%)
Mutual labels:  mp3, pcb
ktPlayer-Music-Player
ktPlayer - Music Player on Java 8 with using JavaFX (Desktop)
Stars: ✭ 22 (-29.03%)
Mutual labels:  mp3, mp3-player
Aural Player
An audio player for macOS, inspired by Winamp for Windows.
Stars: ✭ 256 (+725.81%)
Mutual labels:  mp3, audio-player
Gogglesmm
Goggles Music Manager
Stars: ✭ 41 (+32.26%)
Mutual labels:  mp3, audio-player
Sbplayerclient
ζ”―ζŒε…¨ζ ΌεΌηš„macη‰ˆθ§†ι’‘ζ’­ζ”Ύε™¨
Stars: ✭ 110 (+254.84%)
Mutual labels:  mp3, audio-player
Abmediaview
Media view which subclasses UIImageView, and can display & load images, videos, GIFs, and audio and from the web, and has functionality to minimize from fullscreen, as well as show GIF previews for videos.
Stars: ✭ 79 (+154.84%)
Mutual labels:  mp3, audio-player
audioStreamDemo
A music player created in swift using AVPlayer to stream audio from server.
Stars: ✭ 33 (+6.45%)
Mutual labels:  mp3, audio-player
TonUINO
Alternative TonUINO Firmware
Stars: ✭ 112 (+261.29%)
Mutual labels:  mp3, audio-player
JetTunes-Desktop-Music-Player
Material design music player made with javafx
Stars: ✭ 36 (+16.13%)
Mutual labels:  mp3, audio-player
fridgefm-radio-core
Simple lightweight package for creating your own radio station via NodeJS heavily inspired by Shoutcast and Icecast.
Stars: ✭ 32 (+3.23%)
Mutual labels:  mp3
keyswitch-kicad-library
Footprints for popular keyboard switches
Stars: ✭ 163 (+425.81%)
Mutual labels:  pcb
Gameboy-Color-Cartridge
Board layout for an eeprom powered GB cartridge
Stars: ✭ 58 (+87.1%)
Mutual labels:  pcb
arcade-pcb-case
Plans to build Arcade PCB cases
Stars: ✭ 29 (-6.45%)
Mutual labels:  pcb
shairport-sync
AirPlay audio player. Shairport Sync adds multi-room capability with Audio Synchronisation
Stars: ✭ 5,532 (+17745.16%)
Mutual labels:  audio-player
android-audio-sensei
High-level library to make android audio recording and playing more simple by handling boring stuff like runtime permissions and by completely abstracting audio playback controller
Stars: ✭ 41 (+32.26%)
Mutual labels:  audio-player
audio-tag-analyzer
Extracts metadata music metadata found in audio files
Stars: ✭ 18 (-41.94%)
Mutual labels:  mp3

Intro

This repository contains the files required to build an easy to use MP3 player for small children. This project is heavily inspired by Hoerbert.

PCB CAD Inside Inside

Main components required to build:

  • Arduino Uno
  • Adafruit Music Maker shield
  • Speaker
  • Button PCB (see below)
  • Volume Pot
  • On/Off switch
  • Battery holders
  • Hookup wire

Button PCB schematics

I created a custom PCB for the input buttons. The schematics for that are in the cad directory in KiCad format. The Arduino UNO does not have enough GPIO pins for the Music Maker shield, the volume pot, and 12 buttons. To reduce the amount of GPIO pins required for the buttons I used 2 shift registers. That reduces the amount of required pins for the buttons to 3.

I used the following components:

PCB CAD PCB Pinout PCB etched PCB populated

If you want to etch the PCB yourself you can print this PDF on a transparency. Make sure to use US letter sized transparencies if you use the PDF below. Alternatively you can just create a new PDF from the KiCad layout.

PCB transparency

I followed this PCB etching process

Button layout

Regular mode

[album 1]   [album 2]       [album 3]
[album 4]   [album 5]       [album 6]
[album 7]   [album 8]       [album 9]
[prev]      [play_pause]    [next]

God mode

[1]         [2]             [3]
[4]         [5]             [6]
[7]         [8]             [9]
[0]         [play_pause]    [next]

God mode

The player supports 2 different modes. Regular mode and god mode. In regular mode one album is assigned to each button. This is the default mode and what the device is mainly intended for. To add more functionality, god mode has been added. This mode allows to add an alternative set of albums which makes it a handy MP3 player for parents as well. In that mode instead of directly playing an album for each button press, the buttons act as numerical input buttons. 2 buttons have to be pressed to select an album. I.e. 4 - 2 to select album 42. Up to 99 albums are supported in god mode.

To enter god mode the god mode sequence has to be pressed. The god mode sequence is: prev - play_pause - play_ pause - next (regular mode keyboard layout). The same sequence can be used to switch back to regular mode. When the sequence has been entered correctly a short beep will sound.

SD card

Structure

The SD card needs to be formated with FAT32.

The root folder structure needs to be:

k01 ... k09 for the regular albums and

g01 ... g99 for the god mode albums

The files in each folder need to be named:

01.mp3 ... 99.mp3

i.e.

/k06/01.mp3
/k06/02.mp3
/k06/03.mp3
/k06/04.mp3
/k06/05.mp3
/k06/06.mp3

Convert files to supported file format

a=`find ./ -type f -name "*.mp3" | awk '{print "mv", "\""$0"\"", substr($0, 3, 2)".mp3;"}'`; eval $a

This only works if the files are named with the first 2 digits indicating their track name already. I.e. 01-meshuggah-bleed.mp3. A great alternative for batch renaming the files is Mp3Tag.

Auto resume

The player will automatically resume the last played track after power off (if powered off before an album finished playing).

Power saving

To remind the user to turn of the device once the album has finished playing the player will sound a short beep every 5 minutes once the last album has played.

Mono mode

To keep the player compact and reduce power consumption this has been designed to work with a single speaker. The Music Maker shield is configured to work in mono mode. You can connect your speaker to either of the 2 speaker ports. In case you want to build a stereo version you can simply remove these lines from player.cpp

// Enable mono mode
vs1053.sciWrite(VS1053_REG_WRAMADDR, 0x1e09);
vs1053.sciWrite(VS1053_REG_WRAM, 0x0001);

Case build

I added an album of the full build on Imgur

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].