Hi Jim, thanks for the message. I always appreciate people double-checking and digging into the technical details of our projects! That's a cool approach to slow down the data and transcribe it. You can also really increase the programming delay from the default of 40 ms to something very long like 1000-5000 ms, and write down the color of the data square each time the clock square changes. Also, we added a secret debug mode to the programmer website that I don't think I've told anyone about before. If you add "?debug" to the end of the blinky programmer website address, it shows a few additional boxes with the raw message bytes at the end of the webpage (the boxes are only updated when you press the Go button).
For a simple text-marquee-advance-delay7 message of "Hello", this becomes (all bytes in hex):
The first byte 01 is the overall number of messages (1 here). The second byte (1E) is the config byte of the first message, meaning text message, marquee message, delay7, advance after mesage. The third byte (05) is the number of bytes in the message (H-E-L-L-O). Then the five characters of the message itself.
From here we wrap the message bytes in the hex records:
The first byte (08) is the number of data bytes in this record, which are the 8 bytes above. The second and third bytes are the address (0000). The fourth byte (06) is the record type, which is a custom record type we just made up for the blinky transmission protocol (types 0-5 are already in use). Then we have the eight data bytes 01..18, plus the checksum (6D).
The "00,00,00,01,FF" bytes are the final record. Data bytes = 00, address = 0000, record type = 01, (no data bytes), and the checksum = FF. This record type is "End of File", and signals the blinky bootloader code to start running the user code with the newly-uploaded messages.
So, now to the bytes you pasted:
0E - 14 bytes in this record
0000 - Store to address 0
06 - Record type 06 (New blinky messages)
01 - (first actual data byte = 1 message to come)
1E - (second data byte = Message 1 configuration byte)
0B - (third data byte = Message 1 number of bytes)
00 00 00 01 FF (record type 1 = start running the blinky code)
I hope that helps, but let me know if you have any further questions.