If you are a parent of girls below, like, 12 years, you may have heard about Hatchimals: "adorable" toy animals that "communicate" and "learn" (spoiler: they don't really, google it). They were quite the rage about a year ago in the US and other parts of the world.
It is basically Furbies all over again. And while Furbies have evolved to "Furby Connect" and now speak Bluetooth, Hatchimals do not (yet).
So my daughters were discussing wishing for Hatchimals last Christmas, but Lego won out. And when the topic was brought before me, my question was: can it be programmed? And so we googled and found: probably not.
But about two weeks ago, there was a sale on discounted toys (yes, double discount) and my daughters decided to spend combined pocket money to pick up a set of "Hatchimal Twins" for almost just half the price.
Everything is a learning opportunity on "how things work", and when we found that they could "communicate", we tried to find out how. First we googled and found nothing (Really, Internet?! Nothing?!). So we pointed a cheap digital camera at both of them and, hello, Hatchimal Twin A does have a IR LED in it's left eye which is easy to make out. (The IR LED of Hatchimal Twin B we could not see with the camera, but when we put it in front of the IR receiver later, we also saw communication.)
AnalysisSo I guessed 940nm and hooked a two-legged 940nm IR-Received up to an Oscilloscope and saw "something". Getting to details became frustrating fast and so I guessed again 38kHz and got myself a three-legged 940nm, 38kHz IR-Receiver VS1838B (found out later that a TSOP34438 might have been better) and here we go:
So this confirms that the communication is via 38kHz 940nm Infrared. And there are at least two kind of messages, above is one, and here is an other one:
The next step is to find out if this is one of the "standard" protocols and if so, which.
To do so, lets look at some of the time frames involved. For example, the first "low" is about 8-9ms long:
And the one after that is a bit longer than 4ms:
So everybody who has had a look at IR protocols will probably jump to the conclusion that this is the "NEC Protocol" as described here or here. So next we should look for total transmission time, which should be about 67.5ms:
Hmm, looks about right, no? I have no idea if the missing two milliseconds are due to measurement inaccuracy or something else or maybe this is not the NEC protocol. So for now I will assume, it is.
Next, lets count the bits. For this, lets zoom in a scroll to the right a bit:
So the message is 32Bit, which is in line with NEC protocol expectations and it is:
00000010.11111101.01000100.10111011
Which equals (hexadecimal) 0x02, 0xFD, 0x44, 0xBB or (decimal) 002, 253, 068, 187. The binary notation above also shows that the second 8 bit are the inverted first 8 bit (and the same again for third and fourth 8 bit), which is also in line with NEC protocol. At this point, we can confidently assume that the protocol is in fact the NEC protocol.
Here is an other message that we have observed:
00000010.11111101.10010100.01101011
The first two 8 bit are address, the second two 8 bit are command. So we have the same address, but a different command: 0x94, 0x6B
Here is an example of what Hatchimal A sends after being turned on and no interaction:
- 0x2FDA05F hello
- 0x2FD44BB
- 0x2FD44BB
- 0x2FD44BB
- 0x2FDA05F
- 0x2FD8877
- 0x2FD08F7
- 0x2FDA05F
- 0x2FDE01F this seems to be the seeking hello
- 0x2FDE01F
- 0x2FDE01F
Also, this seems to be "I am cold":
- 0x2FDD02F (repeated three times with pause)
Other observed messages:
- 0x2FDF807
- 0x2FD7887
- 0x2FD906F
- 0x2FD807F
When the twins "communicate", we observe:
- 0x2FD24DB
This is work in progress. If you have any insights whatsoever to offer, or an interesting question, please let me know. English or German is fine.
Comments
Please log in or sign up to comment.