Project Intro: Microcontrollers for Home Automation

I’ve been working on a whole bunch of projects involving microcontrollers in the last couple of years, I’ll quickly go through what I’ve used and where I’m heading with them.


Of course I’m starting here! Basically, I kicked off with Arduino pro mini clones as a super cheap way of making my own devices, and of course used the Arduino IDE. Before the advent of the ESP8266 I was fiddling with NRF24L01 radios and an assortment of Bluetooth modules. The NRF24L01 was very useful for being low-power and there being a lot of projects for it and I started with Maniacbug’s Rf24Network library, progressed to TMRh20’s version and then finally MySensors. I really like how useful MySensors is for standardizing messages, so I’m actually using the protocol for some Wi-Fi sensors. I’ve moved over to using PlatformIO IDE and I’m currently building Atmega328 boards in the Adafruit Feather form factor with NRF24L01’s on them.

About a year ago I gave Espruino a go on my STM32F401 Nucleo board to see how it worked for me. I was amazed at how great it was to use, especially for prototyping. I bought an Espruino Pico to use for a bit, then moved to making my own boards with a form factor suiting me. STM32 + Espruino is my go-to for microcontroller projects.


This hit the scene and made waves around the world, and it has been useful for me. I’ve used it as both a radio with STM32 boards and as a microcontroller running Espruino.


This turned out to be the main BLE chip running around for a while and I’ve fiddled with using it with Espruino. Probably will end up being replaced by the ESP32 for me though.


I’ve had a play with a few other chips, Attiny84, Attiny85, some assorted dev boards, but those were the main chips I’ve been using. 

Had a power outage the other day…

Unfortunately knocked out the SD card on my garage raspberry pi, meaning no more controlling the lights from my phone (I’ve set up a bridge between the Cbus and MQTT on it).it would normally be okay, but I made some changes lately and hadn’t backed them up… On the plus side, it was a good opportunity to make myself rebuild the pi using ansible instead of manually.

Latest pcb order!

All these are Adafruit Feather boards from their Github and my own Feather boards. Starting from the top left we have a modified version of the proto Featherwing, the Adafruit Huzzah Feather, my AtMega328 Feather with rs485, my AtMega328 Feather with nrf24l01, the Adafruit relay Featherwing the Adafruit Neopixel Featherwing and the Adafruit Double proto Featherwing. Another couple of orders are almost ready.

Project Intro: PCB Design

I’ve really gotten into designing my own circuit boards for everything and lately I’m going crazy with it. I moved from prototyping Raspberry Pi and Arduino projects on veroboard/stripboard to having a go at etching my own board to ordering from small-run pcb sites.

My current fan of choice is dirtypcbs. I’m usually ordering a lot of small (not tiny) boards and so I usually panelize groups of them into 100mm x 100mm boards. Dirtypcbs accept these without complaint and have good prices, so I’ve been very happy with them. I used to use dfrobot and got good value and results from them, but one time I was asked to remove the mousebites from a panelized boards, so I switched to Dirtypcbs to stick with the value I was getting by combining boards. I also use Oshpark for any tiny boards that I don’t need many of, they are great quality and better value for those types of orders.

Seemingly impossible task – finding exact parts without part numbers

The other day I was trying to find where I could buy the exact micro usb connector that’s on Adafruit’s Feather boards. I figured that it would be a pretty common one given that it’s Adafruit. An hour of searching later and I eventually find an Aliexpress listing that looks exactly like it, not so common after all. Even then, the listing only had it as one of an assortment of 50… with no information about what exactly those 50 were. So it took another half hour of digging through Aliexpress listings to eventually find out that the part is apparently called “Micro USB Jack Big Horn”. Seems that internet detective work is a big part of amateur electronics. For anyone else after it, here’s a listing of the part. No guarantees that it is the same though, I’m still waiting for mine to arrive. (Edit: confirmed as correct part, just stuck it on one of my feather pcbs, perfect fit)

Today I’ve had a similar chase, this time for the eagle or diptrace part for a pack of microsd sockets I bought ages ago. I’m sure I got them off ebay or something and there wasn’t much hope of finding a part number. A heap of googling eventually found me an image and a part number (120801 apparently) but turns out that I wasn’t any closer to a CAD part.
Micro SD holder – (I don’t have the board, just the socket)

Eventually I got lucky and a google image search landed me on a Dangerous Prototypes article about a board that had the right part on it! There were even eagle files that I could export the part from!!! Looks like it was an old Seeed part (and was part of an old Seeed eagle library that I can’t find anywhere…).

For anyone interested, here’s the eagle and diptrace files for the microsd socket: download

WordPress Android App

I just can’t get this to work. It seems to be getting 403 errors from the server but I just can’t replicate it or find anyone else who is getting this. All sorts of cpanel/dns/cloudflare/ssl messing around hasn’t helped…

Edit: seems my hosting provider must have been blocking it. Got it working using the “Rename XMLRPC” plugin. So frustrating, as it really didn’t look like this was the problem, and I wasn’t getting any errors that showed this. Oh well.