uDuino: Very Low Cost Arduino Compatible Development Board

uDuino: Very Low Cost Arduino Compatible Development Board
Arduino boards are great for prototyping. However they get rather expensive when you have multiple concurrent projects or need lots of controller boards for a larger project. There are some great, cheaper alternatives (Boarduino, Freeduino) but the costs still add up when you need many of them.

This is a way, after about $25-$30 initial investment, to build sub-$10 Arduino-compatible boards with very little extra time investment on each.

Note that the basic idea here (Arduino on a breadboard) has been done for quite some time (e.g ITP Arduino Breadboard instructions); however the cable adapter build & usage instructions here help absolutely minimize the parts count for each core.

This project requires knowledge of soldering and basic electronics, and you should have at least some experience already with Arduino development. I don't suggest this as a first electronics project.

note: I pronounce uDuino "moo DWEE noh"

Added 02-05-08: (for pretty advanced folks) One of the tools I built with this is a logic capture tool -- kind of a basic logic analyzer. I developed this to troubleshoot communications links. Needs a gui interface, but doubt I'll get around to it any time soon. Still dang useful in the right hands.

Added 06-23-09: I'd like to point out the RBBB's from Modern Device for anyone who wants something with solder, but also super inexpensive -- especially if you get the bare boards and buy parts in bulk. Also their USB-BUB is a cheaper alternative to the FT232 cable.
 
Remove these adsRemove these ads by Signing Up
 

Step 1Collect Parts for the Cable Adapter

Collect Parts for the Cable Adapter
I suggest getting parts from a mixture of Mouser, Radio Shack and Ada Fruit Industries; see the last step for parts sources. Feel free though to substitute parts from your junk box, and with the resistor/capacitors you can deviate a ways from the values and still have things work well (resistor I'd suggest between about 3.3k and 20k; capacitors I'd generally not go for smaller values but larger up to about .47uF should be fine).

For the cable adapter you will need:

- small bit of PC board (8 holes by 2 holes)
- a .1uf capacitor
- a 1x8 .1" spacing header, straight
- a 1x8 .1" spacing header, right angle
- some connecting wire
« Previous StepDownload PDFView All StepsNext Step »
47 comments
1-40 of 47next »
Dec 29, 2010. 4:50 AMdaviidv says:
Can i make this with ATMega 328 with Arduino bootloader? Can i connect it same way like this? And then can i use it like normal Arduino?
Oct 7, 2010. 2:54 PM12150w says:
If you already have an arduino and wish to use an ATMEGA 328 or 168 on a breadboard by itself, go to http://arduino.cc/en/Tutorial/ArduinoToBreadboard. You can use an arduino to not only load the bootloader, but also program the chip. If you already have an arduino this would be cheaper than buying or making an FTDI to usb device.
Aug 11, 2010. 10:57 AMshaadmahmud says:
here is how u can make an usbasp.. http://must-info.blogspot.com/ i tried a lot to use usbasp and make it in easy way
Jul 13, 2010. 10:09 PMbigjeff5 says:
If you're concerned about your oscillator tolerances, you should be using crystal instead of ceramic. 0.5% tolerance is much better than the internal oscillator, but crystal has 0.001% tolerance, and the cost is about the same (70c'ish). Plus, the crystal kind are only two pins, which are way, way easier to install on solderless breadboard. You can run 20mhz as well if you want, the ATmega can handle it (that's it's peak rated speed). Your timing functions will need to be adjusted to compensate if you do run it that fast, though.
Jul 27, 2010. 2:56 AMbigjeff5 says:
That's a good point. Excellent Instructible tymm.
Jul 23, 2010. 10:38 PM12150w says:
Can you use the FTDI basic breakout instead of the FTDI cable. The breakout brings out the DTR pin as instead of the RTS pin. It does have the same pinout.
Oct 14, 2009. 12:43 PMcelguero says:
hi there:

thank you for the response. I am trying to build a Lilypad with theATMega 168.
I am drawn to make one because it involves a minimum number ofparts and can be quite small. I make toys, so the smaller theelectronics the better. I was wondering if you could give me some clueson wire it and also how to bootload it. Since all the surface mountATMega 168 do not seam to come bootloaded already.

THanks so much!!!

Oct 13, 2009. 3:55 PMcelguero says:
hi there:

Is this the same chip as the one in the mini arduino. Would I be able to get the surface mount parts and wire the ATMega168 (square one)the same way? please let me know.

thanks!

