The Toniebox is a toy that plays stories and songs for kids to listen to. Audio content can be changed by placing different NFC enabled characters that magnetically attach to the top of the toy. It can play audio via its built-in speaker or through a wired headphone connected to the 3.5 mm stereo jack. Using the built in speaker could sometimes be quite an irritant, especially if the parents are in “work from home” mode. And wired headphones are not a robust alternative, specially if the kid likes to wander around or dance while listening to the toy. We guess the manufacturers didn’t get the memo that toddlers and cables don’t mix well together. Surprisingly, the toy does not support Bluetooth output, so [g3gg0] hacked his kids Toniebox to add Bluetooth audio output.
[g3gg0] first played with the idea of transmitting audio via an ESP32 connected to the I²S interface, running a readily available A2DP library. While elegant, it is a slightly complex and time consuming solution. Using the ESP32 would also have affected the battery life, given the ESP32’s power hungry nature.
Instead, he decided to use an off-the-shelf Bluetooth module to simplify the hack. The KCX_BT_EMITTER module supports Bluetooth ver 4.1, so he expects battery life to be unaffected. The six connections between main board and module are straight forward. Power +5 V, power ground, audio left, audio right, analog ground, and a headphone detect signal to disable the internal speaker when Bluetooth headphone is connected. In the absence of easily accessible through hole solder pads, he soldered thin enamel copper wire to through hole vias. According to [g3gg0], some of the later hardware versions of the toy have masked solder vias, which need to be exposed to solder the connections.
The Bluetooth module has a LINK output which goes high when a connection is established with the headphone and can be used to drive an indicator LED. [g3gg0] connected this output to the gate of a generic, SMD, n-channel MOSFET to pull down the MICDETECT pin low. This causes the toy to switch to headset mode, disabling the speaker. An alternate mechanical hack to headphone detection is to use a 3.5 mm jack with its cable cut off and wiring a 1 kΩ resistor between tip and GND.
Check the video after the break for a quick overview of this simple, but useful and effective toy upgrade. While this hack registers at the dead simple end of the spectrum, [g3gg0] has cranked out some nifty ones too, such as this amazing DiY Wireless Serial Adapter that Speaks (true) RS-232.
“While this hack registers at the dead simple end of the spectrum, ”
Why are you degrading this idea and work?
In my book this is more useful hack than most of the ones on Hackaday – this is a real hack which increases the quality of life of the users and usability of the product, and is explained good enough to be reused in other similar projects.
By no means was the intent to degrade. In fact, just the opposite. Just wanted to highlight that simple hacks like this can be just as useful, if not more, than other, more complex projects.
The best hacks are the easy useful ones…
No worries, I see it as a dead simple, but helpful hack myself.
So I share the term “simple end” :)
In my book simple is a positive compared to complex, I took it as a compliment and not in any way degrading.
Some extra info including links to other projects and the at command reference information
https://www.electro-tech-online.com/threads/kcx_bt_emitter-low-cost-bluetooth-bt-audio-module.158156/page-3
I would pay $50 for muting speaker when going headphone, and a button to turn xxx volume on.
Imo the ESPuino is a far better candidate to fill that itch.
https://github.com/biologist79/ESPuino
Not for me – the Toniebox is a solid piece of hardware and easily hackable.
Just look on gambrius’ blog and check what’s possible.
But if you are into making everything on your own, why not.
Maybe some day ESPuino can run on a Toniebox, then it will have a proper, child-robust hardware.
Thanks g3gg0 for mentioning my Blog.
Here is the URL for everyone who is interested what we as [Team RevvoX] (g3gg0, honeybee and myself) where able to do with the Toniebox.
https://gt-blog.de/toniebox-hacking-how-to-get-started/
And be ensured, there is a lot more to come. Just stay tuned.
ESP has the ESP-ADF with many examples of all different kids of audio projects. I’d say start there before looking at a separate git repo doing their own A2DP lib.