Prerequisites for Blinkt boards on Raspberry Pi 3?

Firstly, thanks for developing the Blinkt! boards – they’re exactly what I was looking for.

I have two of them installed on two Raspberry Pi 3’s. Both are running headless with a minimal version of Raspbian. I’ve successfully installed pimoroni-dashboard on both and installed the Blinkt software via that.

Neither of the boards will respond to any test or demonstration program. One of them has a dim green LED lit near the “!” character end of the board. The other has been permanently dark.

I’m guessing that with this minimal version of Raspbian I’m missing some important driver or kernel module or some component needed to make things work.

Is there a list of prerequisites needed to drive the Blinkt that I can check against what’s installed on my Pi’s? Is there some way to determine if the boards themselves are operational even if a driver is missing?

Any advice much appreciated,

Stu

If you’ve got a spare SD card, I’d highly recommend burning a fresh copy of Raspbian to it (using the images from Raspberry Pi’s download page) and testing both Blinkt! against that. It’ll be the most reliable way to narrow down what’s at fault.

Blinkt! just bit-bangs pins BCM 23 and BCM 24, so it shouldn’t require anything but a functional RPi.GPIO library. You can see what it does by peering into the library: https://github.com/pimoroni/blinkt/blob/master/library/blinkt.py

Be sure to check the Blinkt is fitted the right way up, with rounded corner towards the outside edge of the Pi… not that I expect that to be the problem if you are getting one of the LED to light up, but still worth noting.

Thanks for the tip. I’ve installed a full Raspbian image. After doing the quickstart from the website I still had no LEDs lit. Once I also did the installation via the pimoroni-workbench it worked!

I then tried the second Blinkt on the full image (after powering down first) but no joy so I suspect that one is inoperable.

So I need to work out what GPIO related libraries or drivers that full Raspbian installs that minimal Raspbian does not. Also what pimoroni-workbench installs that the quick start does not.

Thanks for that – that’s not obvious on a Raspberry Pi 3. I discovered that orientation on a YouTube video and by luck had installed both of them the right way around.

Can I confirm that the quick start on the website is all that’s needed to get a Binkt working? Is the workbench installation an alternate approach?

Since the quick start doesn’t work for me but the workbench installation does I’ll try to work out what the workbench is installing or changing and model my setup on that.

Blinkt! should require just RPi.GPIO, a functioning Python environment and the Blinkt! python library. Anything above and beyond that is stuff we take for granted in Raspbian Jessie and I don’t know how we’d begin to figure out the dependency chain there.

They work fine in Raspbian Jessie Lite, so I’d suggest the minimal version of Raspbian you’re using is perhaps too minimal to constitute a working version of Raspbian since what’s left is, I believe, pretty fundamental stuff.

What distribution are you running? Where did it originate from?

I believe I have them working now, firstly I needed these apt packages:

- virtualenv
- python-dev
- python-pip
- pimoroni

And I also needed these Python pip packages:

- RPi.GPIO
- blinkt

The only other issues were making sure the user was in the “gpio” Linux group and to call the blinkt library show() function twice in Python code for reliably lighting the LEDs.

Thanks for the help and for a cool product.

That’s odd. I spent a while fine-tuning the show() function when we had the problem with different brands of APA102 behaving slightly differently. I might need to look into that again! Tricky little things.

Glad you’re up and running!

Could you also post your code, if possible, that requires the use of show() twice. I’d like to push a new Blinkt! library version soon with some tweaks and I’d be great if I could get this solved too.

This was using the Python REPL and selectively setting LED colors then calling show(), then calling clear() to turn them off. It may not be a problem in a standalone Python program.

The idea is to have a command-line utility (or several) written in Python that scripts can call to light up nominated LEDs corresponding to system or hardware conditions. I’ll post those when they’re tested and in use.