Introduction: The RRRRRRRRRRBBA, a $3 Arduino

Picture of The RRRRRRRRRRBBA, a $3 Arduino

Hey, we all LOVE the Arduino, and for my projects I make extra sure that I used the Arduino platform, so that everyone in the artist and hacker community could springboard off it for their own projects, and so that I can springboard off them. Its so universal and easy to learn!   But,  there are a few things THEY don't want you to know about the Arduino:

Starting with the SHOCKING REVELATION THAT....

Step 1: For a Microcontroller, the Arduino Is NOT CHEAP!

Picture of For a Microcontroller, the Arduino Is NOT CHEAP!

1. the Arduino is NOT a cheap microcontroller!

When Arduino-lovers like me say "Wow, the Arduino is such a cheap microcontroller!" this is not strictly true -- it is very cheap for what it is, but type "microcontroller" into Mouser's search box and you will find microcontrollers that cost 30 cents, not 30 dollars.

thats because....

(go to next page)

Step 2: The Arduino Is NOT a Microcontroller!

Picture of The Arduino Is NOT a Microcontroller!

2. The Arduino is NOT a microcontroller!

Of course, the Arduino is not a microcontroller, but rather a development environment for microcontrollers -- including a programmer board, a software program for the computer, and a programming language, in addition to the microcontroller chip itself.  A programming/debugging solution the Arduino is extremely easy and friendly to use, and the level of support you get with it is well worth the money. But really, the term "microcontroller" refers specifically to the ATMEGA chip that is on the Arduino debug board.  All the other stuff on the board (the fancy power supply, the LEDs, the reset button, the programming circuitry, the USB-to-Serial converter) is totally optional.

Could that possibly mean that....

(read on)

Step 3: The ATMEGA Chip Works Fine Without the Arduino Board!

Picture of The ATMEGA Chip Works Fine Without the Arduino Board!

3. The ATMEGA chip works great WITHOUT the Arduino board!

Arduinos that have been pre-loaded with the "Lilypad" bootloader firmware, instead of the standard Diecimila or Uno firmware, have a very special property:  after you program such an Arduino with your own code, you can then take the $3 ATMEGA168 chip out of the programmer board, supply 5V power to it (such as the power from a USB bus or cell phone charger), and it will still work the same and do the same amazing things that your $30 Arduino does, all by its lonesome! You only need the Arduino board to program the chip -- after that, the chip can fly solo! 

Before you upload your code to the Arduino, you need to pre-load the Lilypad bootloader fimware. Buy an AVRISP mkII and follow the instructions here: .  Make sure you have "Lillypad" selected as the board you are using in the "Tools" dropdown menu of the Arduino IDE window on your computer. 

UPDATE: I am not sure if the Lilypad bootloader is compatible with newer boards like the UNO, which have an auto-reset feature the Lillypad doesnt have. If you have a newer board you may or may not have to disable your board's auto-reset feature by following these instructions -- .  Please comment if you have tried this method with an UNO -- my own board is a bit of an antique!

Step 4: The ATMEGA Chip IS a Cheap Microcontroller!

Picture of The ATMEGA Chip IS a Cheap Microcontroller!

4. The ATMEGA chip IS a cheap microcontroller!

The ATMEGA168 chip, which does everything the Arduino can do, costs about $3.00.  (You can also use the equally cheap ATMEGA328 or ATMEGA328p -- but DONT use an ATMEGA168p -- the Arduino gods decided not to support it for some reason.)

Step 5: Some Caveats:

Picture of Some Caveats:

** Caveat #1 : The reason this trick works is that, unlike most Arduinos, the Lilypad Arduino is clocked by the ATMEGA's built-in oscillator instead of by an additional crystal oscillator circuit. This lack of additional oscillator circuitry makes wiring up the circuitry a lot simpler, but as a result the chip runs slower (8MHz instead of 16MHz) and its timing is not as accurate. The lilypad bootloader knows how to compensate for this speed difference to make sure all of your delays and baud-rates and other time-sensitive functions work correctly, but the fact remains that the chip will perform slower.  This is not a big deal unless your application needs very accurate timing or needs to perform tasks very quickly.

 If you do need your Arduino to run at the proper 16MHz speed, use two 22pf cermamic capacitors and an Abracon ABL-16.000MHZ-B2 crystal oscillator, and connect them as shown in the figure above. If you do decide to use this 16MHz crystal oscillator setup, don't use the Lilypad bootloader -- just use the correct bootloader for the board you have (eg diecimila, duemilanove, uno etc).

