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:
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
Here are some simple wiring/example pages which don't count as projects in their own right:
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.
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.
- 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.
- 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
- 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.