Hardware-Related Content

In 2017 I wished to become more involved with hardware-related projects, so I ordered a bunch of Arduino-components and related hardware. Quite quickly I realized that the ESP8266 devices, most notably the "Wemos D1-Mini", was better hardware for me:

  • Smaller.
  • Cheaper.
  • With on-board wifi

I documented a couple of very very simple arduino projects, but then moved on exclusively to work with the ESP8266-based devices.

Software Defined Radio

Software Defined Radio

A brief overview of SDR, for tracking aircraft, and decoding commonly used 433Mhz transmissions.

Arduino IDE

Arduino Libraries

Some brief notes on making your library available to users of the Arduino IDE.

Useful ESP8266 Tools

Backup & restore an ESP8266

This guide shows how to download the (compiled) code which has previously been uploaded to your Arduino, or ESP8266 device.

Command-Line OTA Uploader

This guide shows how to upload a compiled (hex) program to your ESP8266 device, via the command-line, without the use of the Arduino studio.

WeMos D1 Mini / ESP8266 Projects

The ESP8266 is a low-cost WiFi chip with full TCP/IP stack and MCU (Micro Controller Unit) capability. There are several common development-boards which use this chip, and the WeMos D1 is one of the most common.

The D1 boards are small, cheap (approximately €3.00), and easy to code for in Lisp, FORTH, (micro) Python, or plain C.

Absolute WeMos D1 Mini (ESP8266) Basics

This brief guide describes the basics of getting started; connecting the board, discovering its name, installing the appropriate software, and getting a WiFi example working.

Alarm Button

This brief guide describes the creation of an "alarm button", which will trigger an alarm sound on a PC when pressed.

Later I switched to using 433Mhz-based radio transmitters to allow using multiple cheap and reliable buttons.

Default Pins: WeMos D1 Mini

Brief overview of pins, for SPI & I2C.

ePaper: Efficient Displays

ePaper is very power-efficient, and allows you to produce clear, crisp, and readable output containing images and text.

Flash: Reading/Writing Files

The WeMos D1 Mini comes with 4Mb of on-board flash. Here we show how to use it for reading/writing files. Useful for HTTP-servers, for example.

Helsinki Tram Time Display

This project combines a simple I2C LCD display with an ESP8266 - to produce something that shows local tram-times, along with the current date & time. The tram-times are retrieved via HTTP from the Helsinki Transport API.

Message Publishing & Subscribing via MQTT

Simple example of how to configure an MQTT server, and work with it from the command-line, Perl, and the Mini D1.

NTP-Based Clock

This is a simple project which uses NTP to recive the current date & time, and then displays the latter on an set of 7-segment displays, complete with blinking : symbol.

Pixel Editor

Attaching an 8x8 LED Matrix to a WeMos Mini D1, and using a web-based pixel-editor to control what is displayed upon it.

Temperature & Humidity

This project builds upon the previous message-publishing example, and records the temperature & humidity, allowing it to be graphed and viewed via the message-queue.

Washing Machine Alarm

Wiring up a vibration-sensor to a ESP8266 board allows you to be alerted when your laundry has been washed.

Weather Station

This project combines a simple OLED display with an ESP8266, to show the local weather conditions, along with a three-day forecast. The details are fetched from a remote API so there is no need to add hardware for temp/humidity detection.

Web-controlled LED

This project demonstrates controlling the on-board status LED via your browser - no additional hardware required.

Web-based Radio

This project integrates a TEA5767-based FM-radio receiver with the Wemos Mini D1, allowing you to listen to the radio, and control it via your browser.