** Caveat #2: The ATMEGA chip has weird names for its pins -- ie ATMEGA pin 1 is not necessarily Arduino pin 1.  So you need the chart above to translate (courtesy of )

**Caveat #3:   Whatever power supply you use (cell phone charger, usb jack, or AAA batteries are quick and easy methods) it may not be a perfectly solid 5V.  So if you have problems with the chip hanging or resetting unexpectedly, add a .01 uF capacitor between 5V and Ground, as close to the chip as reasonably possible.  This filters out noise on the power supply.  You can also add an additional 10uF electrolytic cap in the same place (noting the polarity markings on the capacitor) --this protects against disruptions in the power supply.

**Caveat #4:  The most expensive and complicated part of an Arduino is the serial-to-usb circuitry.  By omitting it,  we save a lot of cost and effort, but If you still want to use your ultra-bare-bones arduino to communicate using the normal Serial.print() commands, you will need to purchase a 5V TTL USB-to-rs232 adapter cable, and connect it like so:
Cable TX wire   --->  ATMEGA Pin 2 (RXD)
Cable RX wire  ---> ATMEGA Pin 3 (TXD)
Cable Gnd wire  ---> ATMEGA Pin 8 (Gnd)

Step 6: There You Have It!

Picture of There You Have It!

Thats it!   That's all there is to it.  5 Volts+ATMEGA168 = cheapest Arduino ever.   Be sure tell all your hacker friends about the cheapest Arduino of all time and space:  The Really Really Really Really Really REALLY Really Really Bare Bones Arduino!



TianxiZ1 (author)2016-09-10

What is the difference between ATMEGA and PIC32MX1?

ipfone (author)2010-09-02

Whit a 16 k ressonator you don´t need the capacitors and you can run at normal speed.. so all your scripts will run with no problems. Don´t forget that all arduino ide uses 16 mhz and not 8 mhz....

bmlbytes (author)ipfone2011-05-08

The ATMega chip will run on a 8MHz crystal though, it will just process information slower.

cmiklos (author)bmlbytes2011-05-09

Agree.. but the problem is the arduino IDE .. not the fact that it does run or does not.

zootalaws (author)cmiklos2015-01-07

Sorry pal, that is bad information you are giving out.

There are certain AVR chips that run at 8MHz that aren't supported, but there are 8MHz Arduino that are, as you can see:

DanielS232 (author)zootalaws2015-11-19

You can always outsource the power supply though?

Even if It does run at > 8 MHz

Although I understand where you are coming from, but there are a lot of people who can get their board and supply power or other alternative methods, although if you just want to chip then you would probably have to do some modifying of your own to get it down to < 8 MHz (there are ways to do it, I have seen it done before), but it does slow down the speed of processing information (fetch-execute cycle).

ipfone (author)zootalaws2015-01-08

Now it is.. 3 years as you can see my comment was not made yesterday...

Raphango (author)2015-10-31

LoL Great! =D

stepdude (author)2015-03-22

Great guide!

For Caveat #4, how about taking this instructable one further and building your own RS232 adapter using another cheap microcontroller with a USB interface ;)

moises.serrano.3956 (author)2015-03-15

hi, i am using arduino with firmata skecth, is it possible to use firmata on an atmega?

SuperTech-IT (author)2015-03-10

When building a permanent circuit though, who wants to use a whole arduino to power it? Better to just use the programmed chip, which is what this is about.

LcysL (author)2014-08-25

You can find cheaply here:

Or at least for reasonable price. It's a Romanian site, but they might send in other countries as well. The cheapest orders have to be around 7 $ US

zootalaws (author)LcysL2015-01-07

The 328P is 10 leu - about US$3.

For less than US$3 you can get an entire Arduino Nano with free shipping...

Fabrizio Araujo (author)2014-03-23

Hello Everyone, I live in Brazil and where I live is very dangerous ... I mean people steal you everytime is like Gran theft Auto sooo I want to make a Cheap gps tracker for me and my fellows, I can use this $3 arduino and put a gps to work in this ?
do anybody have a link from a cheap gps too and a tutorial about how to make it?

Ive seaching during a long time for a project to make
.. Very Thanks and Help me please!

Yeah! but you also need a GSM shield for communication. Check this out:

Hello the shield is so expensive im trying to find a way to make one less expensive

the shield is 160 reais = $ USD 70 and a car tracker in the web shop u can find for is 100 reais = 50 $ USD

