What is Arduino?

At its core, the Arduino is a small, programmable microcontroller board that accepts and stores code from your computer capable of cool outcomes ranging from controlling lights to making music. The Arduino itself is a physical board that connects to your computer through a USB cable and downloads code from an application on your PC. The software, also called Arduino, is where you program your own code (or sketches, as the Arduino software refers to them).

Arduino is a tool for making computers that can sense and control more of the physical world than your desktop computer. It's an open-source physical computing platform based on a simple microcontroller board, and a development environment for writing software for the board. Arduino can be used to develop interactive objects, taking inputs from a variety of switches or sensors, and controlling a variety of lights, motors, and other physical outputs. Arduino projects can be stand-alone, or they can communicate with software running on your computer (e.g. Flash, Processing, MaxMSP.) The boards can be assembled by hand or purchased preassembled; the open-source IDE can be downloaded for free. The Arduino programming language is an implementation of Wiring, a similar physical computing platform, which is based on the Processing multimedia programming environment.

Why should I use Arduino instead of other micro-controller physical computing platform?

There are many other microcontrollers and microcontroller platforms available for physical computing. Parallax Basic Stamp, Netmedia's BX-24, Phidgets, MIT's Handyboard, and many others offer similar functionality. All of these tools take the messy details of microcontroller programming and wrap it up in an easy-to-use package. Arduino also simplifies the process of working with microcontrollers, but it offers some advantage for teachers, students, and interested amateurs over other systems:

  • Inexpensive - Arduino boards are relatively inexpensive compared to other microcontroller platforms. The least expensive version of the Arduino module can be assembled by hand, and even the pre-assembled Arduino modules cost less than $50
  • Cross-platform - The Arduino software runs on Windows, Macintosh OSX, and Linux operating systems. Most microcontroller systems are limited to Windows.
  • Simple, clear programming environment - The Arduino programming environment is easy-to-use for beginners, yet flexible enough for advanced users to take advantage of as well. For teachers, it's conveniently based on the Processing programming environment, so students learning to program in that environment will be familiar with the look and feel of Arduino
  • Open source and extensible software- The Arduino software is published as open source tools, available for extension by experienced programmers. The language can be expanded through C++ libraries, and people wanting to understand the technical details can make the leap from Arduino to the AVR C programming language on which it's based. Similarly, you can add AVR-C code directly into your Arduino programs if you want to.
  • Open source and extensible hardware - The Arduino is based on Atmel's ATMEGA8 and ATMEGA168 microcontrollers. The plans for the modules are published under a Creative Commons license, so experienced circuit designers can make their own version of the module, extending it and improving it. Even relatively inexperienced users can build the breadboard version of the module in order to understand how it works and save money.

How to get started with Arduino?

Arduino is both a piece of hardware and a piece of software. You install the software, use it to compile code, and upload the code to the hardware. The code is stored on the Arduino itself. You can upload and delete code from your Arduino as much as you like. You need to download and install:

  1. Copy, Paste, and Run the Code in Processing. Open up Processing on your computer. Copy and paste the Processing code (it's the orange text) from Rajarshi Roy's blog into Processing. Click Sketch > Run. This will open a small window on your computer screen displaying the most prominent color currently on the screen and will eventually export it out to the Arduino. If the window doesn't open up on your screen, the program isn't running. Repeat the steps and make sure it's properly building the script.
  2. Copy, Paste, and Run the Code in Arduino. Open the Arduino software and paste the Arduino code (the text in the box near the bottom of the post) into a new sketch. Click Sketch > Verify / Compile to make sure the code is properly in there. Save the file and then attach the Arduino to your computer with the USB cable. Click File > Upload. Now everything is ready on the software side. For now, you can disconnect the Arduino from the computer because we're going to get the circuit put together.
  3. Connect the Circuit Driver and LED Strip to the Breadboard

See also:

Where should I buy Arduino from?

Need to buy a multimeter and a soldering iron kit as well.

What other components do I also want to get in addition to Arduino?

  • Jumper Wires
  • RGB LED Strip
  • Soldering iron and solder
  • Breadboard: The breadboard makes connections between different electronics without soldering them together. It's made up of a grid of tiny holes where you can connect different components. These holes are all linked like a small Lite-Brite. On the outside of the board, they're linked horizontally so that one end of the board is connected to the other. On the inside they're linked vertically. This makes it so one wire can send information to another component without having to physically connect them.
  • LED Circuit Driver: Circuit drivers are used in place of complicated electronics code. A number of different types of circuits exist, but for this project we're using the LED driver so it can control the lights without a lot of extra work.
  • 12V DC Power Supply
  • DC Barrel Jack Adaptor: This adaptor connects the power supply into the breadboard directly so you don't have to splice the power supply cable in half and do it yourself.

What are some of things that people have done with their Arduino?

  • Turn off an idle home theater amplifier: If you consistently leave your amplifier on after listening to music or watching movies. This clever Arduino hack monitors the audio levels and turns off your amp when it's not in use.
  • Monitor your computer's heat: You can use programs to monitor your computer's heat, but if you're looking for a fun and flashy way to tell you what's going on, this project uses an Arduino to monitor the temperature inside your case. If it gets too hot, it lights up so you know what's going on.
  • Sunrise Alarm Clock: Waking up to an alarm sucks no matter how used to it you are. The sunrise alarm clock solves the problem by warming up the room with sunrise-like colors and lights before an alarm goes off. This one looks a bit complicated because of the number of cables, but as long as you can keep track of everything it's surprisingly easy.
  • Luminch One wave controlled light: The Luminch One is an interactive lamp you can control by waving your hand to control the brightness. This project appears fairly complicated on first glance, but the bulk of the difficulty is assembling the lampshade out of balsa wood.
  • PC Ambient Lighting: Adding ambient lights to a PC can make your video watching experience exceptionally cool. Using an Arduino and a little code on your PC, it monitors your screen and creates lighting behind your monitor. We're going to walk you through this project by Rajarshi Roy's project in the next section.

What other reading should I do on Arduino?

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License