Unable to bind in development mode?

I recently received my Zymkey4i and I followed the documentation for installing it on our RPi3 running Raspbian (stretch). It’s running with a 2.5A power supply.

When the power is applied, the zymkey blinks rapidly (I’ll guess 5 times/sec)…then stops for 2 seconds…then blinks 5 times/sec for a second then switches to blinking 3 times/sec (for 10 blinks)…pauses for about a second…starts back up at 5 times/sec…pauses…3 times/sec (for 10 blinks)…pauses…and finally continuously blinks at 5 times/sec thereafter non-stop.

Is it supposed to blink 3 times/sec all the time after it’s bound to the device? Or is this normal operation?


The symptoms you describe indicate that your zymkey is NOT binding correctly. When bound it should blink 1 per 3 seconds.
We are seeing other customers experiencing similar binding failures on 3B+ (but not 3B) and we are trying to dig in to the problem to understand the root issue. (We suspect its related to the 3B+/kernel/stretch combo that drive the I2C interface, but don’t yet know for sure).

To help us in the process, please can you provide the following detail:

  • RPi 3B, or 3B+ ?
  • Stretch version ?
  • Anything else connected to the Pi header - in particular GPIO4, I2C ?
  • Is your zymkey mounted directly to the Pi Header ?
  • Do you have a display connected to the HDMI ?
  • Do you have a battery inserted in your Zymkey ?
  • RPi 3B, or 3B+ ?

  • Stretch version ?
    Linux raspberrypi 4.14.98-v7+
    Stretch version 9

  • Anything else connected to the Pi header - in particular GPIO4, I2C ?
    Nothing else connected to the GPIO

  • Is your zymkey mounted directly to the Pi Header ?
    Yes, mounted directly to the GPIO

  • Do you have a display connected to the HDMI ?

  • Do you have a battery inserted in your Zymkey ?
    Yes. Lithium Battery 3V, CR1025

Can you please email (support@zymbit.com) us an image of the back and front of the Zymkey and let us know where you purchased it from.


Email sent with photos. I purchased it directly from the Zymbit website.

Let me know if you need better photos.

I’ve been experimenting with creating new Raspbian Stretch images and testing different configurations, and one thing that I have found is that if you set force_turbo=1 in the /boot/config.txt file, then binding will not happen at all. Blue light stays off (never blinks).

This was with a Raspbian Stretch Lite image v4.14 from here: https://www.raspberrypi.org/downloads/raspbian/

Without the force_turbo setting, the zymkey binds.

I made this change with my original SD card and it’s binding now instead of blinking 5 times/sec, pausing, 3 times/sec, pausing, then forever 5 times/sec, etc. Or at least it’s working so far…

Another part that kills the bind is setting a static ip in /etc/network/interfaces.

When I attempt to set a static IP I end up losing the bind doing something like this:
iface regular_wifi inet static

@zymbittester thanks, this information is helpful, and consistent with what we believe is the/a root issue we are seeing on Pi3B+. We believe we have a fix in hand - currently in test. We’ll update you in 24 hours on the results. Thanks again.

I have a similar issue -
nothing else on pins
battery inserted
bought from your web site.
In my case, it works for a while and then just stops. It requires numerous reboots to get it to work again, only to have it stop. The power supply light is steady on.

more information. Two complete power down cycles and the Zymbit is restored. It lasts about 5 minutes before it fails again. Sometimes the light still blinks slowly, and sometimes it stops blinking.

@mauricebizzarri @zymbittester - we believe have identified the root issue, which relates to how I2C is managed under Stretch. The problem is more apparent on RPi 3B+, for a variety of reasons.
Our dev team has a working solution that is being run through production testing and should be available in a new release within 48 hours. Learn more >


Thanks to you both (and others) for notifiying and helping us identify the root issue.

1 Like

Thank you for the timely reply. I have set up a modest test script that can test out any solution for an extended period of time.

By the way I have your C software working with my GO test routine. I intend to release the sample GO software to the public domain as soon as I am sure it all works. If there is interest in GO in the Zymbit community I would consider the creation of a Go library that calls your C routines. Using the C to Go library is fairly straightforward in any case.

That is great news! Looking forward to the update.