ive found this guy who make mini shieldso im trying to figure a way to make one with the function of the SIM900 GSM/GPRS Shield Module
I also found this 16.20€gsm/gprs & gps shield

but still expensive cuz libras are more valuable than dolar one libra costs 3,70 reais

US$16 - complete GPS/GPRS tracker:

* 80 $USD = 160 reais

Forget this 4 year old tutorial - you can buy an entire Arduino for US$2-$3.

And there are SIM900A+GPS modules for about $8.

The two of those, plus an antenna, power connector and a box to store it in, should only cost about $20 in total.

Or... buy one that works out of the box for $16 delivered to Brazil:

andrew_h (author)Fabrizio Araujo2014-10-21

I know this is from ages ago but check this out: If you have a simcom module and a UNO you're most of the way there. Then pick up a cheap GPS serial receiver for a few $. Just remove/leave out the RFID stuff and have a simple switch or something.

SamuelA3 (author)2014-10-28


oh my gosh thank you for the pin conversions! Throw one of these on a breadboard, ftdi it, lil bit of fiddling and its an arduino! thanks for figuring this out, £45 per project i wanted to leave implemented was getting really restictive

zootalaws (author)SamuelA32015-01-07

While in 2010 this was correct, now It is more expensive than buying an Arduino.

You can buy a complete 16MHz Nano or Pro Mini for about $3. With USB, power rectification, SPI, LEDs, all that good stuff.

If you were paying 45 quid for your project 2 months ago, you aren't shopping smart. I only pay US$8 for a Mega2560. Don't be suckered in by European prices - import your own.

Matjo (author)2014-08-05

What is the cheapest option for arduino + wifi? I want to add arduino devices to my cloud. :)

Timv1 (author)Matjo2014-12-05

The cheapest wifi I have found is the ESP8266:

koolaid1994 (author)Matjo2014-11-12

You probably don't want to go with wifi, its way expensive. I'd suggest getting an ethernet module, they go for $3 on eBay. Since the IC is so cheap, you could just grab a few transmitters and have them interface with the cloud through the one. It's what I plan on doing :)

dan3008 (author)koolaid19942014-11-14


or if you want a lot of devices connected, just get one Ethernet module and (then the hard part) write your own spi communication procedure and have all the decives comunicate with the one connected the the Ethernet for relay onto the cloud. Kinda your own mini cloud

Raphango (author)2014-10-25

Parceiro, compra no Banggood (aqui)

Aqui tu consegue comprar um monte de coisa, baratinho.. ^^ Comprei quase tudo que tenho de eletrônica aqui... =) Dá uma olhada no meu instructable (aqui). Foi tudo feito com coisa do Banggood....

Fica com Deus! ;D

Raphango (author)2014-10-25

You're so right man... u.u,

Everyone should know it. +D

Thanks for sharing!

zootalaws (author)2014-07-14

While your $3 really cheap arduino was a great idea when you wrote it, I now buy Arduino Pro Mini's, headerless (but with included headers if I want to use them), for US$2.

So that's a complete Arduino, with LEDs, voltage regulators, etc. for just $2.

For another buck I can buy a USB-equipped Nano v.3.0.

lnich13 (author)zootalaws2014-07-22

Whoa man, send me a link?

lnich13 (author)zootalaws2014-07-22

Thanks for that :)

zootalaws (author)lnich132014-07-22

No worries. There are a bunch of sellers selling the same boards.

Personally, now I buy "Baite" boards - they seem pretty good - well made, reliable, etc. They are about a buck more than the ones I sent the link.

Baite is the manufacturer, they also sell on Aliexpress. I have bought their boards cheaper from other sellers, but the guy at Baite will discount if you buy a few. He was the one I paid $2 from.

lnich13 (author)zootalaws2014-07-22

So the quality is good? (for a cheap clone)- and they come with the bootloader installed i assume? and maybe the usual fuse to avoid damage to host computer? :)

Thanks for the help, ill definitely pick up a uno first; but i would much prefer something i can just leave in my projects :)

zootalaws (author)lnich132014-07-22

Good quality board, bootloader installed and dunno about the fuse... cant see anything on the schematic.

Not that technical, sorry.

SuperTech-IT (author)2013-09-23

