Stacking Explorer Phat with Blinkt

Hi Pirates,

I’m currently building a couple of Tiny 4WD rovers for my upcoming Pi Jam. So far it’s all working great, I have a Zero W with an Explorer pHat and Lipo Shim snuggled together on an extended header and for fun, I want to stack a Blinkt on top, so the two bots can have colour coded Larson Scanners running.

Physically, they all fit, but looking at pinout.xyz both Explorer Phat and Blinkt use BCM 23 and 24. which I think is making them incompatible (certainly, Blinkt examples aren’t currently working). Is there any kind of way I can tell the Blinkt to use different pins or remove the conflict?

Python noob here, so please take it easy on me.

Thanks!

1 Like

Remapping the pins physically would be the tricky part. But the library is quite trivial to change, see: https://github.com/pimoroni/blinkt/blob/master/library/blinkt.py#L8-L9

Easy! Clone it from GitHub, change those lines, and sudo ./setup.py install. You could even try renaming the library so it doesn’t clash with an existing Blintk!. Or just find a generic APA-102 library to run it.

Thanks Phil, thats awesome!

Just to clarify… it can be done completely in software or is some kind of physical remapping still required?

You’d need some kind of physical remapping, since the pins shared are inputs on Explorer pHAT and thus connected to the output of the input buffer. It could be driving them into a state that wouldn’t be conductive for running Blinkt! even if you did remove those inputs from the Explorer pHAT library.

So, update the software (for example to BCM 17 & 27) then run a wire from 17 & 18 on the header to 23 and 24. I guess that would mean it would no longer be stackable but otherwise work right?

Seems doable, just need to find somewhere to put the blinkt :)

You could get creative and make the stacking header still work, but it would be… destructive!

One such idea would be to modify the Blinkt! directly to bodge a wire from two other pins, to the pads of the Blinkt! dat/clk signals. The trick then is figuring out how to disconnect the normal pins from those signals, which is easier said than done.

1 Like

Thanks Phil - I’ll let you know how I get on! :)

Good news, I managed to rebuild the Blinkt library to run on pins 27 and 17 so I’m getting there (although that was on the Pi 3, not the stacked up Tiny 4WD). It’s getting late so I’ll get to the hardware tomorrow :D

Update… I got it working! But not how it should probably be done :-D

After getting it working on 27 and 17 I started looking at how to connect it up and found I would have to start hacking chunks out of the header so I could run a wire from 27 and 17 to the correct pins on the Blinkt and it felt icky and would have looked messy. So I got to talking with Mr @cannonfodder on Twitter and he proposed a rather nasty/awesome solution.

Yup… you guessed it. I chopped a couple of the legs off the chip on the underside of the ExplorerPhat.

and now Blinkt works on it’s native pins and I’ve lost a couple of inputs on the ExplorerPhat but I have both running at the same time!

Oh… and I added some Googley Eyes because Googley Eyes make everything better.

You can see the end result here: https://twitter.com/awarburton/status/897520558400786432 :-)

You’re bonkers, but if it works :D

1 Like

Had solve same problem by cutting pcb (Explorer paht) wire with scalpel or knife.

.
See red cutting flag.

Shiver, all this talk of cutting PCBs. It’s creepy!

Can bodge the trace back on with copper enamel wire, though? :D

This is a useful skill to have, since if you cut the EEPROM write-protect trace on HATs you’ll gain that pin back.

1 Like

I’am French and your vocabulary is very difficult to understand.

1/ You can repair the pub with copper if you want.

2/ You speak about EEPROM, but not EEPROM on ExplorerPhat !

Note for 1/ The best thing that Pimodori can do is to purpose PCB micro switchs on Phat for output Y of LV125 to choose the use or not input of BCM/Gpio. So Explorer can be compatible with other stackable cards.

  1. Yes, it’s easy to repair!
  2. That comment was, confusingly I’ll admit, not relevant to this thread

We avoid things that make a pHAT too complicated. It’s better to not add the cost of micro switches, since I’d bet we will get more than one “faulty” Explorer pHAT that just has the switch in the wrong position!