Make Custom Playlist Music Player With LED Organ
by nishakaralkar in Circuits > Audio
226 Views, 2 Favorites, 0 Comments
Make Custom Playlist Music Player With LED Organ
I wanted to build a Music Player which has a Unique playlist for each day. My Mom likes to listen devotional songs on Saturday and Thursday which has Playlist of Music files for Saturday and different Playlist Music files for Thursday.
My Goal is to make a Portable Playlist Music Player with LED Color Organ which will automatically play the playlist songs programmed to be played on that day only. Here I have only created and demonstrated only 2 playlist but you can create multiple playlist.
Functional Requirements:-
- The Device should be Portable.
- It should be Battery Powered.
- Single Charge should last 1-2months.
- LED Color Organ.
- Playlist should be played on that Particular Day only which is programmed for.
- Device should go in Deep Sleep Mode after List of Music Files have been played for that particular day.
- It should be Reliable.
Supplies
List of Materials Include Electronics Components. I have attached a BOM for the same. Please go through it.
All the Electronics Components can be purchased through Digikey/Mouser. I have also attached Links for some of the Components. Most of the Active/ Passive Components can be procured locally.
You may also require 3D Printer to Print Top and Bottom Enclosure Parts.
Downloads
Schematic Design
First Step I started was with the Schematic Design (see pdf attachment) which is most Critical Part. After experimenting I came with the Final Design.
The Schematic consist of a Battery Charger Section, Micro-controller with Audio Adapter, LED Organ Section, Boost Converter and Internal RTC of Teensy for Time Keeping of the Playlist.
The Micro-Controller which I am using is Teensy 3.2 with Audio Adapter Board. The Teensy 3.2 and Audio Adapter gets powered through 18650 2.5Ah Battery. For Battery Charge Management I am using IC MCP7382. I have also added Boost circuitry after the Battery Connector to Power the LED Organs.For Time keeping I am using Internal Teensy RTC.
The LED Organ Circuit Section gets input from the Audio Adapter Board.I have added only Two switches one for On/Off and other for Play/Pause. But you can also add additional switches for Next and Prev (optional) as well.
Power Section: (see reference img)
The Teensy 3.2 would be getting powered through External source i.e the Battery and not through USB. So we need to cut a Track To charge the Battery when USB Cable is Plugged in (see Images for reference) more on this you will see in PCB Section.
Downloads
PCB Design
The PCB has been Designed using Altium Designer software. I used PCB Milling machine to mill my PCB.After PCB Manufacturing Assemble the Components as per the Assembly Diagram (see img for reference). I have also added the Image of the PCB after Assembly.
After Assembly is Completed there is Four IMPORTANT Steps(see img for reference) is to be Performed.
- Connect a wire from VBAT pin of Teensy 3.2 to the CR1220 pin see img for reference.
- Connect a wire from one of the pad near micro usb connector on the Teensy (see img for reference) to the header of USB Input of the PCB
- Add a 32.768kHz Crystal for RTC Time keeping
- This is critical step for LED Organ to work. Connect two wire Leads from Audio Adapter Board to the PCB on Audio Input Pads of the Base PCB. You would find difficulty in soldering the Leads
Link for Gerber and NC Drill Files:
https://drive.google.com/file/d/1VrR8QrSSQg7gJESmshtAT0Ptfg42Q6r8/view?usp=sharing
CAD Design
This is my 1st CAD Design using Fusion 360. Tried my best, hope you will like it. There might be some filing necessary because the Audio Jack and Micro-USB Jack for me was not oriented properly so I had to do some filing on it.
Programming
I have spend lot of Time tinkering with the code and final got it working. In this Program you can Play/Pause song from Teensy GPIO Pin no 3. Once the played songs got completed for that particular day, the Teensy will go to the Sleep Mode. But when Teensy is in sleep mode the Teensy still consumes 35mA, it is due to the Class A amplifier of LED Organ. The songs will be played only on Thursday and Saturday.
You can customize the Code as per your wish list and can create your own Playlist for each particular Day.
For this code to work you need to install Teensyduino (check link below):
https://www.pjrc.com/teensy/td_download.html
After Installing the Teensyduino, you need to install mulitple librariries for mp3 and Sleep Mode to work from below Link:
https://github.com/duff2013/Snooze
https://github.com/FrankBoesing/Arduino-Teensy-Codec-lib
The code is very easy to follow. I have also added Comments in most of the Lines so that you would understand each line. Every Music Files is to be converted in ".mp3" formats. Also note the mp3 File naming format: "01SUPRA.mp3", "02VIS.mp3" and so on.
NOTE: Don't keep file name more than 7 characters. This is very Imp else that particular song won't get played.
Final Assembly
Once everything is finished Manufacturing and Assembly of the Components and 3D printing the Enclosure now it is time to assemble the whole thing.
Hint: To keep 18650 Battery and CR1220 Battery more secure I have added Rubber Adhesive Glue. This will keep the Batteries in place even when there is some vibration or accidentally if you drop the case.
You can see the attached Clip video to see the final working of the Device.