What you are most likely doing when you throw the lilypad loader in is simply setting the fuse bits so that it will run off the internal clock.
Add an external crystal, and a couple capacitors for good measure, and you can take the ATmega328P off the Arduino and make a circuit just like yours, and it'll work - AT TWICE THE SPEED that yours does. If you set the fuse bits so that it uses the internal 8MHz clock, even with the Arduino bootloader, your circuit would work. It's about the clock, not the bootloader. If you want to make it much more friendly, add an ICSP header, and a header strip for the pins so you can still prototype, and then you have something really useful. If you have made a project on the Arduino you really like, use your circuit with a 16 MHz crystal across the XTAL pins, with a 22pF cap from each pin to ground, and you can take the chip off the Arduino board to make your project have it's own dedicated processor without taking up your expensive Arduino board.
Here's a couple boards I made - one with an Arduino, and one with an ATmega32A

MrHallows (author)SuperTech-IT2014-06-12

Would you mind making an instructable on making one of these boards, please?

If you're asking "Where does the power go" - well, you can power it from your programmer which plugs into the 10 pin header, or you can just hook power into pins 2 (+Vcc) and any of 3, 4, 6, 8, or 10 (GND) of the ICSP header. If you are wondering about the 2 capacitors on the mini-duino, they are on the bottom. I developed these for my first prototype of the LED cube. Since ALL the drivers and transistors etc. were all on my prototype controller board, I made these so that I wouldn't be limited by only 1 kind of microcontroller. I eventually then made a single controller that allowed either of these chips on the same board. I kept these controller boards for prototyping though, and they work great! They are also great for pre-programming chips for people or fixing the fuse bits.

If you're now wondering what the heck the LED cube is, you can see it in action here.

chaporey (author)2014-04-15

can any one help me out! i have the Arduino Duemilaove with 328p microcontroler. i want to make a really cheep solution i want to run two servos in sweep with just the microcontroller. and can seem to figure it out can someone give me some suggestions?

Fabrizio Araujo (author)2014-03-23

so this is the ''clone'' of the arduino duemlianove with the same features?????

BGreenHVAC (author)2014-02-20

Thanks, this is what I am looking for.

ponynicker53 (author)2012-10-06

Personally I find it much easier to just make a chip w/ a 16MHz clock and be able to put any old boot-loader on it. I like using optiboot, a sketch that allows you to use your arduino (I use an uno) to bootload a chip. Then you can just stick that chip in the arduino to program.

The cost isn't that much greater:
ATMEGA328P $2.24 
Crystal 16MHz: $0.46 
(2 )Ceramic Disc Capacitors 22pF: $0.22
Optiloader: free sketch
Total: $2.92 for a 16MHz microprocessor running standard arduino bootloaders. Can be bootloaded and programmed w/ a $30 UNO.

Now I just want to find a cheap battery solution. I wish they sold 5V a dime a dozen like AA. If anyone knows of anything let me know. I'd prefer to just have to hook it up w/o any other wiring.

Would three 1.5V batteries for a total of 4.5 do the trick?

codegamc (author)ponynicker532014-02-13

use a portable cellphone charger. the ones with usb ports on them. they work great and the 1.5 v batteries might not work well, some of these chips are pretty specific. i wouldn't risk the damage (regardless of how cheap). you can use 6V or 9V if you buy a 5v regulator (just as cheap as other stuff).

Scratch that, 8 cent capacitors

za_tbr (author)2014-01-09

I cant seem to burn a bootloader onto the atmega168U-20PU
I seem to not have the correct boards.txt that support the version of the 168P-20PU
or is there a other reason for returning a wrong Device signature ? ( Using Leonardo as ISP )
fault description

avrdude: Device signature = 0x1e940b
avrdude: Expected signature for ATMEGA168 is 1E 94 06

dog digger (author)2011-09-18

Chip where I live cost $24!!!!!

limbo (author)dog digger2013-07-01

Try you can find 5 chips for about $12

ptorea-villegas (author)2012-04-22

"This is not a big deal unless your application needs very accurate timing or needs to perform tasks very quickly -- in which case you can add a crystal oscillator and two capacitors to make it run at the proper 16MHz speed."

In regards of this quote from the tutorial, can the ATmega chip be clocked by a faster crystal, say, 40MHz, or is 16MHz the limit? Thanks!

My dad told me that overclocking can mean overheating. So you can, but you'll need the proper cooling.

About This Instructable




More by jackzylkin:Installing USB Typewriter Conversion Kit for Corona and Smith-Corona TypewritersInstalling USB Typewriter Kit on Olivetti TypewritersRetrofit an Antique Scroll Saw to Use Modern Blades
Add instructable to: