Related but a nod from a toy engineer to parents: my daughter had a toy baby gamepad when she was little. The D-pad and four buttons made different sounds when pressed. I decided to try the konami code (up up down down left right left right b a) and it went through a special sound sequence then said, "you win!"
The toy emitting "ut oh" on invalid input reminded me of a phonics toy - I think it was either a schoolbus or caterpillar, where phonemes could be pressed and it would sound them out "g-oo-d" "d-aw-g" - but if as a bored parent you tried "sh-ih-t" or similar it would emit "sh-<heeheehee>" I always wondered if it was localized per-market.
I've had the idea of making clones of the most popular baby toys, but make the volume on them much, much lower. Exact same toy, much less volume. There you go, billion dollar idea. Run with it.<p>I don't get why all the children's toys need to be so loud. These things are held inches away by a child with presumably good hearing, yet they can be heard rooms away.
I found it fascinating how my baby/toddler used to somewhat often get iPhone UIs into a weird state. Like it was half rotated, or had UI elements weirdly stuck in places they shouldn’t be.<p>Clearly iOS has bugs where this can happen, but it requires a combination of actions that would be very bizarre for anyone older than a few years to be able to do consciously.
It's fun being an engineer and a parent. You find yourself just naturally exploring these things. I came to the same conclusions about the toys with the binary switches, and also tried to do the unused combos.<p>But my favorite were the toys that require the kids to twist or push buttons in a sequence. It had no batteries so it was all mechanical, and it was fun trying to reverse engineer the mechanics so that it only opened the door when the right combo was used, but also didn't seize up when the wrong combo was used, and you didn't have to "reset" it to start over.
I remember encountering an arithmetic toy which had buttons for 1-9, as well as +-*/. If you pressed 6/2 it’d go “three”, but 7/2 would be “Haven’t learned that yet”. Though that was pretty fun.
Kind of reminds me of Gray code, who's whole shtick is being a sequence which only changes one bit at a time. If you see two bits change you know it's an error condition and can handle that explicitly.<p><a href="https://en.m.wikipedia.org/wiki/Gray_code" rel="nofollow">https://en.m.wikipedia.org/wiki/Gray_code</a>
One of the vocabulary words in the TI-99/4A's speech synthesizer accessory was "UHOH". If you used CALL SAY from Speech Editor or Extended BASIC, it would spell out words that weren't in its vocabulary and emit an "UHOH" for any symbol it didn't understand (and it understood very few, mainly + to reduce the delay between words like "SIX+TEEN" and # for multiword vocabulary items like "#TEXAS INSTRUMENTS#" and "#HANDHELD UNIT#" (early TI-ism for joysticks)). If you made the mistake of leaving alpha lock off and typing your speech string in lowercase, you got a long stream of UHOHs.
Not exactly a toy, but there was a talking wristwatch for the blind that would sometimes say something like "the time is: three, equals, memory clear, PM". Apparently the company, who also made other hardware for the blind, decided that it was less costly to manufacture one kind of chip for both the calculator and the watch, and then have some way of telling it which device it is, probably a pin that was either always 0 or always 1. When the battery was running low, something weird would happen and the wrong sample would sometimes play.
Once you recognize this you see it all over the place in kids toys. The current "toy record player" for example uses this - the "grooves" in the disk are just to press the switches in the "arm".<p>This one: <a href="https://www.walmart.com/ip/Fisher-Price-Classics-Record-Player/33359799" rel="nofollow">https://www.walmart.com/ip/Fisher-Price-Classics-Record-Play...</a> (the old 1978 one was just an actual "record" player).
I also recently analyzed the binary encoding of a baby toy.<p><a href="https://aaron.axvigs.com/content/leapfrog-fridge-phonics-decoded" rel="nofollow">https://aaron.axvigs.com/content/leapfrog-fridge-phonics-dec...</a>
We have this remote control spider thats fun but a pretty low quality Shenzhen special. One of the silly things about it is you can “crash” the code by managing to press forwards and backwards at the same time. The result is that it permanently tries to go forwards until you remove the batteries.<p>Toy software and error handling is fascinating and often fun to find the bugs.
Now if only we could get error handling in products for adults! It is astonishing to me and my friends how utterly useless so much modern tech is when things go wrong. It seems the default now is just an "oopsy doopsie, something went wrong! sowwy" message usually accompanied with some attempt at charming art or just a sad face emoji. Half the time we don't even get an error code, let alone a course forward to debug it.
When I was a kid, I saw a toy phone that would normally play DTMF tones when you pressed a key, but also had hidden sounds for different key combinations. This was at a family gathering, so I was naturally very bored and brute-forced them all, at least the 2-key ones. I don't remember what all the hidden sounds were, just different ringtones I think.<p>Now the engineer within me wonders if the DTMF tones it played were actually accurate.
I couldn't really understand this paragraph. Maybe I need a worked example?<p>> Bit rotation can be implemented using a combination of bit shifting and or operations, and on a hardware level, with different locical XOR ports. That’s of course just one way, and you still need a way to identify the number without confusing it with another figure. Although I don’t think that last was implemented: if you select your starting bits in a smart way, there won’t be any overlap. The identification system here uses 14 bits, and all of the figures have either 6 or 7 1s, making it even possible to completely ignore bit rotation and just rely on the relative position of the enabled bits to do the identification. I’m of course merely guessing at this point.<p>Not sure what it means to "completely ignore bit rotation" and "just rely on the relative position of the enabled bits", those sound like the same thing to me.<p>To throw my speculation out there, I wonder if this is just done with a lookup table. If we use a byte (generous) to identify each figure, then a table indexed by all 2^14 bit patterns will take less than 17kb. No need to do anything more clever.
> That said, this article proves we have way too many battery-powered toys that make noise…<p>I was never bothered by that. The real trial by fire for a parent are wooden toys - really loud when they hit the floor, can actually hurt and don't have any batteries to pull out.<p>Anyway my daughter has the most recent generation of Furby given by a friend of mine working for Hasbro, whose annual bonus is apparently paid in kind.<p>The toy is pretty sophisticated with actual, though rudimentary, voice recognition and the ability to detect and record speech, which it repeats to you with different effects, but outside from that follows a pretty strict script and I was unable to produce any errors.
Had two with tiny chiptunes ICs. 1990s vintage. A keyboard had a "turn me off" beep sequence and then did a 2 tone "battery flat" and stopped. The other was a flip phone which played "merrily we drive along" if you pressed a magic key sequence we never memorised, and faked out a police car siren on another, which was moderately distressing.<p>The keyboard had 2 key rollover and was a bit bistable which one persisted. I think the keypress reader algorithm was possibly on a slow timer?
I’ve spent a bunch of time disassembling a baby toy recently to do some circuit bending / adding to my synth setup. I’d be curious if anyone here has done any of that and has any fun results to share. I got stuck because I need a more precise soldiering iron, but hope to post some results at some point.
'Toet toet autos' and 'Zoef zoef dieren' seem the same thing, electronically. I think they even share track width. I forgot what happens if they meet each other's codes.