carpenecopinum 23 minutes ago

Besides being a great project, this device reminds me a lot of the Technifant (https://technifant.de) which, under the hood, is similarly simple. The "hats" that you put on the Technifant contain a cheap USB thumb drive with the contacts soldered to a magnetic connector. All the audio is stored locally on the hat itself, and you can even add your own MP3 files with a cable provided by the manufacturer.

dmd 3 hours ago

I had grand plans to build something like this when my kids were small, but ended up building this https://github.com/dmd/nkplay/ instead.

It's just a rpi plugged into a standalone numeric keypad, acting as a jukebox. Playlists are numbered.

By the time my kids were about three, they could enter the numbers on their own, and by four they had memorized the playlists so well they didn't look at the printed catalog any more.

  • dukoid 2 hours ago

    I wonder if one of the Anberinc (or similar) devices with single-purpose software would be an option for people shy of going into hardware...

theamk 12 hours ago

For people who are thinking about getting into electronics: that project is very complex for what it does. Nothing wrong with it as long as your goal is to learn advanced fabrication techniques, but most people don't need any of this stuff for one-off, home projects with no strict low price / small size requirements.

The main culprit is that "custom ESP32-S3 board" - in this application, it is equivalent to a combination of a random off-the-shelf ESP32 board and a separate battery charger/protector. Half of the equipment on the list (hot air, hot plate, microscope, logic analyzer, etc...) is only needed for this board.

Weirdly enough, the rest of the device is a solid design, suitable for someone with "a few months" of electronic experience: lots of pre-made modules, and designing a carrier PCB for them. This means large and easy to solder 2.54mm hole spacing, regular soldering iron, no microscope, etc.. It's a really weird contrast for me....

  • badlogic 8 hours ago

    This surely could be recreated with off-the-shelf components, no question. It would be a bit of a challenge to stuff another breakout board into the available space, but certainly doable.

    But there's a reason for doing the custom board. As my projects get smaller in size, I need to get away from breakout boards. This project was a good fit to come up with sub circuits for different tasks that I can just copy and paste onto a new design, say for a little gaming handheld, or a micro RC car with a much thinner/smaller form factor.

    What might be overkill for the current project might be the enabler for the next project. And it let's me iteratively learn new skills.

    That said, I might do another version of this with off the shelf parts only for easier reproducibility.

    • avinassh 6 hours ago

      > This surely could be recreated with off-the-shelf components, no question.

      I would love to know how does one go about doing this with off-the-shelf components. Can you share more, please

      • badlogic 4 hours ago

        Replace any custom PCB with off the shelf breakout boards. Redesign the enclosure so the breakout boards can be mounted. Instead of a custom motherboard PCB, solder wires between the pins of each breakout board, sprinkling through hole resistors and capacitors around where needed.

        Since I didn't go down that route, I don't jave any recommendations for breakout boards that could do the job. I'm also not sure if the assembly is any easier than the assembly of my design.

  • oniony 6 hours ago

    The weirdest decision, for me, was putting the music on the cartridges, so that each cartridge needs an SD card holder and SD card.

    I would imagine putting all the music on the device and just giving each cartridge an address would have been considerably cheaper and easier. This could have been electrically, connecting different pins of the existing battery holder solution; mechanically, such that each cartridge has a key shape that depresses different microswitches in the device; magnetically, using magnets on the cartridges; or optically, using different pattern holes on the cartridges and leds with optical sensors on the device.

    I think, personally, I would have gone the mechanical route and just have an array of switches in the device. Then the cartridges can be simple plastic keys and the device can draw no power when there's no cartridge.

    I think the Fischer Price record player worked this way: https://www.amazon.co.uk/Fisher-Price-Interactive-Packaging-.... The tracks on the record form a binary number and the record player head has mechanical switches.

    • badlogic 4 hours ago

      I actually went with a design like you proposed in the first iteration. It turned out to be more time consuming than the SD card solution, specifically for my non technical SO. Now, she just stuffs an SD card into her laptop, transfers files, puts the card into a prepared cartridge, and sticks a label on it. The cartridges can be ordered fully assembled, so she doesn't have to solder anything.

      With a fully mechanical solution, she would still have to extract the SD card from the player (or I spend considerable more effort on the software side, so the device can somehow also act as a mass storage device when connected via USB, givng access to the internal SD card), print or construct the "key", stuff the key into a cartridge and label the cartridge.

      There's no great practical difference. The only difference is a higher per cartridge cost. Since that's around €2.50 and could be further reduced by bulk orders, I was fine with this design decision.

    • buran77 5 hours ago

      A couple of years ago, inspired bu the Tonie box, I built a similar yet much simpler device for a toddler in my family but without such a lofty goal of the learning experience.

      I wanted to retain the same "always offline" and "physical" aspects of the experience. I used NFC labels hidden under the cover art label on old (edit: not SD) CF cards because I had a bunch of old ones around and they were all standard size and not easy to swallow. An internal microSD that held all the files needed. Plugging the cartridge in the fake socket which was actually just a hidden power on switch would trigger the playing of a specific file. It's a tad more maintenance heavy but much quicker to pull of.

      • asyx 5 hours ago

        That’s essentially what Tonie boxes do. They have internal storage and NFC stickers on the figurines. The box is then caching on the SD card and playing from their based on the ID on the NFC chip. If you take the box offline, it can still play the stuff on the box because of that.

        • buran77 5 hours ago

          With the very big difference that in my case it never needs to (or can, really) be connected to a network and someone else's service [0]. Only to the "parents' service", which was a more convoluted experience for them. They had to manually transfer the file to the internal memory, link it to the NFC label, and print an appropriate cover art label.

          It was also interesting to see that when all the kids were gathering around with their toys they were all gravitating towards the one none of them had. But that was an unintended side effect.

          [0] When I first heard of Tonies my mind jumped at the idea that the content is stored on the figurine and somehow wirelessly transmitted to the box. The child, parent, and engineer inside me were all thoroughly disappointed this is not the case, and even more so at the perspective of the service being stopped one day or who knows, monetized more aggressively.

          • mattkrause 2 hours ago

            We have a Yoto player, which works ina similarly (NFC chip as a “pointer into their web service, content cached on the device). I was pleasantly surprised to see that they promise that it’ll will work for at least five years after they stop selling the current version.

            • buran77 an hour ago

              > I was pleasantly surprised to see that they promise that it’ll will work for at least five years after they stop selling the current version.

              That disclaimer makes me even more uneasy. It implicitly says the toy might stop working after. You bought a toy, you didn't rent it or buy toy-as-a-service. There's no reason the device shouldn't work forever or for as long as it's in good enough condition to operate. And there's no reason you shouldn't own the content on that toy or be free to supply your own forever.

              If you buy an audio cassette and a player they work until they fall apart. Here you need to rely on the goodwill of the seller to allow you to keep using them as long as they don't compete with their newer product too much.

              I strongly believe that the better option for anyone who can opt for it is something that relies on no online components even if it's more elbow grease for the parents.

  • nine_k 11 hours ago

    I suppose this project served as a source of joy not only to the kid, but to the maker, too. It likely was a good excuse to do a lot of stuff that's not strictly necessary but is fun to do, and buy a lot of gear that's not strictly necessary but is a pleasure to use. The result is somehow better and more solid due to that, too.

    Regarding the solidness of the mechanical design, I have my doubts. The volume know is too small, and too close to the navigation buttons. The speaker grill is too coarse, allowing small items to easily drop inside. The cartridge attachment is not sturdy, not self-adjusting, and relatively easy to snap off. If anything, I would rework the mechanical part. (Alas, my kids are too old now.)

  • addandsubtract 2 hours ago

    > For people who are thinking about getting into electronics: that project is very complex for what it does.

    For people who want to get into electronics, I can recommend getting started with an LED strip, an ESP32 and WLED. You can dip your toes into soldiering, and using an ESP32, for very cheap and with a large margin of error.

  • jtwaleson 10 hours ago

    Agreed, and it seems to stem from the NiMH requirement. Maybe designing a protective shell around a LiPO battery (to avoid puncture damage) would have made more sense?

    Pretty impressive work though! I think you must have learned a lot. I've spent quite some time on about 5 different projects that were way less polished, but it seems we have picked up the same level of skills along the way. The post is very recognizable ;) Looking forward to the your project!

fsckboy 3 hours ago

>I also need an IC to convert the I2S signal (currently sent to the MAX98357A) to a headphone output. I haven't researched options yet. The motherboard will need additional routing to send the I2S signal from the ESP32-S3 to both the MAX98357A and this new IC. Suggestions welcome!

isn't a headphone just a high impedance speaker? you just grab the same output that goes to the speakers and reroute it through a big resistor to the headphones.

did a little searching, here you go (the extra resistance isn't that great)

https://samtechpro.blogspot.com/2014/03/how-to-use-speaker-o...

i suggest put efforts into stereo for speaker and headphones, more pleasing, and wouldn't stereo set the stage for truer brain development?

neilv 5 hours ago

When 3D-printing toys for young children, are there any safety tips to know?

(I'm wondering things like material toxicity, microplastics, teething hazards, swallow hazards, fracturing to sharp pieces, rounded corners, etc.)

  • badlogic 4 hours ago

    I used PLA, which is a non toxic bio plastic. ABS is also an option for at-home 3D printing, which is the material used in lego bricks. At his age, he doesn't put anything in his mouth anymore, so swallow hazards were not a concern. That said, the only thing that's small enough for him to swallow are the buttons and the knob, which can not be detached from the device without unscrewing the enclosure. If he is able to do that, nothing is save.

    • herbst 4 hours ago

      Pretty sure the issue with 3d printing materials is that they contain additional materials other than PLA and ABS for proper melting and flowage and those could indeed be an issue.

      I have some actually recyclable PLA but even that has no real no toxicity rating.

      • badlogic 3 hours ago

        That's good information, thanks!

  • herbst 4 hours ago

    Next to what others have said (pretty sure there are only very few PLAs who are even close to actual non toxic in terms of small traces of helper materials) but there are finishings you can use to make it food save!

    I wouldn't eat from it, but it works and would pretty much solve any issues.

    Pretty sure those finishing resins are marketing to finish Beton and stuff like that.

  • lawn 4 hours ago

    You should never put anything 3D printed into your mouth, regardless if you swallow it or not, because 3D prints aren't "food safe" and may release small pieces.

    Also, some materials are hazardous to print (ABS or resin for example) but fine when they've cooled down.

JansjoFromIkea an hour ago

I really like this, it looks great!

Did you investigate using a MiniDisc player at any point? I could see a minidisc player with some kind of shell and a DIY inline remote working with relatively little. Never actually used one enough to know how much they'd withstand a kid though!

scosman 14 hours ago

This is brilliant. Great design and great work. I love that the cartridges actually hold the content and aren't just NFC tags.

For lazy parents like myself: check out a Yoto player. It's web-connected, has limited internal storage, and the cards are just NFC cards -- but it is easy.

  • taco_emoji an hour ago

    We have a Yoto and it's okay, but my complaint is how difficult it is to get custom stuff on there. The "record-your-own" cards are expensive (and often unavailable, like during this past Christmas season), and off-the-shelf NFC cards don't work perfectly (you have to ensure the content is downloaded onto the device before a generic card will work for that title).

  • jdhawk 2 hours ago

    My kids love theirs, and we get tons of comments from other parents since they'll happily listen to stories on them instead of begging for a screen.

    They swap cards with their friends, and so long as its on a wifi connection the first time the card is inserted, the local storage is plenty enough to keep the cache there for offline use.

  • turtlebits 13 hours ago

    Actual cartridges makes sense if there are other players, otherwise a PCB and SD card seems like a huge waste over a nfc card that costs a few cents.

    • badlogic 3 hours ago

      I'll be building a few of these for the kids in the neighbourhood. I hope they'll start swaping and trading like we did with our Gameboy games.

  • mc3301 14 hours ago

    Bonus: The yoto a nice 'normal' bluetooth speaker, as well.

gvalkov 8 hours ago

I recently built something[1] similar, though with far less effort and sophistication than the author. The goal was to have a plug-and-play audiobook player for an elderly family member with impaired vision. In retrospect, it would have been better to adapt an old phone or tablet with a macropad rather than build this on top of an espmuse speaker[2].

I keep thinking that a cassette player would be the ideal interface for something like this. The controls are as obvious and as tactile as it gets and the whole analog-mechanical experience is familiar to folks from that generation. If only tapes could hold more than two hours of audio ...

[1]: https://www.printables.com/model/1269288-audiobook-player

[2]: https://raspiaudio.com/product/esp-muse-luxe/

icoder 5 hours ago

Cool! I'm working on something comparable, but with the audio stored on a single SD and playback triggered using an RFID tag that we can than stick on wooden figures made by my GF (or anything 3D printed).

I'm still iterating over hardware, realising Pi Zero is a bit of overkill, using too many NiMH batteries in series may actually break those batteries, that ESP8266 has much less GPIO's available than the module design suggests, among other lessons learned.

My current approach is Pi Pico (ESP32 was the alternative) with a DfPlayer Mini and a 32GB SD card.

The DfPlayer isn't too keen on running on 3v3 from cheaper LDO's (which are on the modules I'm using) so my current approach uses a small power bank. That just offloads the hard part (for me) of battery management to the professionals. This weekend I added a few resistors and a transistor to draw extra power (0.5secs every 20 seconds) to keep the power bank awake.

But I have different LDO's and an ESP32 coming in, so it's not fully decided yet. Will for sure scan this thread and OP's article for more ideas!

sandreas 10 hours ago

Great post, thank you.

I had a similar experience a while ago and believe me that building such a thing is a SERIOUS investment in time - especially as a parent. While admiring the effort and the result, I can't recommend anyone to go for such a self-made device, if it is not for the learning experience and the fun of the project.

I've built a "Phoniebox"[1] and a "Tonuino"[2] and both were used pretty heavily by my kids. The biggest issue I experienced is the "creation" of media. While this should be an easy task, it just takes it's time. Creating the cartridge, printing the image, copying the file, etc...

As my daughter was getting older (>4) it was so much easier to just buy a CD Player and used CDs. In the meantime we use an old Smartphone (offline) as spare device with Audiobookshelf to sync the media locally and VLC Media Player to play them.

1: https://github.com/MiczFlor/RPi-Jukebox-RFID

2: https://github.com/tonuino/TonUINO-TNG

broken_broken_ 11 hours ago

Fantastic article! But when I read “inspired by the Gameboy form factor”, I thought the cartridge would insert much deeper, like a Gameboy (maybe not all the way so that the picture on the cartridge is still visible) . That way it cannot be accidentally yanked out. It’s probably a dust trap but it’s more robust and compact.

Ai_Summary 4 hours ago

Great idea, so many proprietary and DRM locked solutions exist, all incompatible with each other.

For power wouldn't an internally routed trace on the cartridge function better than the switch on a stick? the gold contact fingers could have been offset so it doesn't power up till fully inserted.

  • badlogic 3 hours ago

    That's an excellent idea that didn't occur to me! If I build a new revision, I'll give that a try.

ololobus 7 hours ago

I was wondering how cartridges are designed and I think it’s a very simple and elegant design — just wire the standard microSD card. Otherwise, I love such cozy projects. Even if they are not that efficient, they solve the problem and bring joy into someone’s life, both author’s and a small user (in this case).

OccamsMirror 14 hours ago

This is pretty awesome. Although disheartening that you ended up spending much more than just buying a Yoto player or Toniebox. But I'm sure the learning and accomplishment have been worth the expense.

  • badlogic 7 hours ago

    Just factoring in the BOM cost including 3D printer materials this comes out quite below a retail Tonie Box. The same is true for the cartridges vs. Tonie figurines.

    The tools are definitely a big expense, but are in constant use for other projects, so ammortize.

    What's not factored in is the time spent working on this. I don't feel too bad about it, as working on this essentially replaced watching shows or movie at night when everyone is asleep.

chaosprint 6 hours ago

this is very cool

i am also working with esp32 s3 but only write rust code

https://youtu.be/y2Hi9ThKcy8?si=yV8onefVb9o7MdHC

My goal is to send midi wirelessly.

I'm curious why you chose the ESP32? Because if you're working offline, the cost for its most well-known features - BLE and WiFi - would be unnecessary.

  • badlogic 4 hours ago

    I have about 25 laying around idle. And I wrote a little C framework around ESP-IDF, which simplifies the software part. I was also sure the ESP32 can decode MP3s in real-time without a problem.

  • zild3d 5 hours ago

    Not op but I would also just use an ESP32 since they're super cheap, I already know how to work with them, and there's a pile of em in the drawer.

    If producing multiple, yeah esp32 is overkill, but when cost is <$5 wouldn't be worth the time to make the project harder to get started

mongol 8 hours ago

> It's his daily driver, be it at the breakfast table or when going for stroll in his buggy.

This sounds so strange to me, but then I am not a native English speaker.

  • sigmaisaletter 5 hours ago

    "daily driver" originally used to mean "car to use every day", as opposed to "fun car for the weekend". Its meaning then broadened to mean anything which is the most-used example. Here it just means "my kid uses it every day".

HenryBemis 5 hours ago

Definitely NOT going to build that. I haven't touched a soldering iron in 30-35 years, and don't plan to do so again. Perhaps after retirement (and with some massive magnifying lens) I was thinking to buy and make some cool 'ready-to-built-kits' with silly stuff I don't really _need_.

But I do miss those days that I would blow a fuse because I made a mistake in the soldering.. heh.. good/fun days!

neuroelectron 4 hours ago

It's amazing what you can accomplish when abusing adhd meds.