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
A brief overview of SDR, for tracking aircraft, and decoding commonly used 433Mhz transmissions.
- Arduino Libraries
Some brief notes on making your library available to users of the Arduino IDE.
- 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.
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.