www.mathertel.deArduino Projects

Arduino Projects

Early in 2011 I bought an Arduino board. After playing around a little bit I think that it's amazing, what can be done by using this simple but powerful platform so I like to contribute some of the projects I've done in the meantime.

It's grown up to collection of articles for the Arduino platform with implementation hints, software libraries, circuit diagrams and complete projects.

DMX Shield

DMX Shield with isolation

This DMX Shield enables sending and receiving DMX and RDM signals by using a save DMX hardware including isolation. This is ideal for DMX projects without risking processor damages from high voltage peaks.

DMX Shield for Arduino with isolation

DMX typical plug

DMX Library (DMXSerial)

A software library for sending and receiving DMX packages by using the built-in serial port interface. By using the serial interface hardware of the Arduino processor to send the serial packages defined in the DMX protocol there is no need for time-critical assembler programming. There are also some advanced topics covered about using interrupts of the serial port.

A library for sending and receiving DMX signals using an Arduino


RDM Library (DMXSerial2)

A software library for sending and receiving DMX RDM packets. This is an extended version of the DMX Library that can also handle RDM packets.

A library for sending and receiving DMX RDM signals using an Arduino

Radio Library Logo

Arduino Radio Library

An Arduino library to control radio chips for receiving FM broadcast audio signals
using one of the chips SI4703, SI4705, TEA5767 and RDA5807.

Arduino Radio library


LiquidCrystal_PCF8574DMX Arduino library

This is a library for driving LiquidCrystal displays (LCD) by using the I2C bus and an PCF8574 I2C adapter. It just can be used as a replacement for the LiquidCrystal library.

LiquidCrystal_PCF8574DMX Arduino library

DMX Spot

DMX controller for RGB LED stripes or panels

This article is about building a DMX controllable light based on RGB leds by using the Arduino hardware setup and programming environment.

The main goal for this project is to build a cheap DMX spots so no special parts where used.

DMX controller, 3 channels, RGB Leds, 12 volt

Finite-State Machine Graph

Programming Finite State Machines (FSM) with Arduino

An article about implementing simple finite-state machines by using a simple (software) pattern and source code in a structured way. This type of software is best suited to implement several parallel activities on a microprocessor without having to use a multitasking operating system or timers with interrupts. This approach was used to implement a morse code generatin sample and the OneButton library.

How to implement finite-state machines (FSM) with the Arduino

One button only

Arduino OneButton Library

This Arduino Libary is improving the usage of a singe button for input. It supports detecting some of the typical button press events like single clicks, double clicks and long-time pressing a button. This enables you to reuse the same hardware button and input pin for several functions and lowers the hardware invests.

This is also a sample for implementing simple finite-state machines by using the simple pattern above.

How to use a single button for multiple functionalities

rotary encoder library

Arduino RotaryEncoder Library

Here you can find an Arduino compatible library for using rotary encoders.

How to use an rotary encoder for input.

Focus on the microprocessor of the Arduino Platform

Learning the Arduino Basics

So here is some of the cool stuff I found on the internet worth reading.

The other articles also contain some links to other projects and ressources so you can find general topics on this page and specific links on the project pages.

(Disclaimer: I am not responsible for the linked content coming from other domains than www.mathertel.de)

Learning the Arduino Basics

An ISP cable attached.

Using an USB ISP programmer together with the Arduino environment.

Avoid disconnecting your shield from the Arduino board for uploading a new sketches by using an ISP programmer. Here are the tricks.

Arduino USB ISP programmer settings