Arduino and Micro:Bit Projects

by Andrew


Wheelieometer (Arduino)

Bike wheelie meter, displays current and maximum angle, current and maximum time wheelieing. Uses an Arduino Nano, 128x64 OLED display and and ADXL345 accelerometer.

Download using the links below.

Development and User Guide (469 kB)

Quick Start User Guide (586 kB)

Specifications (311 kB)

Main Sketch v.13 (minimalist version) (13 kB)

Main Sketch v.20 (advanced version adding new functions) (97 kB)

EEPROM Usage (19 kB)

Version History (11 kB)

Libraries (other than the standard ones that ship with the IDE)

SSD1306Ascii.h, SSD1306AsciiWire.h - OLED for display of ASCII text with minimal resource usage

HCRTC.h - Real time clock

Seeed_BME280.h - Environmental sensor


Wheelieometer (Micro:Bit)

Bike wheelie meter, displays current and maximum time wheelieing. Uses a BBC Micro:Bit.

Download using the links below.

Development and User Guide (777 kB)

Code (1.467 MB)


Mad Scientist Mug Monitor

Alarm that sounds when temperature of a hot beverage left to stew reaches a comfortable level. Uses an Arduino Nano, 128x32 OLED display and an LM35DZ temperature sensor.

Download using the links below.

Notes (199 kB)

User Guide (126 kB)

Sketch (8 kB)


Lego® Light Flasher

LED flasher for some Lego® lights I made. Uses an Arduino Nano.

Download using the links below.

Notes (194 kB)

Sketch (8 kB)


Elegoo PenguinBot 2.0 with IR Control

Elegoo PenguinBot 2.0 with infra-red remote control added using pin inteerupt.

Download using the links below.

User Notes (205 kB)

Updated Main Sketch with both infrared and bluetooth control (62 kB)

Demonstration of infrared control code (1 kB)

IRRemote library (see MinimalReceiver example)


Smart Biped Robot Dance Robot

Demonstration code for an unbranded smart biped robot based around the Micro:Bit and RobotBit breakout board.

Download using the links below.

User Notes (363 kB)

Main code implementing infrared control (1.561 MB)

Calibration code (1.512 MB)


Ethernet Controlled Relay

Control relays via the internet using an Arduino and ethernet interface.

Uses an Arduino Nano, W5500 Ethernet interface and 128x64 OLED display.

Documentation describes how to set up port forwarding and Dynamic DNS as well as the hardware and firmware.

Download using the links below.

Notes (1.148 MB)

Main Sketch (14 kB)

Libraries (other than the standard ones that ship with the IDE)

SSD1306Ascii.h, SSD1306AsciiWire.h - OLED for display of ASCII text with minimal resource usage

Also uses the standard Ethernet, SPI and Wire libraries


DMX to Serial

Uses an Arduino Nano, 16 x 2 character LCD display with I2C adaptor, SD card reader and RS485 to TTL converter.

Receives DMX lighting control data and outputs serial data when channel values as specified, or on button press.

Download using the links below.

Notes (241 kB)

Main Sketch (35 kB)

Sample Configuration File (1 kB)

EEPROM Usage (14 kB)

Libraries (other than the standard ones that ship with the IDE)

LiquidCrystal_I2C.h - I2C communications with LCD

DMXSerial.h - DMX functions

SdFat.h - SD card (sd.h incompatible with DMXSerial.h)


Starburst LED Display

Displays a message on a single Starburst (16 segment) LCD display.

Download using the link below.

Sketch (12 kB)


GSM / MODBUS Datalogger

Uses an Arduino Mega 2560, SIMCom 800L GSM module, 128x64 OLED display, SD card reader, RTC, RS485 to TTL converter and some voltage stabilisers.

Download using the links below.

Development and User Guide (576 kB)

Main Sketch (79 kB)

Example configuration file (3 kB)

EEPROM Usage (17 kB)

Libraries (other than the standard ones that ship with the IDE)

SSD1306Ascii.h, SSD1306AsciiWire.h - OLED for display of ASCII text with minimal resource usage

HCRTC.h - Real time clock

SimpleModbusMaster.h - to create a MODBUS master device - latest version of code here

Utilities

Terminal sketch to send/receive AT commands to/from the modem over Serial Port 1 using serial monitor (1 kB)

Serial Monitor Deluxe - for testing modem


GSM Datalogger

Uses an Arduino Nano, SIMCom 800L GSM module, 128x64 OLED display, SD card reader, RTC, and some voltage stabilisers.

Download using the links below.

Development and User Guide (576 kB)

Main Sketch (75 kB)

Sketch to prepare EEPROM for first use (6 kB)

Datafile to write to EEPROM to prepare EEPROM for first use (1 kB)

EEPROM Usage (17 kB)

Libraries (other than the standard ones that ship with the IDE)

SSD1306Ascii.h, SSD1306AsciiWire.h - OLED for display of ASCII text with minimal resource usage

HCRTC.h - Real time clock

Utilities

Terminal sketch to send/receive AT commands to/from the modem via SoftwareSerial using serial monitor (1 kB)

Serial Monitor Deluxe - for testing modem


MODBUS Datalogger

Uses an Arduino Nano, 16 x 2 character LCD display, SD card reader, RS485 to TTL converter and RTC.

Records actual meter readings from one or more MODBUS registers to SD card.

Download using the links below.

Development and User Guide (521 kB)

Main Sketch (35 kB)

Libraries (other than the standard ones that ship with the IDE)

SimpleModbusMaster.h - to create a MODBUS master device - latest version of code here

HCRTC.h - Real time clock


Also see the webpage for my Spot the Difference game for the Windows PC that uses your own photographs: perfect for holiday snaps!


Some of these projects are jointly developed by myself and my employer. Please contact me for consultancy services in acoustic design, environmental monitoring and sound and lighting. This flyer outlines some of our available services.