It’s been a month since my last post about my Arduino music player and remote. This is a music system geared towards performers, like magicians, ventriloquists, jugglers and the like who perform a one man/woman show and need an easy way to queue up and play music and sounds. It uses two packet radio Arduino devices, one that stores the music on an SD card and is hooked up to a speaker system, and the other that provides buttons and a display that controls the music. The project has been coming along nicely since my last post, and I am quite pleased with the results so far. Since the last post, i have made significant software improvements and also created a 3D printed case for the remote. I also informally tested the range of the remote, which uses packet radio to communicate with the base receiver. My test showed a range of about 250 feet with an unobstructed view. In comparison, Bluetooth’s unobstructed range is about 33 feet.
Some of the software enhancements made so far include:
- Screen displays current track, scrolling the title for titles longer than the screen
- Added a battery status icon. The Adafruit M0 Packet Radio Feather had this circuitry built-in, so it was very easy to add this display option.
- Track control for play, pause, fast forward, next and previous tracks
- Volume control screen
- Playlist selection screen. Playlists define a folder of MP3 files to play, the volume to play them at, and whether to pause between tracks or not. For example, a pre-show playlist may play songs continuously and at a lower volume than a playlist for a show, which may stop between tracks, waiting for a performer to press a button to continue. Playlists are defined in an XML file on the SD card.
- The fast forward option allows one to fast forward through a track to a particular point in the track. This feature was available on the audio chip (but not rewind). The chip allows various fast speeds (1x, 2x, 3x, 4x, etc.) but I settled on 3x of the original speed. This feature could be used for practicing from a particular point in a track without needing to play the entire track. This feature was not available in the Arduino library for the sound chip, but I have since added it to the library and will post the code as a pull request in the Github library.
Most of the functionality I was looking for this project is complete. Next tasks include fixing some bugs and adding some error checking (like when trying to use it with no SD card installed). I still need to make a case for the receiver unit, which will be similar to the case for the remote. I think I can also slice off a few more millimeters in the remote case too. I also will like to see if others may be interested in this and may look into crowd funding if there is enough interest.