This is the first in a series of articles covering the design and construction of a gadget geocache using sound. Along the way we will discuss MP3 player modules, imagining the story for the cache, creating sounds, puzzle construction, and Arduino programming. Don’t let that last part scare you! The MP3 player in this project can also be used without software control if you prefer, but give the Arduino a chance. It is possible to program the Arduino graphically to avoid worrying about syntax and you will see an article on how to do it as we build this cache together. Yes, together – I’ll be documenting development of this cache as I go, so you will see the ups and downs of the process.
This cache idea came from finding an interesting MP3 module. You may remember the fun I had with counterfeit DFPlayer modules in an earlier build. The actual DFPlayer works great and I certainly recommend it. This time I wanted a module where an Arduino could be used but was not necessary. I tested three different MP3 modules with very different features. Let’s check out those three modules and see what I picked for the build. Some images are mine, and some are from the sale listings or datasheets for the modules.
TEST 1
The smallest and simplest of the three modules sells for around $1.50 each on Amazon and even less from some online sellers. It has no buttons and no network interface.
Media: MicroSD card
Power Supply: 3.7 to 5V
Amplifier: Mono
Power Connection: Solder
Audio Out Connection: Solder
Controller IC: GPD2856 (or GPD2846)
I tested with a 32GB FAT32 formatted microSD card. At power on, the module always starts playing the first sound file at a loud but not maximum volume. There is a slight pop from the speaker before the first sound file plays. The files are played in the order they were loaded to the card, not in order of the file name. While there are no control buttons, there are solder pads to add buttons. The three pads give:
Pervious/Volume down
Play/Pause
Next/Volume up
The volume from the included 0882A 2-watt amplifier is sufficient to drive a speaker for most uses. While the GPD2856C IC on my example has other abilities, they are not used here.
These modules are cheap and nearly foolproof. I like to use them when a single sound is desired without any control interface. If you are looking to play a single sound of your choice, even a long one, with no electronics skill needed this is a good choice. For more info, check out a deeper review of the module here.
TEST 2
The second test module is like the first, but has control buttons and more input and output options.
I have two of these modules, one with a GPD2856C controller IC and one that has a house marking I’m unable to find on the web. Either way, they work the same.
Media: MicroSD card or USBA thumb drive
Power Supply: 3.7 to 5V
Amplifier: Mono
Power Connection: Solder or micro-USB
Audio Out Connection: Headphone or terminal blocks
Controller IC: GPD2856 (or GPD2846)
I tested with a 32GB FAT32 formatted microSD card. At power on, the module always starts playing the first sound file at a loud but not maximum volume. There is a slight pop from the speaker before the first sound file plays. The files are played in the order they were loaded to the card, not in order of the file name. Using the micro-USB port the module appears as a drive under Windows, but isn’t detected as a sound device. The four buttons on the board are:
Next/Volume up
Previous/Volume down
Play/Pause/Mode
Repeat
This module works best as an out of the box MP3 player with its included control buttons. Prices on Amazon range from around $6 each to as low as eight modules for $15. Functioning much like our first example, this module is also suitable for a simple connect power to play application. I used one of these modules in an escape room where a skull needed to activate glowing green eyes and talk to the players. This diagram can be found in a datasheet for the module.
TEST 3
The third module tested has many options for control. It is often called DY-SV5W but mine had no markings on it for that part number.
Media: MicroSD card
Power Supply: 3.7 to 5V
Amplifier: Mono
Power Connection: Solder or micro-USB
Audio Out Connection: Headphone or solder
Controller IC: DY1703A
The big benefit of this module is its ability to have different control schemes. The datasheet for the module explains the details.
It can be controlled via two different data interface methods if you have a microprocessor in your design. It can work with push-buttons like a simple MP3 player. But what makes it stand out are the other four modes.
The eight individual input pins can be used to play song files 1 through 8 either playing to the end of the file when triggered or only while the trigger is active. The same eight inputs can also be used to play songs 1 through 255 (8 bit binary word length). This module lets you call up to 8 files with simple switches, or up to 255 if you know some binary! I found that the module needed to be power cycled after changing the dip switch settings when changing modes. The module does not start when power is applied and there is no power on pop from the speakers. Sound files are played based on their name, from 00001.mp3 to 00255.mp3 or more no matter what order was used to load them onto the memory card. Even with all these features, these modules sell for as low as $5 on Amazon. To me, this is the perfect module for gadget building because it can be as simple or as complex as needed for almost any design.
Important! The amps on many of these modules are BTL amps, meaning they use two outputs per speaker and do not connect one side of the speaker to ground. Please be careful if you try to feed the output from the MP3 module to another amplifier for more volume. Using a second amp that is referenced to ground like the common LM386 will damage the output on the MP3 module.
Next time I will explain my idea for the gadget cache. Like most good puzzles, this one allows the cacher to play out a simple story to find the solution. If you will be building along with me, your homework assignment is to investigate your local cryptids.