Maker Pro
Maker Pro

Designing a schedule enabled music player with BT connectivity

I have a project of a device that have the following features:
  1. Battery operated (18650) with TP4056 charger.
  2. Has a mono speaker
  3. Connects through Bluetooth to receive a schedule file, time and date parameters, and music files.
  4. Can store up to 16MB music tracks (2 tracks are enough)
  5. Can be programmed to recognize time and date
  6. Can play music.
  7. Stores a time table with per-determined schedule of few triggers per day
  8. The schedule trigger awakes the unit and plays a specific music track
  9. Once the track ends, the unit goes back to sleep mode
Any help will be highly appreciated.
 
Sounds like a job for a Raspberry Pi microcomputer. Just add some software.
Thank you Hevans!
I'm currently using a bunch of modules to make this project work but I was looking for a cheaper option that can be feasible for production. Raspberry is a powerful MC (thus pricey for what I want it to do).
Any other option?
 

hevans1944

Hop - AC8NS
You need to integrate an SD memory card to store the music clips, plus a Bluetooth interface to download commands and data. The RPi, being a "real" computer with a Linux OS offloads most of the housekeeping details, which is why I recommended it. It IS a power hog, comparatively speaking, and you could probably do everything with a Microchip PIC, which has the advantage that it can be "put to sleep" to conserve power. Other micros have similar functions, such as the Texas Instruments MSP430 series.

There is a LOT of hardware integration to do if you go with a "low level" design approach, especially the Bluetooth interface. I would purchase an off-the-shelf Bluetooth module for that. Well, actually, I already did for an Arduino project. Works fine, lasts a long time, does a little, costs a lot... and it's a not exactly a small power user. Arduino not recommended for production designs.

For production purposes you want as small a BOM (Bill of Materials) list as possible, meaning a custom PCB (Printed Circuit Board) design using your own custom circuit design. That is a formidable garage project if you don't use wheels provided by someone else in your design. And your product WILL be copied by cheap Asian parts and labor as soon as you put it on the market... if it is a successful product. So you need to try to protect your intellectual property against reverse engineering. Most microprocessors have a "feature" that allows you to set a bit during programming that prevents reading the internally stored program in flash memory. There are ways around this if the μP is de-capped and examined invasively with the right equipment, but it would have to be a really high-value target to be worth the effort. Think three-letter government agencies.

So, what is your level of design expertise? Can you engineer this product? There is lots of help available from TI and Microchip if you choose to "roll your own" system from scratch, and of course Linux is open-source so you should start planning to embed a version in your product just to make the various hardware interfaces play nice together. A Linux software weenie would be a helpful addition to your design team. Start with a "top down" detailed system specification, including only "requirements" and eliminating "desirables" that extend the design cycle. Your list with nine points is a good start. Start filling in the blanks of your system block diagram.
 
Top