Introduction: Welcome to Arduino
Have you ever wanted to tinker with technology? Arduino exists to help creative people and techno-beginners build projects with electronics. As a platform, it fast-tracks users to success by helping ease the setup burden and learning curve usually associated with electrical engineering and computer science.
Arduino is the best way to get started with microcontroller programming and building your own circuits that sense and react to the world around them. In this class, we'll get creative with electronics and get comfortable with the concepts you'll use to launch your long and fruitful Arduino journey.
The name Arduino defines several layers of your experience:
- software - used to compose your programs and communicate with the hardware, called an integrated development environment (Arduino IDE)
- hardware - refers to the boards themselves (e.g. Arduino Uno)
- programming language - the Arduino programming language is based on C
- trademark - Other brands may manufacture Arduino-compatible hardware, but only some boards are official, and owning their trademark provides some unique protections. For instance, it allows the hardware and software to remain open source.
Arduino is also a huge global community, which means you'll find vast quantities of inspirational projects, sample code, and solutions to your problems online.
Step 1: What You'll Learn
The following lessons are designed to build your skills in Arduino incrementally over time, leaving you with enough basic knowledge to go out and create projects from your imagination.
Early on, you'll do breadboard experiments to increase your familiarity with key concepts of electricity, components, and coding in the Arduino language.
Adding interactivity will be your next challenge. While you level up your hardware skills to add buttons and knobs to control your circuits, you'll also learn more programming concepts.
Then you'll acquire a variety of skills for building and programming, including soldering, understanding the power requirements of your Arduino projects, installing code libraries, and controlling a strip of addressable LEDs.
Finally you'll build a complete project: the Infinity Mirror. You'll work through all the steps of developing this fun and easy project, and you may even be inclined to customize the design!
The conclusion is filled with tips about continuing your Arduino journey after this class. Learn how to find code and circuit examples online, find the value in sharing with the community, and increase the durability of your circuits. You will graduate with the confidence to take on infinite Arduino projects in the future!
Step 2: Meet Your Instructor
Hi, I'm Becky Stern! I first used Arduino in college in 2006 at Parsons School of Design. I found it so much easier to use than the PIC chips and BASIC stamps that I had been using to add interactivity to my arts and design projects before. I have always been very crafty (have you seen my knitting or braids classes?), and so I began integrating Arduino into my sewing and toy design projects. In 2007 I published a tutorial for Arduino-driven plush irradiated sirloin steaks in MAKE Magazine, Volume 11. After graduating with a BFA in Design & Technology, I pursued graduate studies at Arizona State University in sculpture and transdisciplinary design. I dropped out of grad school to work at MAKE Magazine full time, where I produced dozens of tutorials and videos, including a live web show.
From 2012 to earlier in 2016 I worked as Adafruit's director of wearable electronics, similarly publishing instructional content and hosting a live web show. Now I'm on the Instructables Design Studio team, writing this class and still publishing how-to content on the regular. In addition to publishing tutorials on all kinds of topics, I enjoy playing with my dog, making YouTube videos, vintage motorcycles, and hanging out at my local hackerspace, NYC Resistor. I also teach a class called Making Studio in the MFA Products of Design program at NYC's School of Visual Arts.
Step 3: Arduino History
The origin story of Arduino is long and complicated, with more characters than Game of Thrones. I'll attempt to summarize it here, with a focus on the evolution of the hardware and community.
In the early 2000s, students and professors at the Interaction Design Institute Ivrea (IDII) in Italy developed a new microcontroller board for use specifically by artists and designers. They held workshops and seminars using the boards throughout different iterations, which were programmed using Wiring, a creative coding platform developed by Hernando Barragán. Wiring easily allowed creators to program microcontrollers by providing a supportive software environment, a bootloader for easily uploading programs to the board, and a comprehensive online reference including add-on libraries and forums.
Some other members of IDII partnered with a manufacturer to develop a version of the hardware that used an Atmega8 microcontroller, and Arduino was born. The original Arduino team members' names can be found on the Arduino NG board pictured above: Massimo Banzi, David Cuartielles, Tom Igoe, Gianluca Martino, and David Mellis.
The Arduino Uno we'll use in this class is the flagship development board of the Arduino brand, and it is the latest iteration in a long line of boards with a mission to make it easier for non-engineers to use.
Features accrued over time, and DIY upgrade tutorials also were published, when applicable. I recall hand-soldering a capacitor to two pads on my Arduino NG in order to take advantage of a new Diecimila update. The pin layout was consistent between boards (with some more pins added in later models) so that add-on shields could be backwards compatible. There's a full chronology about the board that became the Uno on the Arduino site.
Other boards with specialized functions have been released in the Arduino product line. Need more inputs and outputs? Use an Arduino Mega. Want a smaller circuit board and USB keyboard functionality? Use an Arduino Micro. And so forth. Official Arduino boards are all natively supported by the Arduino software.
For the enthusiast, it's possible to develop your own hardware that works with the Arduino software, too. Because Arduino is an ecosystem of open source hardware and software, it's possible to develop your own hardware that works with the Arduino software. It is also possible to build on the circuit to create a version to suit a more specific function, and manufacture and sell those designs. Because the plans have been freely available online, you'll see hundreds of Arduino-compatible boards designed by corporations and individuals alike, ranging wildly in function and complexity. Some are designed to be pin-compatible with the Arduino Uno, like the Sparkfun Redboard or Adafruit Metro. More compact boards for building tidy small circuits like the Pro Trinket and Pro Mini make it easy to translate your breadboard prototype to a finished project. Complex boards like the Huzzah (wifi), Touch Board (capacitive touch + audio playback), and Circuit Playground (beginner lessons baked into the board) empower beginners to accomplish very sophisticated projects with ease.