Instructables
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....



 
Remove these adsRemove these ads by Signing Up

Step 1: For a microcontroller, the Arduino is NOT CHEAP!

Picture of For a microcontroller, the Arduino is NOT CHEAP!
RRRRRRRRRBBA.png

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!
RRRRRRRRRBBA.png

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!


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: http://arduino.cc/en/Main/Bootloader .  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 -- http://www.arduino.cc/playground/Main/DisablingAutoResetOnSerialConnection .  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:


** 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 http://arduino.cc/en/Hacking/PinMapping168 )

**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!


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!

 

1-40 of 116Next »
LcysL7 days ago

You can find cheaply here:

http://www.mivarom.ro/catalog/advanced_search_resu...

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

Matjo27 days ago

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

zootalaws1 month ago

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.

Whoa man, send me a link?

Thanks for that :)

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.

http://www.aliexpress.com/store/812021

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 :)

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

Not that technical, sorry.

SuperTech-IT11 months ago
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
CIMG1970.JPGCIMG1984.JPG

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.


CIMG2532.JPG
chaporey4 months ago

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?

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: http://www.instructables.com/id/Athena-The-Global-Car-Tracking-System/?ALLSTEPS

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 shield so 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

* 80 $USD = 160 reais

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

BGreenHVAC6 months ago
Thanks, this is what I am looking for.
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?

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_tbr7 months ago
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 digger2 years ago
Chip where I live cost $24!!!!!
Try ebay.com you can find 5 chips for about $12
JesusGeek1 year ago
If you buy from Tayda Electronics, you can only spend about 5 bucks to make a fully functional Arduino!
"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.
Also, the limit is actually 20MHz for Mega168 and Mega328. (Arduino boards that take a microcontroller with the Mega8 footprint run at 16MHz because that is the limit on Mega8.)
Ghyorn1 year ago
1 atmega8-16pu = 1$
It's the same thing than an arduino but it only has 8kB of flash, bust trust me, it's enought for most of you projects. I have a bunch of them and put them everywhere.
misellers2 years ago
OR you could use Picaxe chips which start at £2 $3-$4 and all the work is done for you. Picaxe were even selling of their 28X2 module for £6ish.

http://www.techsupplies.co.uk/epages/Store.sf/en_GB/?ObjectPath=/Shops/Store.TechSupplies/Products/AXE200
Yay for Picaxe. I really feel it is under appreciated. It can do many of the things I see people using Arduinos for at a tenth of the price. The programming is easier to learn, and they come in lots of sizes. I encourage everyone to do at least one Picaxe project just to understand the difference.
I have designed a Picaxe-based Arduino clone in Fritzing. It is named the Emperor board.
The PIC10F200 does cost less than $1, but it still costs over $1000 to buy a full reel of them from Mouser.
jackzylkin (author)  VirtualBoxer2 years ago
That is true, but buying a single one costs 50 cents. Fun fact: to perform the same function, It is actually cheaper to buy a pic10f200 than to buy a dual 555 timer!
Dual 555? It is more often called a 556.
ZachyKras4 years ago
i'm pretty new to electronics, but i've been thinking about getting an arduino a lot lately. I've done some research and this is the answer to a lot of my questions. thank you so much! do you think you might be able to add a little schematic about where to include the crystal and capacitors when you move the chip to its project? thanks for making a great instructable for beginners like me!
As a longtime microcontroller user, it would recommend that anyone wanting an Arduino buy an Arduino. Then you can learn by using all the tutorials that actually match the hardware that you have purchased. The single chip will just frustrate you if you are not experienced.

- Ray
jackzylkin (author)  ZachyKras4 years ago
Good Suggestion! I added a schematic on step 7.
1-40 of 116Next »