Hardware-Related Content

In 2017 I wish to become more involved with hardware-related projects, so with that in mind I've ordered a bunch of Arduino-components and related hardware.

There are several different starter-kits you can buy which are based upon an Arduino-board and a collection of components such as LCD-displays, LEDs, and similar. The official starter kit is a decent bundle, but you can find much cheaper and larger options via other online retailers such as AliExpress. The difference in the non-official bundles is largely that the cheaper bundles actually contain more components, albeit frequently with less good documentation.

There are three things documented here:

Arduino Projects

The Arduino is a hardware board, based around a micro-controller and a series of I/O options. Hardware varies, as does the precise number/nature of the I/O pins. Basically the Arduino board is a programmable device which can get/set the state of various I/O lines.

 

Absolute Arduino Basics

This brief guide describes the basics of getting started; connecting the board, discovering its name, installing the appropriate software and compiling your first program.

Binary Counter

This is a simple project that uses eight LEDs to display numbers from 0-255 in binary.

Message display & acknowledgement

This project is capable of receiving a message via the serial-line and displaying it upon an LCD-display. The message will persist until it is dismissed by the press of a button.

This builds upon the work in the starter-kit, and isn't too difficult to build or code.

Simple MP3 Player

This project, requiring the purchase of an MP3-playback shield, gives you non-stop random audio - read from an SD-card.

4-Digit 7-Segment Display

This simple guide demonstrates how to wire up a 4-digit seven-segment display to an Arduino, using 12 wires, and display numbers. In this example we use the HS5461AS 4-digit tube.

Miscallaneous Mini-Guides

Here are some simple wiring/example pages which don't count as projects in their own right:

NodeMCU Projects

I have not yet built any project which is specific to the NodeMCU board, but I have a few of them sat around. For my own reference :

NodeMCU Default Pins

Some notes on default pins.

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.

WeMos D1 Mini - Default Pins

Brief overview of pins, for SPI & I2C.

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.

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.

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.

Web-controlled LED

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

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 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.

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.