Alternatives to Using Arduino
by Maarten Lamers
Media Technology MSc program, Leiden University
I have been teaching students how to use Arduino for many years now. They have succesfully built interactive installations, robots, experimental equipment, and whatnot. However, often I see students use Arduino when another solution to their problem would have been easier, more stable, cheaper, or less work. But what are these alternative solutions? This page lists some alternatives to using Arduino, and describes their pro's and cons.
Sometimes Makey Makey is just what you need for a project, and it is extremely easy to use. Connecting objects to Makey Makey using simple alligator clamps, turns them into buttons to which any computer program can react. This way, it is very, very easy to create interactive fruits, furniture, forks, photos, fish, food, felines, clay, plants, etcetera. It requires no programming of the board.
Basically, Makey Makey mimics a standard keyboard that connects via USB to any computer (even iPads, I tried!) and sends it keystrokes and mouse clicks. However, you get to create the buttons yourself out of almost any objects. Makey Makey v1.4 and higher (the ones in the red/white box) can connect up to 18 objects that act as buttons, and can re-assign which keystrokes each button generates. Sweet!
For some projects it is worth investing in a (second hand) Makey Makey, instead of fumbling with Arduino code and electronics. It is ready-to-go, easy-to-use, very stable and works well in my experience.
- Very easy to use, including the re-assigning of keys.
- Can connect up to 18 objects.
- Is very sensitive, so even capable of detecting touch on plants.
- Compatible with Windows, Mac, iPad, anything that accepts a USB keyboard.
- Rather expensive.
- Requires some computing device to react/interact.
USB Controlled Relay Board
If you want to switch on/off electrical devices, then relays are useful. They can typically switch on/off any signal between 5V and 230V, like a lamp, motor, magnet, odor dispenser, blow dryer, fan, heating element, dril, etc. Relay board that connect to Arduino are easy to find (examples) and quite cheap. They come with 1, 2, 4 or 8 relays on them.
Also USB controlled relay boards exist (examples). These can be controlled directly from your PC/Mac, typically using very simple serial communication over a USB cable. This removes the need for an Arduino or Arduino coding. In fact, you can then write code running on your PC/Mac in the programming language of your choice.
I stumbled upon a second-hand batch of "DLP-IOR4 Four-Channel Latching USB Relay Modules" (image above). Each of the 4 relays on the board can switch up to 230VAC / 2A. Just plug into PC/Mac, wait for standard FTDI driver to auto-install, and you are ready to go. To open/close a relay, simply send a single character over the serial connection at 9600 bps, as described in the table below.
- No need to use/code Arduino.
- Very compatible with all PC/Mac coding languages and environments.
- Stable and relatively safe, when compared to running 230V over your own-built components.
- Different types exist, and not all are well documented.
OK, Firmata requires you to use an Arduino. So it is not an alternative to using Arduino... But it does offer an alternative way to use the Arduino, that can save you much, much coding work.
Basically, Firmata helps when you use the Arduino not as a standalone processor, but as an intermediate device via which to connect sensors, leds, motors, etcetera to a personal computer. In this setup, the Arduino and PC stay connected and communicate via the serial port (image below). An application running on the PC can interact with devices connected to the Arduino board. If you run Firmata code on a Arduino, then the board interacts with applications written in Processing, Max/MSP, etc, by including the appropriate library. This way, you don't need to write any Arduino code at all!
Read more about Firmata on my "This is Arduino" page, including coding examples.
- Potentially saves you much, much Arduino coding work.
- Only works when a PC/Mac uses the Arduino to sense/actuate in the real world.
- Documentation could be better.