Blinky Grid Easter Egg Not Working

Dear Matt & Adam-

I met you guys at the 2013 Maker Faire (Bay Area) but finally got to build the Blinky Grid SMT kit I bought there. It was my second time using a solder paste dispenser and hot plate and it worked great - built flawlessly in just 20 minutes or so. I’ve only had limited luck programming messages from your website.

My screen is on a 2012 15" MacBook Pro w/ Retina Display. I’ve successfully programmed in new messages, but only about every third or fourth attempt succeeds. During the others I inevitably get a checksum error somewhere in the process, although I try to hold the photo transistors as close to the screen as possible and as still as possible. (I’ve tried with them from touching the screen to about an inch away.) I’ve also only been successful with a delay of 50ms. Any faster and I definitely get errors.

My question though is that the Easter Egg doesn’t seem to work. I have my second message set to end with an Easter Egg (which I’ve read elsewhere is supposed to be a Larson scanner) but instead its as though I told it to End instead. That is, rather than going back to message one, the blinky grid just “shuts down” until I either press the button or cycle the power. While the second message is playing, the button does not do anything, whereas at other times it was automatically advancing to the next message. So I assume whatever instruction “play easter egg” is supposed to be on mine is instead not doing anything.

Any ideas? Thanks for the great product. It was a huge SMT confidence booster.

Hi Mark, thanks for the message. If your blinky failures are checksum errors, that usually indicates an issue with the data sensor (as opposed to the clock sensor), so you might take a look and ensure that you have good solder joints to the data sensor and resistor R2 (next to the pushbutton). Issues with the clock sensor tend to manifest as “stuck at end of programming” since it missed some clock edges.

In general, ensure that your screen brightness is at 100% (even 99% won’t work, as most displays just switch the backlight on and off rapidly to produce reduced brightness levels, which tends to mess with the programmer’s switching signals). Also try setting the delay to something absurdly long like 3000 and see if that works reliably. If so, reduce the delay until it stops being reliable.

You can also get a voltmeter or multimeter to measure the DC voltage between ground and the pin labeled + on each sensor during the programming process. Be sure to use a large delay like 3000 or 5000 so your meter has time to settle down after each transition. You should see a larger voltage when the sensor is pointing at a white box, and a lower voltage when the sensor is pointing at a black box. The chip observes this difference in voltage to sense the white and black boxes. What voltages do you observe?

It’s been a couple years since we wrote that code, but I believe that the easter egg only works on the blinky pov, sorry :smile:

Thanks for the feedback, we always love hearing from our customers!

Thanks for the quick reply, Matt! I checked the solder joints and they seem great, so I’m guessing the problem is in either my monitor’s brightness or the ambient light in the room. (i.e. That the flashing white square is not consistently enough of a difference between the dark one or the flashing one right next to perfectly trigger the photo transistor every time.)

That said, I set it to 100ms and it has worked every time, but my arm gets tired trying to hold it it steady up to the screen. So I grabbed it with a Third Hands and tested it a few more times with various messages and haven’t had any issues. I then tried lowering the delay to 75 and 50ms and I got CRC errors again, even with the alligator clamp holding it steady. But with 100ms working consistently, I’m happy.

(I tried uploading a picture of a ThirdHands holding your PCB up to the monitor, but then got a message that new users aren’t allowed to upload images.)

During development, we spent a ton of time testing the blinky programming process on as many combinations of OS, browser, graphics drivers, and displays as we could, and found an incredible variation in maximum-reliable-programming speed. The most important was the set your display to 100% brightness, and use Chrome.

I’m really glad that it’s working for you at 100ms. I totally understand that it’s a bit inconvenient to hold it up to the screen. While we were still developing the blinky programming code, I actually soldered each my sensors to two twisted wires (taken from a piece of ethernet cable) that I could position on the screen right over the flashing boxes, instead of holding the kit up each time.

Our original forum had a ton of trouble with spammers posting rather nasty images, so we are still quite wary about letting just anyone post images. I will investigate if I can give out photo-posting permission to individual users whom I have a reasonable confidence are actual humans :smile:

Thank you for mentioning the voltmeter on the sensor pins.

When I put the Blinky Grid into programming mode, the clock and data sensors read 3.58 and 3.54 volts, respectively. This is when it is just sitting on my table. However, the signs of the voltages are the opposite of what I would suspect. My red probe is on the board at the + sign, and my black probe is on the other leg. That gives me a negative reading.

I have 2xchecked, and my probes are plugged in to my multimeter properly. They show accurate readings on the battery input to the board.

Have I done something wrong? As I’m sure you can guess, we can’t get the grid to program. We have tried many different LED displays, as that’s all that we seem to have anymore. We are making sure we are at 100% brightness, as well. We obviously had some sort of success with the grid, as it currently has a single LED going across the display, one at a time.

I am going to try to do the helping hands and measure while it is being programmed later today, when I have a second pair of hands that I can conscript into service. :smile:


Hi Biffhero,

You should measure the voltage between circuit ground and the + pin of each sensor, as this is what the chip actually measures. You can also measure the voltage at chip pins 3 and 11. Here’s a link to the schematic for your reference:

If you measure voltage across the two pins of the sensors, with your red probe on the + sign, then your black probe will be fixed at the battery voltage Vdd, and the red probe will measure the voltage across the sensor, which will be a negative voltage.

LED displays should work fine, we’ve had good luck the past few years with all sorts of phone, tablet, and computer LCD displays.

What browsers have you tried? We’ve had the best luck with chrome. Try setting the webpage’s delay value to something very large like 500. This will result in very slow programming that will allow you to see how the kit responds. One of the normal LEDs should toggle periodically, I believe after every 8 clock transitions. Try programming it in the dark too, that may help.

When the programming process ends, what is the kit doing? LEDs 3/4 flashing back and forth? Or is the 2nd LED stuck at either off or on? Does the kit deviate from the expected behavior at one of these steps?