This distribution contains a bunch of libraries and example applications that I have made for Arduino, covering a variety of tasks from blinking LED's to LCD's and RTC-based alarm clocks. They are distributed under the terms of the MIT license, with the source code available from github.
If you are looking for my cryptography libraries for Arduino, then they can be found here.
For more information on these libraries, to report bugs, or to suggest improvements, please contact the author Rhys Weatherley via email.
LCD Shield
- LCD class to manage the extended features of the Freetronics and DFRobot LCD shields.
- Form and Field classes to build simple property sheet UI's on LCD displays.
- Hello World example for the Freetronics LCD shield.
- Form example for LCD displays.
Freetronics Large Dot Matrix Display (DMD)
- DMD class to manage the initialize of the display.
- Bitmap class to manage drawing to in-memory bitmaps and the DMD display.
- Demo that shows off various bitmap drawing features.
- RunningFigure example that demonstrates how to draw and animate bitmaps.
- Snake game that combines the dot matrix display with IRreceiver to make a simple video game.
BlinkLED Utility Library
- BlinkLED class that simplifies the process of blinking a LED connected to a output pin.
- ChaseLEDs class that simplifies the process of performing a LED chase over several output pins.
- Charlieplex class that manages a matrix of LED's arranged in a Charlieplexing arrangement.
- Blink example of using BlinkLED.
- Cylon example of using ChaseLEDs to simulate the Cylon eye effect from Battlestar Galactica.
- StarTrek example for lighting a starship Enterprise model kit.
- Charlieplex example.
I2C Utility Library
- I2CMaster abstract class that provides an improved API for implementing an I2C master.
- SoftI2C class that implements the master side of the I2C protocol in software on any arbitrary pair of pins for DATA and CLOCK. This class supports both 7-bit and 10-bit I2C addresses.
- EEPROM24 class for reading and writing 24LCXX family EEPROM's.
Realtime Clock Library
- RTC class that acts as a base for all realtime clock implementations, including support for configuring alarms and storing clock settings. The default implementation simulates the time and date based on the value of
millis()
.
- DS1307RTC class that talks to the DS1307 realtime clock chip via I2C.
- DS3231RTC class that talks to the DS3231 realtime clock chip via I2C.
- DS3232RTC class that talks to the DS3232 realtime clock chip via I2C.
- Alarm Clock example that uses the DS1307 or DS3232 realtime clock and the LCD library to implement an alarm clock.
Cryptographic Library
The cryptography libraries are now in a separate repository.
Shell Library
- Terminal class that extends Stream with functions suitable for interfacing to a VT100-compatible terminal program like PuTTY.
- Shell class that manages a Unix-like command-line shell for executing commands via a serial port or telnet session. Shell is built on top of the functionality of Terminal.
- LoginShell class that extends Shell to provide a simple username and password login mechanism.
- SerialShell example that shows how to use Shell to provide command-line access via a serial port.
- TelnetServer example that shows how to use LoginShell to provide command-line access via the telnet protocol.
Infrared Control Library
- IRreceiver class that receives incoming RC-5 commands from an infrared remote control.
- DumpIR example that dumps all incoming RC-5 commands.
- Snake game that combines DMD with an infrared remote control to make a simple video game.
Other