Adding quality audio to an electronic project is surprisingly difficult. Here is a shield for Arduinos that solves this problem. It can play up to 22KHz,
12bit uncompressed audio files of any length. It’s low cost, available as an easy-to-make kit. It has an onboard DAC, filter and op-amp for high quality output. Audio files are read off of an SD/MMC card, which are available at nearly any store. Volume can be controlled with the onboard thumbwheel potentiometer.
This shield is a kit, and comes with all parts you need to build it. Arduino, SD card, tools, speaker and headphones are not included. It is fairly easy to construct and anyone with a successful soldering project under their belt should be able to build it.
The shield comes with an Arduino library for easy use; simply drag uncompressed wave files onto the SD card and plug it in. Then use the library to play audio when buttons are pressed, or when a sensor goes off, or when serial data is received, etc. Audio is played asynchronously as an interrupt, so the Arduino can perform tasks while the audio is playing.
Can play any uncompressed 22KHz, 16bit, mono Wave (.wav) files of any size. While it isnt CD quality, it is certainly good enough to play music, have spoken word, or audio effects. Check out the demo video/audio at the webpage
Output is mono, into L and R channels, standard 3.5mm headphone jack and a connection for a speaker that is switched on when the headphones are unplugged
Files are read off of a FAT16-formatted SD/MMC card
Included library and examples makes playing audio easy
Please note that the library is rather bulky, requiring 10K of flash and more than 1/2 K of RAM for buffering audio. It works fine using an ATmega168-based
Stop breadboarding and soldering – start making immediately! Adafruit’s Circuit Playground is jam-packed with LEDs, sensors, buttons, alligator clip pads and more. Build projects with Circuit Playground in a few minutes with the drag-and-drop MakeCode programming site, learn computer science using the CS Discoveries class on code.org, jump into CircuitPython to learn Python and hardware together, TinyGO, or even use the Arduino IDE. Circuit Playground Express is the newest and best Circuit Playground board, with support for CircuitPython, MakeCode, and Arduino. It has a powerful processor, 10 NeoPixels, mini speaker, InfraRed receive and transmit, two buttons, a switch, 14 alligator clip pads, and lots of sensors: capacitive touch, IR proximity, temperature, light, motion and sound. A whole wide world of electronics and coding is waiting for you, and it fits in the palm of your hand.
Biohacking — Vitamin-C + Gelatin for Accelerated Recovery
Python for Microcontrollers — Maintainable code is more important than clever code, FEATHER contest with Digi-Key + Hackaday, and more! #Python #Adafruit #CircuitPython #PythonHardware @circuitpython @micropython @ThePSF @Adafruit
Get the only spam-free daily newsletter about wearables, running a "maker business", electronic tips and more! Subscribe at AdafruitDaily.com !
This is cool. I took a quick (10 minute) look at the documentation and schematic (but not the source). Sorry if some questions/suggestions are dumb…
1.0. Usability questions pop-up…
1.1. How do you safely insert and remove the SD-card? I presume it is read-only in this application But keep in-mind SD on-card “write protect” is not reliable in my experience.
1.2. So this can play only ONE .wav file on the SD-card? Is there a button to play next file etc. or does it just roll into the next file? The documentation seems to be clear that it can’t play two files at once, but how does it play multiple files individually on the SD-card?
2.0. Enhancements (let’s add to the code)…
2.1. We need a button input to “commercial skip” when listening to podcasts (for-example). 5 second increments, better if multiple clicks add-up for longer 5 second increments. Or, are we in violation of some Government Nonsense like the DCMA if this is implemented?
2.2. We need a way (another button?) to “bookmark” where we are in the playback. Again, important for Podcasts and especially audio books. So when we stop the playback we start when we left off. It would be great if the “bookmarks” would reside on the SD-card and read when inserted so we can use multiple cards with bookmarking.
hey @drone, post up in our forums and we’ll able to assist you with the technical questions, thanks!
those features sound interesting, the code is all open source, hack away!