I’m consolidating the code* sites and that means that there will, all going well, be no new posts here. Instead, I’m breaking in a new site at There’s already a post up (with code) about the PyPortal. So, maybe see you there. It’s going to be a work in progress (no comments yet), but see you there – you can get in touch through Twitter (@codepope) if you want.

Levelling the Word Clock

Cyntech do a word clock – an 8×8 array of neopixels, a set of acrylics to make a box and stencils for the words and space to fit in a pi zero or pi 2/3 inside. It’s been built here for a while and suffering from random light shows on the display and dropping the WiFi.

Well the light shows were down The the fact that the neopixels work at 5v but the Pi data line is a beefy 3.3v. Not enough juice means the display data line is susceptible to noise. The solution is a level shifter which bumps the voltage from 3.3v to 5v. I used a 74ACHT125 to do this. It’s capable of shifting 4 lines but I only needed the one.

I laid out the first pass as per anAdafruit tutorial on the subject, with a breadboard. And it worked. The next challenge was to get that inside the case of the clock.

For that, I put an Adafruit permaproto 1/4 size board to task, and replanned the circuit with a single three female header to clip it onto the 8×8 display, then added 3 fly leads to connect to the Pi. I started wiring it up with hookup wire but for fun switched to some 30awg cable which made the process super quick and rather tidier.

And it worked first time…. then I had to put it all back in the box. I hadn’t allowed for the Pi’s USB leaning on some unused tracks on the permaproto board which makes it tilt slightly but its generally all fine and does work. I wonder if my next stop would be getting a PCB design for a super compact version….

It all does beg the question though of why would someone sell a kit which really needs a level shifter. You can hack it with a diode too apparently….

Fireworks, like a…

So in the background, I’ve been playing around with digital fireworks on various LED displays, mostly on the Raspberry Pi Zero with PS3 controllers and well that was going on with various levels of success and then I took a break from that approach. I noticed that I had an ESP32 Feather and a 3.5″ Featherwing touch screen. What the heck, I said and a few hours later…

So touch and out come the particles…. want to see the code? It’s Arduino code and it’s up on Github at


All change… to MongoDB

If you follow me on Twitter, then you’ll know that I’m in the process of leaving IBM who acquired Compose (who were MongoHQ) some years back. It was a super-fun ride, but things change and after a while you need to move on. And the best moving on is the moving on where you get to do something even more interesting… So, my next stop is, in a delightful circular fashion, MongoDB Inc where I’ll be hitting the buttons on keyboards in interesting ways to get them to exude the rich taste and delightful aroma of steeped and chilled content (mmm… brewed overnight, every night). It’s a really exciting move for me and not one I was expecting to make when I was planning things. The MongoDB ecosystem is much bigger than it was and that means lots of things to look at, build with and put into context in pixelly light. And that means oodles of challenges for me doing what I’m told I’m good at. Of course, there’ll be an impact here on t’blog in that the NewsBits will go away in its current form. I’ll also be realigning what I do on t’blog to complement the work with the new job. How? Who knows… I may get around to ramping up the small device content here too. Anyway, onwards and upwards and please be patient as I move the furniture around. Now… lift at your end of the sofa and…

Elsewhere: NewsBits on Java 11

As is my way, I’ve been writing elsewhere for a living among other things and here’s the latest NewsBits I gathered up….

  • Java11 arrives with long term support and warnings.
  • Refactoring .then() added to Microsoft’s TypeScript.
  • Ready for PostgreSQL11, PostGIS 2.5.0 released.
  • Your own database Arnie: pg_terminator kills PostgreSQLconnections.
  • Make SQLprettier with sqlfmt.
  • Read about CrimsonDB‘s adaptive key/values.
  • Kubernetesgets a TLS bootstraping update.
  • And Finally… How to scan a Rocket.

Interested? Read the bits in full on

Elsewhere – NewsBits (end of August Edition)

In the most recent NewsBits (NewsBits at’s Articles) there’s some minor DB and driver updating, a DB that branches like git, a fresh Vault, what happens to SSDs when they meet database write loads, the new Go 1.11 (and 2 drafts) and… oh yeah who wants to see round corners?

(Apologies for the lateness… I’ve been playing with MicroPython, CircuitPython, ESP32s, ESP8266s and a selection of tiny light emitting things…. more on that soon… promise)

Elsewhere: NewsBits

Here’s my regular Friday database and developer news from Compose:

• PostgreSQL stable updates all round.

• And there’s a new PostgreSQL 11 beta.

• How well does PostgreSQL work with a GPU?

• Redis 4.0.11 is all about timing.

• While Redis 5.0 RC4 hardens its streams.

• JanusGraph 0.3.0 edges the graph database forward.

• A first update for MongoDB 4.0.

• CouchDB 2.2 makes storage pluggable.

• Google’s Dart 2 is stable and released.

• MkDocs site builder is 1.0.

• After 6 years of development Julia reaches 1.0.

• And finally, some big 6502 news…


Kindle hacking and clocking…

There’s a super little Instructable on how to make a Literary clock using a Kindle. Well, I happened to have an old school original Kindle 3 about and dived it. Some observations….

  • The jailbreaking materials for the Kindle are functional but there’s so many images out there its easy to see why people can get confused.
  • The USB/Wifi Networking hack is pretty good to work with when you’re doing USB only, but I wasn’t sold on Wifi configuration, so I stuck with USB and the joy of self-assigning IPs.
  • The instructable’s own assets are easy enough to install and get running. It basically wakes up every minute and puts up the appropriate image as pre-rendered on the desktop with a Python script.
  • The time is wrong, even when set to BST and I can’t seem to correct it. Timezones seem to be odd inside the Kindle, TZ adjustments seem to only work in the negative. Still, proof of concept…
  • Swapping the display image sees the screen flash a few times which would be nice to reduce.
  • And it has to be a passive USB power supply to stop the USB disk mode kicking in.

But it is rather splendid and has set me on a course of looking at the Kindle and a slab of ePaper with a small Linux to hand and an ability to run Python. Now, thats interesting…

Rebooting Codescaling – Keyboard Kickoff

I’ve not been blogging much here, but thats going to change. Fresh lick of theme, and… we’re off.

First up, this Ortho-linear keyboard from OLKB. I have a distinct keyboard fetish and I don’t think it’ll be every satisfied. Always looking for something different and this OLKB Plank kit seems to have tickled every spot. The Ortho-linear layout puts everything on a grid, and has no proven benefits but it does feel nice to type on in terms of finger positioning.

The 40% layout is compact (numbers are orange raise and QWERTYUIOP, shifted number symbols are blue lower and the same). I spend more time mapping the 40% compression more than worrying about the ortho-linear  layout.

Building was simple and fun. The PCB was lovely to solder with and the biggest trudge was making sure all the keys were well positioned while mounting the aluminium plate. The AVR controller on the board makes it more chatty than many keyboards with a small piezo buzzer playing a wake up tune and lots of customisation options hidden away. If you are curious, it’s the QMK Firmware running on the AVR chip.

And like a gateway keyboard, I’ve already got an order in for the Preonic variant which goes 60%, and an extra row. And the Planck, it’s going onto my four-system HDMI KVM to get some working time in.