# Ladyada's Learn Arduino - Lesson #0

## Intro

![](https://cdn-learn.adafruit.com/assets/assets/000/033/847/medium800/arduino_50-07.jpg?1468530743)

# Hi there!

If you're here, it's because you want to learn how to build and make stuff with electronics! ([If, rather than learn electronics, you'd like to look at pictures of cats instead, please check https://www.adafruit.com/galleries/cats-of-engineering](https://www.adafruit.com/galleries/cats-of-engineering))

And, you're in luck: there's _never_ been a better time.

Gone are the days where you need thousands of dollars of equipment and lots physics/math background. Nowadays, if you want to learn to work with electronics, you can jump right in for $100 or less, and any sort of computer. And we're talking about learning _a lot_ of electronics - from the basics of analog to the complexities of firmware. With a good pack of parts, you can build a base of knowledge that will take you from your first blinking LED to someone who can start prototyping and inventing custom products.

# Who is this for?

Anyone with a computer they can install software on, an Arduino or compatible and the ability to type and click a mouse. That's pretty much the minimum.

**You don't need to know a lot of physics or math** , and just like an Art Degree isn't required for making art and being creative, **you _don't_ need to have a computer science degree**. It helps if you're comfortable using computers but that's a skill most people pick up through life.

**If you know how to program already - great! If not, don't worry, we'll teach you enough to be dangerous.**

# Who are you?

Great question. This is me:

https://www.youtube.com/watch?v=lHC10q_a7Nc

I'm Ladyada, and I love to teach people how to build stuff and how they can be creative with technology.

So, are you ready?

Let's do this thing!

# What is an Arduino?

Arduino is the name of the little electronic circuit board that you are going to use as a tool to investigate and explore programming & electronics.

[It is manufactured by arduino.cc a company](http://arduino.cc/)&nbsp;led by Massimo Banzi, CEO of Arduino. Here is how they describe themselves:

> Arduino is an open-source prototyping platform based on easy-to-use hardware and software. [Arduino boards](https://www.arduino.cc/en/Main/Products) are able to read inputs - light on a sensor, a finger on a button, or a Twitter message - and turn it into an output - activating a motor, turning on an LED, publishing something online. You can tell your board what to do by sending a set of instructions to the microcontroller on the board. To do so you use the [Arduino programming language](https://www.arduino.cc/en/Reference/HomePage) (based on [Wiring](http://wiring.org.co/)), and [the Arduino Software (IDE)](https://www.arduino.cc/en/Main/Software), based on [Processing](https://processing.org/).
> 
> Over the years Arduino has been the brain of thousands of projects, from everyday objects to complex scientific instruments. A worldwide community of makers - students, hobbyists, artists, programmers, and professionals - has gathered around this open-source platform, their contributions have added up to an incredible amount of [accessible knowledge](http://forum.arduino.cc/) that can be of great help to novices and experts alike.

Here's a photo of Massimo and I at the Adafruit factory, showing off the first Arduino UNO made in the USA!

![](https://cdn-learn.adafruit.com/assets/assets/000/033/890/medium800/arduino_IMG_3092.jpg?1468546736)

# Ladyada's Learn Arduino - Lesson #0

## About This Lesson

![](https://cdn-learn.adafruit.com/assets/assets/000/033/310/medium800/arduino_SearsHouse115.jpg?1466996507)

This lesson won't teach any electronics, really. Its more for making sure that everything is setup and _ready_ for the future lessons. It will verify the board is working as intended and that the computer you are using is compatible.

Think of this tutorial as the **'home base'** of your journey. If things ever get into a weird spot _come back here and re-verify this lesson!_

One of the most important skills you'll have to learn is that when things go wrong (and they will, _tons_) come back to the most basic assumptions. This is a little bit of the "are you sure its on" of electronics. It's surprising how many skilled engineers will spend hours debugging a circuit to realize that...it wasn't plugged in!

# Ladyada's Learn Arduino - Lesson #0

## Which Arduino?

In the ten years since Arduino was first released, there's been a huge proliferation of _hundreds_ of different "Arduino boards" available. On one hand, there's an Arduino for just about every kind of specialized purpose, but on the other hand - it can get quite confusing!

In this tutorial we'll be focusing on the **Arduino UNO** which is the classic Arduino, by far the most popular and is what 99% of projects use. It's basic, well supported, and is a great starter-duino.

![](https://cdn-learn.adafruit.com/assets/assets/000/033/883/medium800/arduino_50-07.jpg?1468540597)

As you do more you will find that there may be other Arduino compatibles you could want!

For example the Arduino Mega is...well, **Mega!** Its a big sister to the UNO with a ton more memory and pins, and a different chip, the **ATmega2560**. It's a good upgrade when your project no longer fits in an UNO

![arduino_mega.jpg](https://cdn-learn.adafruit.com/assets/assets/000/033/884/medium640/arduino_mega.jpg?1468540909)

The Arduino Micro, on the other hand...is a bit smaller! It has a different **Atmega32u4** chip that can do native USB so it can act like a keyboard or mouse. Its slim and has downward-pin headers so you can plug it into a breadboard.

![arduino_micro.jpg](https://cdn-learn.adafruit.com/assets/assets/000/033/885/medium640/arduino_micro.jpg?1468541019)

The Arduino **MKR1000** is a little like an Arduino Micro but has a more powerful 32-bit **ATSAM** ARM chip and built-in WiFi! A great upgrade for when you want to do Internet of Things projects

![arduino_mkr1000.jpg](https://cdn-learn.adafruit.com/assets/assets/000/033/888/medium640/arduino_mkr1000.jpg?1468541314)

[There's also Arduino-compatibles like the Flora we make here at Adafruit](https://www.adafruit.com/flora). It's a round wearable Arduino and rather than use wires you can sew it into clothing for portable soft-electronic projects

![arduino_flora.jpg](https://cdn-learn.adafruit.com/assets/assets/000/033/886/medium640/arduino_flora.jpg?1468541228)

![arduino_flora_Screen_Shot_2013-01-09_at_2.24.49_PM.png](https://cdn-learn.adafruit.com/assets/assets/000/033/887/medium640/arduino_flora_Screen_Shot_2013-01-09_at_2.24.49_PM.png?1468541260)

And really, there are _hundreds_ of others... once you start with the Arduino you can take it anywhere!

# Ladyada's Learn Arduino - Lesson #0

## Lesson Parts

# Required:
 **Assembled Arduino board, preferrably an Uno** or Duemilanove (or whatever the latest version is)

Arduino compatibles will work **but** there's a lot of issues with ultra low cost 'Arduino compatibles' (e.g. eBay, Amazon, etc) where they have shoddy substitutions that can bite you later. It's good to have at least one known-genuine Arduino UNO!

[Available at Adafruit](https://www.adafruit.com/products/50)

![arduino_50-06.jpg](https://cdn-learn.adafruit.com/assets/assets/000/033/311/medium640/arduino_50-06.jpg?1466996665)

You can also use an Adafruit Metro which is a drop-in replacement for the UNO, some components like the LEDs are in different locations.

[Available at Adafruit](https://www.adafruit.com/products/2488)

![arduino_metro.jpg](https://cdn-learn.adafruit.com/assets/assets/000/033/889/medium640/arduino_metro.jpg?1468543515)

 **USB Cable, any length.** The cable should match your Arduino's USB connector. Official Arduino UNOs use USB "Printer Cable", a blocky cable. Some compatibles use USB Mini-B or Micro-B.

[USB Cables available at Adafruit](https://www.adafruit.com/?q=usb%20cable&)

![arduino_62-00.jpg](https://cdn-learn.adafruit.com/assets/assets/000/033/312/medium640/arduino_62-00.jpg?1466996811)

Warning: 

# Not Required but... Recommended!
A plug in wall adapter is handy if you want to run your Arduino project 'standalone'

You can use any adapter that is **Center Positive** and **7 to 12VDC output** - we recommend **9V DC** if possible Check the second photo for the symbol that indicates Center Positive and for the 9V output text. The Arduino is fairly rugged and can survive plugging in the wrong adapter as long as the voltage isn't higher than 20V but it's 'stressful' to the 'duino and you should aim for 9V!

[Available at Adafruit](https://www.adafruit.com/products/63)

![arduino_63-00.jpg](https://cdn-learn.adafruit.com/assets/assets/000/033/313/medium640/arduino_63-00.jpg?1466997122)

![arduino_63-01.jpg](https://cdn-learn.adafruit.com/assets/assets/000/033/314/medium640/arduino_63-01.jpg?1466997355)

 **4 rubber bumpers**

OK these are really optional but we include them because they're so nice to have on an Arduino and they help keep your table from getting scratched up. You can pick these up from a hardware store

[Available from Adafruit](https://www.adafruit.com/products/550)

![arduino_550-01.jpg](https://cdn-learn.adafruit.com/assets/assets/000/033/315/medium640/arduino_550-01.jpg?1466997401)

![arduino_550-02.jpg](https://cdn-learn.adafruit.com/assets/assets/000/033/316/medium640/arduino_550-02.jpg?1466997404)

# Ladyada's Learn Arduino - Lesson #0

## Prepare the Arduino

Ah time to get your little hands on the hardware.

Take your Arduino out of its protective bag or box. Look at it and make sure it looks kinda like this:

![](https://cdn-learn.adafruit.com/assets/assets/000/033/317/medium800/arduino_50-07.jpg?1466997601)

# Check It Out

If there's anything missing or really wrong, make sure to contact the store you bought it from. [For example, here is an Arduino that is missing the two round silver capacitors! (This is _extremely_ rare but it has happened)](http://www.flickr.com/photos/wikityler/1333881941/)

![](https://cdn-learn.adafruit.com/assets/assets/000/033/318/medium800/arduino_missingcaps.jpg?1466997659)

If you have an Arduino compatible, it might look a little different. For example, here's an Adafruit Metro.

![](https://cdn-learn.adafruit.com/assets/assets/000/033/319/medium800/arduino_2488-08.jpg?1466997710)

If you're using a compatible, make sure that for sure:

- It is an **Atmel ATmega328** or **Atmega328P**
- There are headers for plugging wires into
- It runs at 5V (check the product documentation)
- It has a USB-serial chip on board, such as **FT232, FT231x, PL2303** or **CP2102/CP2103/CP2104** which are the most popular and a USB plug

We'll discuss these parts in more detail later but, sometimes 'Arduino compatibles' use completely different chips, so the most important thing is that is an ATmega328 at the core.

# Bump it!

OK, now that you are satisfied that your Arduino looks good, put the rubber bumpers on the bottom of the board. This will protect your Arduino from spills and dirty tables. If your table is made out of metal, this is essential!

Keep your desk clean and keep the 'duino away from paperclips or other metallic items

![](https://cdn-learn.adafruit.com/assets/assets/000/033/320/medium800/arduino_bumperplace.jpg?1466997987)

Warning: 

# Ladyada's Learn Arduino - Lesson #0

## Take a Tour!

![](https://cdn-learn.adafruit.com/assets/assets/000/033/326/medium800/arduino_cow.png?1467000221)

_It's handy to know the names for parts of a cow when talking about cuts of meat!_

Here we'll take a tour and point out the names of the Arduino. You'll want to refer back to this page a ton, so keep it handy when we say something like "DC Jack" or "RX and TX LEDs"

# The Parts of an Arduino

Here's a rough version of the parts of an Arduino we'll refer to. First up is the Arduino UNO R3, at the time of writing it's the most popular Arduino. Each part is covered in more detail in the next sections

![](https://cdn-learn.adafruit.com/assets/assets/000/033/494/medium800/arduino_uno.jpg?1467213347)

Here is an Arduino compatible, Adafruit Metro.

![](https://cdn-learn.adafruit.com/assets/assets/000/033/496/medium800/arduino_metro.jpg?1467213356)

You'll notice that some things are _the same_

- Same overall **board size and shape**
- **Same location of holes** (used for attaching the board to something)
- **Reset button** in the same location
- **High and Low Digital Header** in the same location
- **Power and Analog Header** in the same location
- **DC Power Jack** in the same location

Some things are _similar_

- **Both have a USB Jack** , but the UNO has a large style USB jack, the Metro has a USB Micro jack
- **Both have a Fuse** but in different locations and different look
- **Both have a 5V power supply** , but in different locations and organized a little differently
- **Both have four LEDs: Pin 13 LED, RX and TX LED, and ON LED**. But they are in different locations. The UNO has them in the middle of the board, the Metro they are all on the left.
- **Both have the same Headers** but Metro may have the headers soldered on the top whereas the UNO has the pins go through the board and soldered to the bottom.

Some things are different!

- **Both have a USB Interface chip** , but they are different parts. They act almost the same but the driver is different. This only matters the first time you install the software
- **UNO has a large silver Crystal** , but the Metro does not (the USB interface chip on the Metro doesn't use a crystal)
- **UNO has a large socketted ATmega328 chip.** Metro has a slimmer square version that is not in a socket.
- **Metro has an On/Off switch** , this lets you turn off the power when plugged into DC power. UNO does not have one, its not required just a nicety

# Ladyada's Learn Arduino - Lesson #0

## Microcontroller

Info: 

# Main Chip / Microcontroller

This is the 'brains' of the Arduino. The thing that you program when you program! It's what runs the code, the **CPU** (Central Processing Unit). Kinda like the processor that runs in your computer but much much much simpler and smaller.

![](https://cdn-learn.adafruit.com/assets/assets/000/033/322/medium800/arduino_chip.jpg?1466999131)

The chip has legs! In this case, the legs are plugged into a socket. If you took it out of the socket (not recommended because its easy to accidentally damage it!) you'd see something like this:

![](https://cdn-learn.adafruit.com/assets/assets/000/033/323/medium800/arduino_123-02.jpg?1466999209)

Each of those little legs is a **pin** (they're sharp like pins too, so don't step on one of these by accident, its incredibly painful - don't ask how I know). If you look carefully you will be able to read **ATMEGA328P** on the top.

Sometimes an Arduino has a different _shape_ or _form_ of microcontroller. Like the Metro:

![](https://cdn-learn.adafruit.com/assets/assets/000/033/327/medium800/arduino_smt.jpg?1467000584)

This chip is a more compact version, but its functionally identical for use. It doesn't go into a socket, instead it is attached directly to the Arduino. It also has pins but the pins are much smaller and they sit on the&nbsp;_surface_ of the circuit board, rather than go _through_ holes in it. The main trade off is the bigger _through hole_ version is user-replaceable (with care) whereas this _surface mount_ version is less expensive but cannot be replaced.

# Our Pal, the ATMEGA328

The '328 **microcontroller** has:

- 28 Pins
- Powered by 3 or 5 Volts
- Requires about 0.1 Watts of power
- Runs at 16 MHz
- 32 KB of flash storage
- 2 KB of RAM
- Costs about $5 per

Compare this to, at the time of writing, a common **computer** chip, the Intel i5-6400

![](https://cdn-learn.adafruit.com/assets/assets/000/033/324/medium800/arduino_getimage.jpg?1467000168)

- 1151 Pins
- Powered by 1.35 Volts
- Requires about 35 Watts of power
- Runs at 2800 MHz
- No internal Flash storage, but most computers have at least 250 GB = 250,000 MB = 250,000,000 KB\* of storage
- No internal RAM but most computers have at least 4 GB = 4,000 MB = 4,000,000\* KB of RAM
- Costs about $200

_(\* yes I know its not exactly 1000)_

So, clearly if you want an ultra powerful computer processor that can play the latest games, an i5 is the way to go. But its expensive, and requires a ton of power, and you need to have a full motherboard to run it so it's kinda big. If you just want to do some simple tasks, a microcontroller like the '328 is peachy. Also, its quite handy that it has the RAM and storage inside of it - its not a lot but that means you don't need to hook up a hard drive to this chip, its very compact and complete.

# Simplicity & Sturdiness

What's cool about the microcontroller is that unlike your computer which requires an operating system (Mac OS X or Windows) and booting up, the microcontroller is 'barebones'. When you plug it in, it immediately runs whatever you asked it to do.

And, you don't have to worry about a diskette or hard drive or cd-rom getting scratched or damaged. The storage inside of the chip lasts for a _really long time._ You could program your Arduino, leave it alone for decades, & come back and power it up with a post-apocalyptic-cyber-battery and it would work just as new.

# Ladyada's Learn Arduino - Lesson #0

## Power Jack & Supply

Info: 

# DC Power Jack

There are two ways to power your Arduino: you can use the USB connector to connect to a computer or portable power pack _or_ you can plug into a wall adapter. USB can be used to power and program. DC can only be used for power - but it's great for when you want to connect your Arduino and leave it plugged in for a long term project.

This is the DC Power Jack:

![](https://cdn-learn.adafruit.com/assets/assets/000/033/417/medium800/arduino_dcjack.jpg?1467083260)

The technical specifications for the jack is:

**2.1mm inner diameter, 5.5mm outer diameter with Positive Tip**

That's just the mechanical size of the plug in case you're looking to match it up. It's an extremely common power plug size, so it isn't too hard to find a matching power plug. Sometimes they're just referred to as "2.1mm DC Plug"

You can use a wall adapter like this:

![](https://cdn-learn.adafruit.com/assets/assets/000/033/418/medium800/arduino_63-00.jpg?1467083529)

You can use any adapter that is **Center Positive** and **7 to 12VDC output** - we recommend **9V DC** if possible. Check the following photo for the symbol that indicates Center Positive and for the 9V output text. The Arduino is fairly rugged and can survive plugging in the wrong adapter as long as the voltage isn't higher than 20V but it's 'stressful' to the 'duino and you should aim for 9V!

![](https://cdn-learn.adafruit.com/assets/assets/000/033/419/medium800/arduino_63-01.jpg?1467083608)

# Onboard Power Supply

The Arduino and Metro is designed for beginners so it has some protection and _regulation_ circuitry so that it can use just about any power supply you throw at it. In particular there is a polarity protection diode (to avoid destroying the board if you have a Negative Tip adapter). It also has an **onboard 5V Power Supply:**

![](https://cdn-learn.adafruit.com/assets/assets/000/033/420/medium800/arduino_powersupp.jpg?1467083756)

# Input DC Voltage

The onboard power supply allows you to use **any wall adapter that gives you 7 Volts to 20 Volts** **and will _regulate (adjust)_ that voltage down to a very clean 5 volts**

The tricky thing to remember is you need to have&nbsp;_at least 7 volts&nbsp;_for the power supply to do its thing.

Think of it like a barber. When you go to the hair salon, you have long uneven hair (just like the large, uneven power that is fed into the Arduino). The stylist takes out the scissors and says **OK how long do you want your hair?** and you reply **5 inches long!**

![](https://cdn-learn.adafruit.com/assets/assets/000/033/423/medium800/arduino_haircut.gif?1467086107)

_[Image from openclipart.com](https://openclipart.org/detail/5535/cutting-womans-hair-2)_

\>snip snip\< and your hair is cut straight off, leaving a very clean line

That's pretty much what a voltage regulator does. _Except_ that unlike the scissors that can cut even 5.1" long hair down to 5", the regulator needs some extra hair (er, voltage) to work with. To be precise, it needs **2 Volts** above the desired level. In this case, 5 Volts + 2 Volts = 7 V. That's where the 7V minimum comes from.

Now, the 2 Volts minimum isn't a hard and fast rule, it does vary a little from Arduino to Arduino, but basically:

Warning: 

Your Arduino will sorta run but it will be weak and act oddly

# Output Current

When powering off of the DC jack, you can pull _at most_ 800 milliAmps of current. This is not a guarantee because you also have to make sure that the regulator doesn't overheat. If you're using some other voltage input, the max current you can pull continously is _approximately_

`1.5 Watt / (Input Voltage - 1 V - 5 V) = in Amps`

So for 9V, the max for continuous current is 1.5/(9-1-5) = 0.5 Amps

This is just a rough estimate and depends on if the power usage is continuous or just once in a while.

# Portable Power

OK so if you're plugging into the wall, that wall adapter is great. But what if you're on the go? You can use batteries! Because the voltage regulator doesn't care what is power it, as long as it's higher than 5V you can use a [9V with a plug adapter in a battery case](https://www.adafruit.com/products/67)

![](https://cdn-learn.adafruit.com/assets/assets/000/033/424/medium800/arduino_67-04.jpg?1467087145)

Or even just a simple [9V clip (also with a 2.1mm DC plug)](https://www.adafruit.com/products/80)

![](https://cdn-learn.adafruit.com/assets/assets/000/033/426/medium800/arduino_80-02.jpg?1467087310)

or for very long running projects, [a AA battery pack with a 2.1mm DC jack](https://www.adafruit.com/products/875) will last for hours and can power a ton of LEDs, motors, and more! Great for use with rechargeable batteries

![](https://cdn-learn.adafruit.com/assets/assets/000/033/425/medium800/arduino_875-07.jpg?1467087207)

# Ladyada's Learn Arduino - Lesson #0

## USB Jack & Interface

Info: 

The USB Jack and Interface is next up in our tour

![](https://cdn-learn.adafruit.com/assets/assets/000/033/427/medium800/arduino_usbstuff.jpg?1467087605)

![](https://cdn-learn.adafruit.com/assets/assets/000/033/429/medium800/arduino_usbstuffmetro.jpg?1467087765)

There's a few parts here.

# USB Jack

As we talked about in the beginning, this is how you connect your Arduino to your computer. You can use any computer with a USB port. You will need a cable to connect! This cable is usually not included.

![](https://cdn-learn.adafruit.com/assets/assets/000/033/430/medium800/arduino_592-01.jpg?1467087913)

Info: 

BUT!

Danger: 

I can't stress it enough. Make sure you have a good USB cable. Naughty USB cables will really ruin your day, like a stone in your shoe. Just thow out bad cables and replace with a good one - they are designed to be disposable!

# USB Inteface Chip

OK so you plug your Arduino into a computer with a USB cable. But you may be surprised to learn, the main processor chip (ATmega328) cannot speak "USB". Instead it can talk an interface language called "Serial". Serial is a much simpler, much older interface. (It's also a lot less expensive to build into a chip) So, how do you connect a chip that does not speak USB to a USB port? Easy! you just need a **USB to Serial Interface Translator chip**. Much like a human translator, it can understand and speak both languages and can seamlessly _translate_ between the two.

![](https://cdn-learn.adafruit.com/assets/assets/000/033/434/medium800/arduino_translate.gif?1467088919)

_[Clipart from openclipart](https://openclipart.org/detail/219210/interpreter-bw)_

The USB to Serial translator or converter is just a necessary evil to get an Arduino to talk to a computer. Sometimes to save space and money, there is no USB/Serial chip on board. [Instead, a USB to Serial cable is used](https://www.adafruit.com/products/954). The cable is more expensive but you can use it over and over. There's a lot of different translator chips, some common part numbers are **FTDI FT232** , **FTDI FT231X, CP2102** or **CP2104** , **PL2303** , **CH430** and probably a dozen others. They're all nearly identical but some require different operating system drivers.

# Powering over USB

&nbsp;You can power an Arduino using a USB wall adapter - these come with almost every phone and gadget these days. They have a nice clean 5V output. Some have an output up to 5.5V but thats OK. Basically, if it has a USB connection it will power your 'duino just fine!

![](https://cdn-learn.adafruit.com/assets/assets/000/033/432/medium800/arduino_501-04.jpg?1467088119)

You can _sometimes_ power an Arduino project off of a portable USB power pack but these packs are often designed to charge a phone and the Arduino uses so little power that it will cause the pack to think that it is "done charging" and auto-shutoff

![](https://cdn-learn.adafruit.com/assets/assets/000/033/431/medium800/arduino_1959-00.jpg?1467088015)

So, try it out but your mileage may vary.

# Ladyada's Learn Arduino - Lesson #0

## LEDs

Info: 

Your Arduino has some lights that it can use to give you an idea of what it is up to.

These lights, called **LEDs** (pronounced Ell Eee Dee), are on just about every electronic device you own. Often times they're used to let you know if something is on and if there's an error. For example, here's a cable modem with multiple LEDs.

![](https://cdn-learn.adafruit.com/assets/assets/000/074/878/medium800/learn_arduino_image.png?1556126463)

Each LED indicates the status of the modem.&nbsp; For example, on this device the one on the top is the **POWER** LED, its lit if there's good power. In the middle is the **ONLINE** LED, which lets you know if the modem was able to connect to the Internet. Below, there is the **2.4GHz** and **5GHz** LEDs, that blink when you upload or download data through the modem.

# Arduino LEDs

Likewise, the Arduino has **four** LEDs:&nbsp; **L** ,&nbsp; **RX** ,&nbsp; **TX** , and&nbsp; **ON**

On the UNO, three are in the middle and one is to the right

![](https://cdn-learn.adafruit.com/assets/assets/000/033/451/medium800/arduino_LEDs.jpg?1467161583)

On different Arduino variants, the LEDs may be in a different location. Like on this Metro, they're all on the left in a row

![](https://cdn-learn.adafruit.com/assets/assets/000/033/453/medium800/arduino_metroleds.jpg?1467161705)

The four LEDs include **three 'automatic'** LEDs and **one 'user controllable'** LED:

 **ON** LED - this LED will shine green whenever the Arduino is powered. Always check this LED if your Arduino is not acting right, if its flickering or off then you should check your power supply

![arduino_onled.jpg](https://cdn-learn.adafruit.com/assets/assets/000/033/454/medium640/arduino_onled.jpg?1467161908)

 **RX** and **TX** LEDs - these are like the 'send' and 'receive' LEDs on your cable modem. They blink whenever information is sent from or to the Arduino through the USB connection

The **TX** LED lights up yellow whenever data is sent **from the Arduino to the computer** USB port

The **RX** LED lights up yellow whenever data is sent&nbsp; **to the Arduino from the computer** USB port

![arduino_rxtxleds.jpg](https://cdn-learn.adafruit.com/assets/assets/000/033/455/medium640/arduino_rxtxleds.jpg?1467161918)

 **L** LED - this is the one LED that you can control. The ON, RX and TX LEDs all light up automatically no matter what. The **L** LED, however, is connected to the Arduino main chip and you can turn it on or off when you start writing code.

For future reference, **L** is connected to Digital Pin #13

![arduino_Lled.jpg](https://cdn-learn.adafruit.com/assets/assets/000/033/456/medium640/arduino_Lled.jpg?1467163463)

# Ladyada's Learn Arduino - Lesson #0

## Headers

Info: 

The best part of the Arduino is the **Headers** - this is the name of the two lines of sockets that line up with the edges of the circuit board.

![](https://cdn-learn.adafruit.com/assets/assets/000/033/460/medium800/arduino_headers.jpg?1467164181)

These thin sockets allow you to plug wires into them. You can then connect those wires to all sorts of electronic parts like LEDs, displays, sensors, motors, and more!

For example, here's a future project you'll likely build, its an Arduino wired to a light up text display:

![](https://cdn-learn.adafruit.com/assets/assets/000/033/461/medium800/arduino_ladyadalcd.jpg?1467164465)

Those wires that are _jumping_ between the display and the Arduino are called **Jumper Wires,**  **Jumpers** , or sometimes **Hook up Wires** or even just **Wires**.

You can use fancy premium jumpers with rubber or plastic tips to make gripping them easy:

![](https://cdn-learn.adafruit.com/assets/assets/000/033/462/medium800/arduino_jumpers.jpg?1467164678)

Or cut your own using&nbsp;[22 AWG Solid Core wire](https://www.adafruit.com/products/1311)

![](https://cdn-learn.adafruit.com/assets/assets/000/033/465/medium800/arduino_spools.jpg?1467164794)

[And a pair of wire strippers](https://www.adafruit.com/products/147)

![](https://cdn-learn.adafruit.com/assets/assets/000/033/464/medium800/arduino_strippers.jpg?1467164726)

# Header Sections

There are three _groups_ of headers available:

## Power Header

The power header is in the middle bottom. This header lets you connect to the power pins in order to borrow your power connection from the USB or DC jack and use that to drive motors, sensors, motors, anything you like.

You'll soon get very comfortable with these, but let's just introduce them for now and you can refer back when necessary

![](https://cdn-learn.adafruit.com/assets/assets/000/033/467/medium800/arduino_powerheader.jpg?1467165312)

_Starting from the right..._

- **Vin -** This is connected to the power input from the DC Jack, so it is going to range from 7 V to 12 VDC, depending on what is plugged into the DC Jack. If the DC Jack is not powered, it will provide the 5V from the USB connection. Provides as much as the DC power supply can.
- **GND** - You get two of these here, they are the common _ground_ connection for all power and data
- **5V** - This is the clean _regulated_ 5V power that the Arduino runs on, provided from the DC jack (if plugged in) or USB connection (if DC is not plugged in). Provides up to about 500mA current draw.
- **3.3V** - This is a clean _regulated_ 3.3V power, sometimes you'll need exactly this voltage for some sensors. Provides up to about 100mA current draw.
- **Reset** - This is the same pin connected to the reset button
- **IOref** - Used by shields to know what the IO voltage is. You can ignore this pin.
- **Unnamed pin** - Reserved for future use, don't connect to it!

## Digital Pin Headers

The two digital pin headers are along the top. These are the _digital inputs or outputs_ that you'll be using to control a relay, blink and LED, listen for switches or connect to more complex components. They use 5 Volts for 'high' signals, and 0 Volts for 'low' signals.

You'll soon get very comfortable with these, but let's just introduce them for now and you can refer back when necessary

Danger: 

![](https://cdn-learn.adafruit.com/assets/assets/000/033/468/medium800/arduino_digitalheader.jpg?1467165478)

_Starting from the right..._

The two pins labeled **0 (RX)** and **1 (TX)** are the two Serial pins that are used to [send data to and from the Arduino to the USB-Serial translator chip](../../../../ladyadas-learn-arduino-lesson-number-0/usb-jack-and-interface#usb-inteface-chip).&nbsp;

Warning: 

- **Digital 2** through **Digital 12** are normal every day digital pins. Some can do PWM (we'll talk about that later) and have a squiggly line next to them.
- **Digital 13** is a little special because [it is also connected to the **L LED**.](../../../../ladyadas-learn-arduino-lesson-number-0/leds#step-12) You can use this pin without affecting the Arduino just be aware that the **L** LED will also blink at the same time.

And a few extra straggler pins:

- A spare power **GND** Ground pin
- **AREF** - **A** nalog **Ref** erence pin. Used for advanced analog sensor reading (You'll learn about this later)
- Two unlabeled pins (the labels are on the bottom). These are the **SDA** and **SCL** pins, which are used for connecting I2C type sensors. They are connected inside the PCB to **A5** and **A4** We do not recommend usin these unless you have an I2C sensor (You'll learn about these later)

## Analog Pin Headers

The analog input pins are special pins that can read sensors. You'll soon get your hands dirty with analog sensors, it'll be so much fun!

![](https://cdn-learn.adafruit.com/assets/assets/000/033/469/medium800/arduino_analogheader.jpg?1467166358)

Info: 

Each analog pin can read a voltage between 0 and 5 V (the same voltage used to power the Arduino.

Once you get advanced analog skills you can connect the **ARef** pin to a different voltage like 3.3V and direct the Arduino to use Aref as the max voltage, then you can get more precision. But we'll cover that some other day.

Danger: 

# Shield Add-ons!

As you get more experience with Arduino you'll want to soup it up. Accessories for the Arduino are super popular and many plug into the headers. Normally these would be called "Daughter-cards" but in Arduino parlance they are refered to as **shields**. There are hundreds if not thousands of shields out there that add all sorts of capabilites that the native bare UNO cannot do. Here are a few of our most popular shields:

[The Adafruit DC & Stepper Motor](https://www.adafruit.com/products/1438)shield lets you add high current motor drivers to control up to 2 stepper motors or 4 DC motors, as well as two hobby servos, for all sorts of robotics.

![arduino_motor.jpg](https://cdn-learn.adafruit.com/assets/assets/000/033/891/medium640/arduino_motor.jpg?1468547291)

The&nbsp;[Adafruit 1.8" TFT shield](https://www.adafruit.com/products/802) adds a cute little color display, micro SD card storage and a joystick to create custom graphical interfaces.

![arduino_tftshield.jpg](https://cdn-learn.adafruit.com/assets/assets/000/033/892/medium640/arduino_tftshield.jpg?1468547349)

[The Adafruit Ultimage GPS Data-logger shield](https://www.adafruit.com/products/1272)&nbsp;adds GPS location capability and data logging for geocaching, location-based projects and tracking.

![arduino_gps.jpg](https://cdn-learn.adafruit.com/assets/assets/000/033/893/medium640/arduino_gps.jpg?1468547400)

[The Adafruit NFC/RFID Shield](https://www.adafruit.com/products/789)&nbsp;lets you read and write RFID tags and talk to NFC tags and devices for interactivity and identification.

![arduino_nfc.jpg](https://cdn-learn.adafruit.com/assets/assets/000/033/894/medium640/arduino_nfc.jpg?1468547472)

# Ladyada's Learn Arduino - Lesson #0

## Other Parts

Info: 

There are a smattering of parts that we didn't cover yet so we'll introduce them now.

# USB Fuse
![](https://cdn-learn.adafruit.com/assets/assets/000/033/470/medium800/arduino_fuse.jpg?1467166693)

The little USB fuse is a part that is used to protect your Arduino and computer. You'll be connecting all sorts of wires to your Arduino and there's a chance you will accidentally short out the power. To keep your electronics safe this _resettable fuse_ will open up, much like the circuit breakers in your home

![](https://cdn-learn.adafruit.com/assets/assets/000/033/472/medium800/arduino_OpenClosedPanelboardEEUUCloseupTop.jpg?1467167048)

_[Image from wikipedia](https://en.wikipedia.org/wiki/Distribution_board#/media/File:OpenClosedPanelboardEEUU(GE)CloseupTop.jpg)_

 **Unlike a circuit breaker** you do NOT have to switch or replace anything. Instead you just have to wait a few minutes and it will automatically heal itself

Info: 

# Reset Button
![](https://cdn-learn.adafruit.com/assets/assets/000/033/473/medium800/arduino_resetbutton.jpg?1467167091)

The **Reset** button is often right next to the USB jack but sometimes its on the right side of the board. This button is what you can use to restart the Arduino. It's handy if you want to re-run your program or if it gets stuck. It's just like restarting&nbsp; your phone if it hangs, but resetting an Arduino is instantaneous, it only takes about a second to restart.

# On/Off Switch

This is a part that only appears on the Adafruit Metro.

![](https://cdn-learn.adafruit.com/assets/assets/000/033/474/medium800/arduino_onoff.jpg?1467168680)

This switch lets you turn on or off the **DC Jack only**! It is handy when powering from a wall adapter or battery pack and you want to shut off the Arduino. It does not affect the USB connection so if you power the Arduino from USB it will stay on no matter which way the switch is flipped

# Ladyada's Learn Arduino - Lesson #0

## Power Up Test

Now we are ready for the moment of truth, it's time to plug your Arduino in and power it up. The easiest way to do this is to plug one end of the USB cable into the Arduino and the other end into a computer. The computer will then power the Arduino.

For an Arduino UNO, you'll need a USB cable with a square B-type end:

![](https://cdn-learn.adafruit.com/assets/assets/000/033/871/medium800/arduino_usbcableends.jpg?1468536547)

Make sure that the USB cable is plugged in directly to a computer port. Sometimes monitors or keyboards have a USB port you can plug into. Most of the time this is fine, but I strongly suggest you plug it directly into the computer as that will eliminate any possible problems. Same goes for USB hubs - skip those for now and go direct

Later on, once you've verified you can power the Arduino and upload sketches no problem, then you can try plugging it into other ports.

OK anyways, so plug int he USB cable and check that your Arduino looks like this:

![](https://cdn-learn.adafruit.com/assets/assets/000/033/873/medium800/arduino_plugin.jpg?1468537935)

In particular, make sure the green **ON** LED is lit! The yellow or red **L** LED might also be lit or blinking, and the **RX** and **TX** LEDs might be blinking or lit right after plugging in - this is normal.

If no lights or blinking occurs, double check:

- Is the USB cable plugged into the computer and into the Arduino?
- Try another USB cable
- Check there's nothing metallic touching the Arduino that could be _shorting out_ the device
- Is the computer on?
- Try another USB port, USB cable, and computer?

If you still can't get it working, your Arduino may be faulty.

# Bootloader Reset Test

Next up, you can do a quick **bootloader test** - this will let you know that the Arduino chip has been programmed with a bootloader which is required!

While powered, click the **Reset button** - you will see the&nbsp; **L** LED blink 3 times very rapidly. Don't worry about counting the blinks, just make sure it flashes quickly when reset.

![](https://cdn-learn.adafruit.com/assets/assets/000/033/872/medium800thumb/arduino_bootloaderbutton.jpg?1468537656)

# DC Power Test (Optional)

Another way to power up the Arduino is to plug in a battery or wall adapter into the DC jack.

Verify that you have a 9V DC 100mA or greater power adapter, with a 2.1mm barrel plug and positive tip.

If the box doesn't have any information about the adapter, you can look for these clues.

Make sure the symbol near the bottom of the label is present. It means that the outside of the plug is negative and the inside is positive. A center-negative plug will not work with the Arduino.

![arduino_63-01.jpg](https://cdn-learn.adafruit.com/assets/assets/000/033/875/medium640/arduino_63-01.jpg?1468538617)

To verify the DC plug is the right shape, just try plugging it in. If it doesn't fit or is wobbly, it's the wrong kind. [You can learn how to test wall adapters using a multimeter here.](../../../../multimeters/voltage)

Plug in the adapter and verify you get the green **ON** light!

![](https://cdn-learn.adafruit.com/assets/assets/000/033/876/medium800/arduino_dc.jpg?1468538733)

If not, double check:

- Is the DC adapter plugged in?
- Is the DC adapter the right kind? Check voltage, polarity, plug size, etc.
- Try another adapter.

If you still can't get it working, your Arduino or wall adapter may be faulty.

# Ladyada's Learn Arduino - Lesson #0

## Download Software

To get you all set up, start by installing the **Arduino IDE Software**

This is the free application you'll use to write programs and talk to your Arduino or compatible. Did we mention it is free? How awesome is that?

You can download Arduino from

**[https://www.arduino.cc/en/Main/Software](https://www.arduino.cc/en/Main/Software)**

Warning: 

When you visit the Arduino site you'll see a section like this:

![](https://cdn-learn.adafruit.com/assets/assets/000/033/476/medium800/arduinodl.png?1467169632)

The Arduino software is under constant revision. As of this writing, the version available is 1.6.9 but you may have a more recent version. Just grab whatever is the most recent

## Windows

Download and install with the **Installer.** The Zip file (non-admin install) is not recommended unless you cannot run the installer

## Mac

Download and drag the Application out of the compressed folder.

## Linux

Available for 32-bit or 64-bit Linux, once you download you will need to manually decompress and install

## Raspberry Pi and other ARM-based Linux

There's a new version you can use that is compiled for ARM processors! It works on the Raspberry Pi and will likely work on any other ARM core Linux

# Ladyada's Learn Arduino - Lesson #0

## Install Software (Windows)

# Installing Arduino

Visit **arduino.cc** to download the latest version of Arduino

![](https://cdn-learn.adafruit.com/assets/assets/000/033/478/medium800/arduinodl.png?1467170073)

Click on the **Windows Installer** link to download the installer, then double click to launch it

![](https://cdn-learn.adafruit.com/assets/assets/000/033/477/medium800/arduino_opening.png?1467169949)

You may get a warning asking if you're sure you want to run the installer. It's ok, click **YES**

![](https://cdn-learn.adafruit.com/assets/assets/000/033/481/medium800/arduino_control.png?1467170285)

There is an open source license to click through. Install in the default location

![](https://cdn-learn.adafruit.com/assets/assets/000/033/483/medium800/arduino_dest.png?1467170399)

You can use the default setup installation options

![](https://cdn-learn.adafruit.com/assets/assets/000/033/482/medium800/arduino_setup.png?1467170363)

Finally it will take a minute or two to install

![](https://cdn-learn.adafruit.com/assets/assets/000/033/484/medium800/arduino_installing.png?1467170432)

When done you'll have the software installed

![](https://cdn-learn.adafruit.com/assets/assets/000/033/485/medium800/arduino_duinoicon.png?1467170498)

# Other Drivers

Depending on your Arduino compatible you may need to install seperate drivers for the USB to serial converter

For all Adafruit compatibles, we have an _all in one_ installer that will install all of the Adafruit board drivers. It will also install the FTDI and CP210x drivers

Click below to download our Driver Installer

[Download Adafruit Boards Windows Driver Installer v2.0.0.0](https://github.com/adafruit/Adafruit_Windows_Drivers/releases/download/2.0.0.0/adafruit_drivers_2.0.0.0.exe)
Download and run the installer

![](https://cdn-learn.adafruit.com/assets/assets/000/033/486/medium800/arduino_flora_1download.png?1467171286)

Run the installer! Since we bundle the SiLabs and FTDI drivers as well, you'll need to click through the license

![](https://cdn-learn.adafruit.com/assets/assets/000/033/487/medium800/arduino_flora_2lic.png?1467171352)

Select which drivers you want to install (we suggest selecting all of them so you never have to worry about installing drivers when you start to explore other Arduino-compatibles)

![](https://cdn-learn.adafruit.com/assets/assets/000/046/663/medium800/arduino_driver-installer-v2000.png?1505789919)

Click **Install** to do the installin'

![](https://cdn-learn.adafruit.com/assets/assets/000/033/489/medium800/arduino_flora_4complete.png?1467171422)

You should not need to restart your computer but it's not a _bad_ idea!

# Find your Serial (COM) Port

To verify your Arduino driver installed properly, plug it into USB and open up the **Device Manager**. You can find the Device Manager in the **Control Panel** (search for Device Manager)

![](https://cdn-learn.adafruit.com/assets/assets/000/033/491/medium800/arduino_devicemanager.png?1467171668)

When you open the Device Manager, find the section called **Ports** and expand it:

![](https://cdn-learn.adafruit.com/assets/assets/000/033/492/medium800/arduino_unoCOM.png?1467171702)

You'll see an icon next to some text that says **Arduino UNO (COMxx)** where **xx** is a number

If you have a Metro, it won't say Arduino UNO, just **USB Serial Port (COMxx)**

![](https://cdn-learn.adafruit.com/assets/assets/000/033/493/medium800/arduino_genericCOM.png?1467171801)

The COM number may vary but it should be something like **COM3** or **COM4**. The COM stands for "communication", and each one has a unique number, known as the COM Port number. In this case the COM Port number is COM18.

You can unplug your Arduino to see the COM port device disappear and re-appear when plugged in.

If you **don't** see the Arduino show up, check:

- Is your cable a data cable or charge only? Try another USB cable
- Try another USB port!
- Verify you installed the drivers, you can always try installing them again (never hurts)
- Check your Arduino does not need some other drivers, your vendor can point you at the right driver if necessary

# Ladyada's Learn Arduino - Lesson #0

## Install Software (Mac OS X)

# Installing Arduino

Visit **arduino.cc** to download the latest version of Arduino

![](https://cdn-learn.adafruit.com/assets/assets/000/033/848/medium800/arduinodl.png?1468533465)

Click on the **Mac OS X Installer** link to download the installer

![](https://cdn-learn.adafruit.com/assets/assets/000/033/852/medium800/arduino_screenshot_01.png?1468533714)

Then double click to expand/launch it

![](https://cdn-learn.adafruit.com/assets/assets/000/033/850/medium800/arduino_expanding.png?1468533669)

it will automatically give you the **Arduino app** the teal icon:

![](https://cdn-learn.adafruit.com/assets/assets/000/033/851/medium800/arduino_icon.png?1468533686)

# Install Drivers (if not using Arduino UNO)

If you have an official Arduino UNO you won't need to install any other software. However, if you have an Arduino compatible with a **CP210x** or **FTDI** USB to serial converter, you may need to install a driver.

You can download the latest [CP210x driver here](https://www.silabs.com/products/mcu/Pages/USBtoUARTBridgeVCPDrivers.aspx) and the&nbsp;[latest FTDI driver](http://www.ftdichip.com/Drivers/VCP.htm) here

## Installing SiLabs CP210x Drivers
You can download the latest [CP210x driver here](https://www.silabs.com/products/mcu/Pages/USBtoUARTBridgeVCPDrivers.aspx)

Visit the website, download and double-click the **pkg** to install the driver. Once done, reboot!

![arduino_silabs.png](https://cdn-learn.adafruit.com/assets/assets/000/033/853/medium640/arduino_silabs.png?1468534063)

![arduino_sidrive1.png](https://cdn-learn.adafruit.com/assets/assets/000/033/854/medium640/arduino_sidrive1.png?1468534085)

![arduino_silic.png](https://cdn-learn.adafruit.com/assets/assets/000/033/855/medium640/arduino_silic.png?1468534108)

![arduino_siinstalling.png](https://cdn-learn.adafruit.com/assets/assets/000/033/856/medium640/arduino_siinstalling.png?1468534172)

## Installing FTDI Drivers
You can download the&nbsp;[latest FTDI driver](http://www.ftdichip.com/Drivers/VCP.htm) here

Visit the website, download and double-click the **pkg** to install the driver. Once done, reboot!

![arduino_ftdi1.png](https://cdn-learn.adafruit.com/assets/assets/000/033/857/medium640/arduino_ftdi1.png?1468534330)

![arduino_ftdi2.png](https://cdn-learn.adafruit.com/assets/assets/000/033/858/medium640/arduino_ftdi2.png?1468534344)

![arduino_ftdi3.png](https://cdn-learn.adafruit.com/assets/assets/000/033/859/medium640/arduino_ftdi3.png?1468534354)

![arduino_ftdidone.png](https://cdn-learn.adafruit.com/assets/assets/000/033/860/medium640/arduino_ftdidone.png?1468534391)

# Find your Serial Port Device

You can use **Terminal** to help find and verify your Arduino. First, launch the **Terminal** app - you can Command-F to Find the **Terminal.app** program:

![](https://cdn-learn.adafruit.com/assets/assets/000/033/861/medium800/arduino_terminal.png?1468535195)

Double click to launch it. At the text prompt, type in `ls /dev/cu*` (note the first letter is a lower-case L)

![](https://cdn-learn.adafruit.com/assets/assets/000/033/862/medium800/arduino_lstty.png?1468535228)

Make sure you see a line with the text **/dev/cu.usbmodem_xxxx_** or **/dev/cu.usbserial-_xxxxx_** where the xxx's can be anything. This indicates that the driver installed properly and that the Arduino was found.

You can close the Terminal program now

# Ladyada's Learn Arduino - Lesson #0

## Install Software (Linux)

# Installing Arduino

Visit **arduino.cc** to download the latest version of Arduino

Warning: 

![](https://cdn-learn.adafruit.com/assets/assets/000/033/865/medium800/arduinodl.png?1468536028)

Click on the matching **Linux Installer** link (32 bit, 64 bit or ARM) to download the installer - save the file to your Downloads folder

![](https://cdn-learn.adafruit.com/assets/assets/000/033/866/medium800/arduino_download.png?1468536076)

From within your Terminal program, **cd** to the Downloads directory, and untar the package with **tar xf arduino\*.xz** then **cd** into the **arduino-n.n.n** folder created:

![](https://cdn-learn.adafruit.com/assets/assets/000/033/867/medium800/arduino_untar.png?1468536145)

Run **./install.sh** to install the software. I've got an old Ubuntu install so I got warnings, but it did create that desktop icon for me!

![](https://cdn-learn.adafruit.com/assets/assets/000/033/868/medium800/arduino_install.png?1468536234)

# Driver Installation

Linux doesn't have any drivers to install, assuming you're running a v2.6 kernel or higher, which is almost certainly true. These instructions assume you're running Ubuntu. Each Linux distribution is different, but the instructions should be basic enough to follow for other distros.

You can verify your kernel version by running **uname -a** in a terminal window, note that this kernel is version **2.6.20**

![](https://cdn-learn.adafruit.com/assets/assets/000/033/864/medium800/arduino_uname.png?1468535524)

And this one is **3.2.0-23**

![](https://cdn-learn.adafruit.com/assets/assets/000/033/863/medium800/arduino_lin32.png?1468535496)

Some older Linux distributions used to install **brltty** (braille device) which will conflict with the Arduino. You **must uninstall brltty if it is installed!** Do so by running `sudo apt-get remove brltty `or equivalent In a terminal window. If it says it's not installed then thats OK. If you're not running a Debian-derived installation use whatever tool is necessary to verify that you don't have **brltty** running

# Verify your Serial Port

Plug in the Arduino, verify that the green LED is lit, and type **ls /dev/ttyUSB\*** into a terminal window, you should see a device file called something like ttyUSB0

![](https://cdn-learn.adafruit.com/assets/assets/000/033/869/medium800/arduino_lstty.png?1468536338)

If you can't seem to find it, use **dmesg | tail** right after plugging in the Arduino and look for hints on where it may put the device file. For example here is says **Serial Device converter now attached to ttyUSB0**

![](https://cdn-learn.adafruit.com/assets/assets/000/033/870/medium800/arduino_dmsgtail.png?1468536357)

If you see something like this

`[1900.712000] ftdi_sio 2-10:1.0: FTDI USB Serial Device converter detected[1900.712000] drivers/usb/serial/ftdi_sio.c: Detected FT232BM[1900.712000] usb 2-10: FTDI USB Serial Device converter now attached to ttyUSB0[1901.868000] usb 2-10: usbfs: interface 0 claimed by ftdi_sio while 'brltty' sets config #1 [1901.872000] ftdi_sio ttyUSB0: FTDI USB Serial Device converter now disconnected from ttyUSB0 [1901.872000] ftdi_sio 2-10:1.0: device disconnected`

That means you have not uninstalled **brltty** and you should try again.

# Ladyada's Learn Arduino - Lesson #0

## Install Software (Codebender)

It's possible to use a Chromebook/ChromeOS for programming Arduino. The good news is that you _don't_ need to install any software. Instead you will register and use **Codebender.cc** which is an online version of the Arduino software. We'll still primarily have examples that use the desktop version because it's a little more powerful and is the latest and greatest but codebender does 95% of what the desktop version does and its free too!

[Visit **codebender.cc** to register an account](https://codebender.cc/)

![](https://cdn-learn.adafruit.com/assets/assets/000/033/877/medium800/arduino_codebenderlogotransparent28229-1.png?1468539044)

[Go through their walkthrough setup procedure](https://codebender.cc/static/walkthrough/page/1)&nbsp;and install the **Chrome Plugin**

![](https://cdn-learn.adafruit.com/assets/assets/000/033/882/medium800/arduino_walkthru.png?1468540054)

When you get to this step, select **Arduino UNO**

![](https://cdn-learn.adafruit.com/assets/assets/000/033/878/medium800/arduino_selectuno.png?1468539422)

And in the next step, your Serial port:

![](https://cdn-learn.adafruit.com/assets/assets/000/033/881/medium800/arduino_chromeos.png?1468539937)

If you're using Windows or Mac you may still need to install drivers so be sure to do that in case the serial port doesnt appear


## Featured Products

### Adafruit METRO 328 Fully Assembled - Arduino IDE compatible

[Adafruit METRO 328 Fully Assembled - Arduino IDE compatible](https://www.adafruit.com/product/50)
We sure love the ATmega328 here at Adafruit, and we use them&nbsp;_a lot_&nbsp;for our own projects. The processor has plenty of GPIO, Analog inputs, hardware UART SPI and I2C, timers and PWM galore - just enough for most simple projects. When we need to go small, we use a <a...></a...>

Out of Stock
[Buy Now](https://www.adafruit.com/product/50)
[Related Guides to the Product](https://learn.adafruit.com/products/50/guides)
### Adafruit METRO 328 - Arduino Compatible - with Headers

[Adafruit METRO 328 - Arduino Compatible - with Headers](https://www.adafruit.com/product/2488)
This is the&nbsp; **Adafruit METRO Arduino-Compatible - with&nbsp;headers.&nbsp;** It's a fully assembled and tested microcontroller and physical computing board with through-hole headers attached.&nbsp; If you don't want a&nbsp;Metro with the headers attached for...

In Stock
[Buy Now](https://www.adafruit.com/product/2488)
[Related Guides to the Product](https://learn.adafruit.com/products/2488/guides)
### Adafruit METRO 328 without Headers

[Adafruit METRO 328 without Headers](https://www.adafruit.com/product/2466)
We sure love the ATmega328 here at Adafruit, and we use them _a lot_ for our own projects. The processor has plenty of GPIO, Analog inputs, hardware UART SPI and I2C, timers and PWM galore - just enough for most simple projects. When we need to go small, we use a <a...></a...>

No Longer Stocked
[Buy Now](https://www.adafruit.com/product/2466)
[Related Guides to the Product](https://learn.adafruit.com/products/2466/guides)
### USB Cable - Standard A-B

[USB Cable - Standard A-B](https://www.adafruit.com/product/62)
This here is your standard A-B USB cable, for USB 1.1 or 2.0. Perfect for connecting a PC to your Arduino, USBtinyISP (among other things).  
  
3 feet / 1 meter long  
  
Color may vary!

In Stock
[Buy Now](https://www.adafruit.com/product/62)
[Related Guides to the Product](https://learn.adafruit.com/products/62/guides)
### 9 VDC 1000mA regulated switching power adapter - UL listed

[9 VDC 1000mA regulated switching power adapter - UL listed](https://www.adafruit.com/product/63)
This is a really nice power supply. It's a switching DC supply so it's small and light and efficient. It is thin so it fits in power strips without blocking other outlets. The output is regulated so you'll get a steady 9V up to 1000mA (1 Amp) of current draw. 5.5mm/2.1mm barrel...

In Stock
[Buy Now](https://www.adafruit.com/product/63)
[Related Guides to the Product](https://learn.adafruit.com/products/63/guides)
### Adafruit MetroX Classic Kit - Experimentation Kit for Metro 328

[Adafruit MetroX Classic Kit - Experimentation Kit for Metro 328](https://www.adafruit.com/product/170)
Interested in making neat stuff with an Arduino-compatible board but not sure where to start? This kit includes all the pieces needed to complete over 20 different circuit and projects. Basically everything you need to be playing within minutes of its arrival. **No soldering required,...**

No Longer Stocked
[Buy Now](https://www.adafruit.com/product/170)
[Related Guides to the Product](https://learn.adafruit.com/products/170/guides)
### Arduino Starter Kit from Arduino.cc

[Arduino Starter Kit from Arduino.cc](https://www.adafruit.com/product/1078)
 **Discontinued.&nbsp;**

**Note** - It is possible that this product&nbsp;may be put&nbsp;back on the site for sale.&nbsp;

The **Arduino Starter Kit** provides an open-source electronics prototyping platform based on flexible, easy-to-use...

No Longer Stocked
[Buy Now](https://www.adafruit.com/product/1078)
[Related Guides to the Product](https://learn.adafruit.com/products/1078/guides)
### Adafruit Metro 328 Starter Pack

[Adafruit Metro 328 Starter Pack](https://www.adafruit.com/product/68)
Heard about [Arduino IDE-compatibles](http://www.arduino.cc) but not sure how to start? The Adafruit Metro is an ATmega328-based (like _a lot_ of our own products) development board. Since it is shaped the same, and code/shield-compatible with the Arduino UNO R3 design, our...

No Longer Stocked
[Buy Now](https://www.adafruit.com/product/68)
[Related Guides to the Product](https://learn.adafruit.com/products/68/guides)

## Related Guides

- [Create an Internet of Things Dashboard with Adafruit IO](https://learn.adafruit.com/create-an-internet-of-things-dashboard-with-adafruit-dot-io.md)
- [Arduino Lesson 6. Digital Inputs](https://learn.adafruit.com/adafruit-arduino-lesson-6-digital-inputs.md)
- [Adafruit Ultimate GPS Logger Shield](https://learn.adafruit.com/adafruit-ultimate-gps-logger-shield.md)
- [Affordable HAL 9000 Replica](https://learn.adafruit.com/hal-9000-replica.md)
- [Arduino Tips, Tricks, and Techniques](https://learn.adafruit.com/arduino-tips-tricks-and-techniques.md)
- [Adafruit Proto Shield for Arduino](https://learn.adafruit.com/adafruit-proto-shield-arduino.md)
- [Adafruit BMP388 and BMP390 - Precision Barometric Pressure and Altimeter](https://learn.adafruit.com/adafruit-bmp388-bmp390-bmp3xx.md)
- [Character LCDs](https://learn.adafruit.com/character-lcds.md)
- [Photocells](https://learn.adafruit.com/photocells.md)
- [Adafruit MSA301 Triple Axis Accelerometer](https://learn.adafruit.com/msa301-triple-axis-accelerometer.md)
- [Arduino Ethernet + SD Card](https://learn.adafruit.com/arduino-ethernet-sd-card.md)
- [DIY 8x2 LCD Shield](https://learn.adafruit.com/diy-8x2-lcd-shield.md)
- [Adafruit 1.27" and 1.5" Color OLED Breakout Board](https://learn.adafruit.com/adafruit-1-5-color-oled-breakout-board.md)
- [Digital Circuits 7: MCUs... how do they work?](https://learn.adafruit.com/mcus-how-do-they-work.md)
- [36mm LED Pixels](https://learn.adafruit.com/36mm-led-pixels.md)
