Making Things With Arduino & Pi

When you thing of home made electronics, you instantly think of the hacker films of the 90s. Little devices with wires coming out that can seemingly hack anything. I’ve always been fascinated with this outlook, so when I stumbled on the Arduino, I instantly fell in love.

A basic Arduino project

The Arduino is a little board that runs basic C code, and can read from and send to various data pins on the board. The digital pins can, for instance, be used to toggle a relay by sending a signal out of the board using code. That same pin can also be read by the Arduino, such as reading the state of a switch.

Some of the pins also feature analog inputs, and this is where things start to get interesting. These pins can read the state of various sensors, with a value between 0V and 5V being turned into values in the Arduino. As an example, you can read the value of a temperature sensor, and if the reading reaches a certain level, you can send a signal out of the digital pin to control a fan. Smart climate control in just a few lines of code!

There are lots of different Arduino boards — The Arduino Uno being the most commonly used, however there is the Arduino Mega, which features lots more inputs, and the Arduino Leonardo, which can act as a native USD HID device, acting as a mouse or keyboard.

The Arduino has been around for quite a few years now, and since its inception we’ve seen a rise in computer-on-a-board systems — the most famous of this is the Raspberry Pi. The Pi features a quad core ARM processor capable of running a full blown operating Linux.

The Raspberry Pi 3

Although the Pi also features an array of digital pins that can be wrote to and read from, there are some differences between the Pi and the Arduino. The main difference is the the Arduino is a bare bones system — the code you write for it is in C++ and is compiled down the to native architecture and executed when power is applied. The code can’t be changed without recompiling and re-uploading to the board.

On the other hand, the Pi is a full blown computer. Plug in a keyboard and mouse, and a monitor, and away you go. You can program in the Pi in pretty much any language you want — there are bindings to most languages for the GPIO pins. Python, C, Bash, command line, there’s even a way to control the pins from Javascript!

If you’ve always wanted to look like a hardware hacker, it’s now easier than ever.