Flashing a CC2531 Zigbee Dongle with the zigbee2mqtt firmware using a Raspberry Pi

I've recently started using Ikea Tradfri lights in my flat, and intend to get some Xiaomi sensors in the very near future to continue to improve my Home Automation. Both these platforms use a wireless protocol called Zigbee to communicate.

So far my experience with the Tradfri Hub has been reasonable, but I am cursed with a constant urge to fiddle with things and add more functionality. Enter zigbee2mqtt - "It bridges events and allows you to control your Zigbee devices via MQTT. In this way you can integrate your Zigbee devices with whatever smart home infrastructure you are using."

zigbee2mqtt is compatible with the Tradfri range and the Xiaomi sensors, and a bunch of other zigbee devices. It utilises a USB dongle, the CC2531 to handle the RF side. Clones are cheap and readily available.

zigbee2mqtt requires you to flash the USB dongle with a different firmware. For whatever reason most guides assume you'll be using a CC Debugger to do this, however it's an added expense and isn't necessary - You can also use an Arduino or Raspberry Pi to flash the firmware.

I opted to use a Raspberry Pi as I already had one on the bench. Click read more to learn how to use the Pi to flash the Dongle

CC2531 Dongle


Adding a USB GPS Receiver to Direwolf to create an APRS Tracker

I recently posted a tutorial on Installing Direwolf on a Raspberry Pi to run an APRS node. The included direwolf.conf example assumed the node was operating as a static iGate or Digipeater, so the location (In Longitude and Latitude) was hard coded, however Direwolf also supports connecting to a GPS receiver for real time location tracking.

As I have a handheld radio with inbuilt GPS / APRS support I don't have an immediate need to use Direwolf as an APRS tracker, but curiosity got the better of me and I ordered a Cheap USB GPS receiver from Amazon (Apparently I ordered the last one, but any standard USB GPS receiver outputting NMEA formatted data should work). Its now up and running so I thought I'd document the processes.
USB GPS Receiver
Click read more for the configuration instructions.


APRS - Installing Direwolf 1.5 on a Raspberry Pi running Raspbian Lite

I've previously written a blog post about setting up an APRS Digipeater with a Tait 8105. Almost a year has passed since then and the latest release of Direwolf now natively supports the CM108 Sound Fobs, so we can ditch Hamlib. This makes configuration much simpler.

The following is a quick and dirty guide to getting Direwolf setup as a Digitpeater on Raspbian. For more detailed instructions on getting a Tait radio configured see the previous blog post.

My node shown on

Click read more for the configuration instructions.


Configuring Sendmail to use Amazon's Simple Email Service (SES)

Well it's been around 6 months since I last made a blog post - turns out babies are pretty time consuming.

I hate email server configuration with a passion so I offload what I can to Amazon's Simple Email Service or SES for short. This is a quick post guiding you how to get Sendmail to work with SES.

Disclaimer: I am by no means an email expert. The configuration below is working, but may not be optimal. Use at your own risk. That said, most of the configuration below was lifted straight from the AWS Docs so you'd hope that it would be reasonable.

Image result for amazon ses icon