Aug 5, 2009. 3:03 PMclark says:
I already have an arduino duemilanove, and i know you can pull the chip from the board and use it as is, so are the parts in step 4 the barebones stuff to simply run the board? I plan on programming my chips in my arduino and then placing them into a circuit.
Aug 7, 2009. 10:01 PMclark says:
I'm having trouble finding an oscillator, if you could point me in the right direction, with a link to a mouser or digikey part, even a manufacturer part number that would help so much, thanks!
Aug 14, 2009. 5:29 PMclark says:
fyi, on step 4, your 10k resistor is still going from pin 1 - 10
Aug 5, 2009. 9:20 PMclark says:
Okay, thanks! btw, great instructable!
Jul 4, 2009. 2:28 PMTechMidden says:
Good work.
Do you know if this could be used to programme ATtiny MCUs? There's a fellow who has modified the Arduino IDE to support these devices. (See http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1236434254).
Thanks,

TM

May 25, 2009. 3:06 PMmubot says:
i cannot get mine to work.... and i dunno why ... it's soldered up nice and clean...checked all pin connections with my meter .... i just cant seem to get it to upload a sketch.

im told the error im getting is a "generic" error, basically stating there is no connection between the chip and the computer

avrdude: stk500_getsync(): not in sync: resp=0x00
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51

im using XP (tried on 2 machines same outcome)
i also tested on a mac using osx ...also didnt work...

im using a 2 pin 16mhz xtal with the pins going to the chip as well as being tied to ground via a 22pf cap on each. (couldnt find the 3 pin you used)

i was able to program the chip via ponyprog with my parallel programmer and the chip and parts seem to work just fine....

just cant get the darn thing to be seen with the ftdi cable/programming adaptor

thoughts??

=Rik
May 27, 2009. 10:47 AMmubot says:
i got the chip from sparkfun already bootloaded for the external OSC. yes, i do get the blinking when i hook up the cable...and when i remove the jumper i dont ... so it seems as if things are working at least that far.
May 27, 2009. 8:16 PMmubot says:
Duemilanove is selected as my board.....and since i have other arduino chips that i use... my "Set RTS On Close" is enabled. i have tested on a mac..no luck there either... i really appreciate your assistance!
Jun 23, 2009. 7:13 PMmubot says:
got it working.... tried again after ordering another pre bootloaded chip and it worked great!!!! turns out there was an issue with the bootloader that was burned to the original chip i was testing.....
May 5, 2009. 12:29 PMjoetronica says:
my uDuino works, but i missed the AUTO-RESET feature. when i will upload sketches: first time it works fine - later nothing is happen. the arduino IDE give me some error messages. i think the solution is: the FT232RL USB-TTL cable not provides the DTR-line (used by standard arduino for autoreset) but provides the RTS-line (green wire). for use the FT232RL USB-TTL programmingadapter with the uDuino set on the Device-Manager (for example WinXP) the following modification: / USB Serial Port (COM...) / Port Settings / Advanced Settings / ENABLE: Set RTS On Close that makes a short low impulse on the RESET-pin by starting upload sketches. AUTO-RESET works!!! uploading sketches works anytime!!! YAAAH Johannes
May 11, 2009. 7:33 PMmubot says:
would any changes need to be made if i was using a FTDI model TTL-232R-5V cable instead?
Apr 8, 2009. 3:18 AMdnhoshor says:
Your project has inspired me try my hand at this interface. I'm waiting on the headers. Thanks for the idea!
Oct 17, 2008. 9:41 AMManiacy says:
Oh c'mon! This is like THE tutorial I was looking for, plug'n'program... and then you give me this photo? Seems as if would have to figure it out by myself after all... Good tutorial anyway, thx!
Mar 13, 2009. 2:40 AMgib0r says:
Read a datasheet.
Oct 2, 2008. 4:15 AMBongmaster says:
i just noticed a bit where u say to connect the resistor between pins 1 and 10 wen it should be 1 and 7? a typo methinks? ;) altho it does still work if ure not using an external osc or crystal., but its prolly not good :P
Oct 2, 2008. 3:30 PMBongmaster says:
no probs :3 it just occurred to me after making a circuit including it :P i will correct the circuit (that has been working as lilipad for months) too :D
Aug 22, 2008. 7:29 AMkiss my donkey says:
THANK YOU!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Feb 10, 2008. 10:54 AMcr0ybot says:
Added to Arduino Group! ;D
Apr 1, 2008. 11:06 PMBongmaster says:
works ok with me. i got one running now with a 22 MHz crystal to see how it would run (just blinking as its an old chip that went wrong and i managed to upload a new bootloader to it. but it wouldn't take any sketches, will try burning one via the programmer cable next time) it's running from usb power direct to chip and its cold (had it on 16 MHz all night and its still stone cold) Seems happy with 23MHz but i want to try it with another sketch if i can get one on there :)
1-40 of 47next »

Pro

Get More Out of Instructables

Already have an Account?

close

All Steps Viewing
View all steps of an Instructable on the same page when you're a Pro Member.

Upgrade to Pro today!
12
Followers
3
Author:tymm