Interpreting Weather Data

Here’s a week’s worth of temperature data from around my home. The blue, pink and red series are indoors. The orange and yellow series are outdoors - one inside a homemade Stevenson screen and the other under a pergola on the eastern side of the house.

Getting Extra Outputs on the NodeMCU (ESP8266) With a 74HC595 Shift Register

I use the SPI port on the NodeMCU (ESP8266) development kit to drive a 74HC595 8-bit shift register IC. This technique can be used to get 8 outputs using just three GPIO pins on the ESP8266.

I show the breadboarded configuration, the circuit diagram, and the Lua code needed to drive the shift register.

The Lua code can be found here:

Assessing the Hacking Potential of a Motion Activated Solar Light With LiFePO4 Cell

I teardown a $10 motion activated solar garden light from Kmart in Australia.

I bought this product to solve the problem of not being able to locate my house key on the key chain at night. But I couldn’t resist tearing it down to discover the electronics that make it work.

Unlike most solar garden lights, that use Nickel Cadmium (NiCd) or Nickel Metal Hydride (NiMH) battery technology, this unit is powered by a single LiFePO4 (Lithium Iron Phosphate) cell. These cells produce a nominal 3.2V, which means that with a bit of hacking this unit could probably be used to power a microcontroller such as an Arduino at 8MHz.

The Internet of Fairy Lights

I connect some rather nice fairy lights to an ESP-12 module based on the ESP8266 chip, running Nodemcu firmware and a simple Lua script. I describe how to connect a P-channel FDN340P MOSFET and a 2N3904 NPN transistor to form a high-side driver to switch big loads from this tiny wifi module and its 3.3V logic.

The result: I can control my fairy lights over wifi, potentially from anywhere in the world using MQTT. The possibilities are endless, but for now I’ll enjoy the cool glow and shimmering reflections of my “Moroccan” fairy lights…

The Lua code for controlling the fairylights using MQTT can be found here:

Wiring Up a DIY ESP-12 (ESP8266) Breakout Board

In this video I make a breakout board for the ESP-12 wifi module using a plywood jig, wires, solder, scrap PCB, header pins, and hot melt glue.

I hook up the right combination of pull up and pull down resistors, and demonstrate it turning an LED on and off in response to MQTT messages. I draw up a circuit diagram to show how things connect.

Along the way I discover that GPIO4 and GPIO5 are swapped on the silkscreen of the ESP-12 boards I bought.

The Lua code for controlling the LED using MQTT can be found here:

I used the Nodemcu Devkit v1.0 schematic diagram as my reference:

First Look at the Orange Pi Plus

Part unboxing, part overview, part debugging session and part tutorial, this video documents my first experiments with the Orange Pi Plus, a relatively recent Allwinner H3 SoC quad-core 1.6GHz single board computer coming out of China. I encounter some problems with HDMI, high load average, and spurious kernel messages, but the platform certainly shows promise. I’m using the Orange Pi port of Raspbian.

Making a GPS Breakout Board by Etching Some Stripboard

I try something I’ve never tried before - etching stripboard/perfboard/veroboard in ferric chloride etchant.

The idea was to create a breakout board for a Quectel L80 GPS module (based on the MediaTek MT3339 chip). This module has a 0.1in (2.54mm) pin pitch, which is rare for recent GPS modules. Most have 2mm or even finer pin spacing. This module’s pin pitch is a good match for common 0.1in stripboard.

I run into all sorts of dramas with cold, weak etchant that over-etched in places while under-etching in others. But a second attempt yielded an acceptable result. All’s well that ends well.

Would I use this technique again? Probably not. But it was an experiment worth trying.

Datasheet for the Quectel L80 GPS module

Making My Arduino Controlled RDA5807M FM Radio

This video shows the assembly of my Arduino controlled RDA5807M based FM radio.

In this video I: - create a break out board for the RRD-102 module containing the RDA5807M. The module has castellated vias at a 2mm pitch. I use some stripboard to break out the connections to 0.1in pitch suitable for breadboarding. - assemble a small logic shifter board. - use hot air to remove a 5V LDO regulator and replace it with a 3.3V regulator. - put all these things together with an Arduino Pro Mini and a PAM8403 amplifier module in order to create an FM radio.

Connecting the RDA5807M FM Radio IC to an Arduino

In this video I connect a really tiny FM radio receiver IC, the RDA5807M to an Arduino. This chip came on a cheap module labelled “RRD-102” from Aliexpress.

I give a demo of the breadboarded circuit receiving a transmission from my now vintage Silicon Chip “Micromitter” low-power FM transmitter.

I’m running the module at 3.3V and the Arduino is running at 5V, so I do some level shifting of the I2C bus to avoid frying the RDA5807M.

The RRD-102 module I purchased for US$0.73 delivered: RRD-102 module.

The logic level shifter board I purchased for US$0.71 delivered: Level Shifter.