Let's Make Robots!

Comming to grips with arduino, bootloaders & ISP...

UPDATE/ADD-ON: June, 6th 2012


For the sake of argument, let's pretend I'm a bit thick in the head and also that every day is a Monday for me.

Being a bit reckless in some respects, and hating the shipping wait times, I've ended up ordering a few ATmega324 chips, so the current Atmega328P-PU tally is:

- 1 blank

- 1 w/ the duemilanove bootloader (supposedly, but I believe it so)

- 2 w/ the uno bootloader (which I have some heavily suspect might be blanks or w/ the duemilanove bootloader instead)

So, from what I gathered before:

- Using my UNO I can either burn bootloaders (if need be) and/or upload the desired program code unto the chips.


1st - I was trying to pry off the chip of my arduino UNO. why? Well I wanted to replace them for the couple of chips I got that supposedly already have the UNO bootloader. I figure that would be the quickest way to do so. But since I'm not _that_ reckless after realizing the chip wouldn't come out easily without proper tools, I gave up and ran to search for tricks to ease it out. While doing so I've come across information telling me that _most chips_ aren't made to handle more than around 20 cycles of socket inserting removing. Adding that information to the knowledge that for me to use the Arduino UNO board to upload programs to standalone chips I need to remove the chip on the arduino board first, I can foresee broken pins in no time.

Possible solutions (regarding pin fragility) ?

1- Get a 28-pin ZIF socket and put on the UNO so that I can easily (and safely?) pop-out/pop-in chips?

2- other?


ORIGINAL: May, 21st 2012
Here's the deal, I'm building my first robot & I have an Arduino One board, but I've realized that the board is too pretty for me to use up in my current (and first) project and besides it would be a waste.

My first thought was:

Well, maybe I can pull out the ATmel chip on the board and stick a blank one there, upload the desired code there, take it out and follow some breaduino tutorial to build around it.

Peeked here



"Note that these techniques only work with the Arduino Duemilanove w/ an ATmega328, NOT the Arduino Uno (or older Arduino boards w/ an ATmega168)."

bummer... but the overall procedure led me to believe:

1) the blank chip regardless of having a bootloader or not is programmed out-board.

2) the arduino ONE does not cooperate (easily at least) with AVR ISP programming



Point 2) does bother me so much provided I have a cheap alternative to:

- keep my Arduino ONE just for testing out code and stuff
- produce my own cheap "breaduinos" for any project I might take on, but that are fully compatible with test I might do on the Arduino ONE
- handle (burn) bootloaders; sometimes I read "atmel328 w/ arduino bootloader" other times "atmel328 w/ arduino one bootloader" that added to what I mentioned before leads me to believe they are different and there are compatibility issues.

Other sources on the internet led me to believe something like this:


might be handy for the aforementioned tasks, is it?

In conclusion, what would be the best (cost-wise and newbie-wise) method to go about what I propose above?

P.S. - I've seen several posts here on LMR, but the few I peeked were over-the-top for my poor monday brain :s But I'll welcome anyone any introductory info on Arduino UNO (r3) AVR ISP programming, bootloader burning and whatnot.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Did a little update/add-on regarding my doubts about chip pop-out/pop-in pin fragility.

Chips are fragile because the legs of the chips tend to get bent when you use screw drivers or other tools to pull it out. The screw drivers apply force from one end which tends to bend the legs in one direction. To solve your problem, you need to find a way to pull out the chips perpendicular to the surface and reduce the friction between the socket and the legs.

Keep your Arduino and buy an Attiny85 or 2313, depending what number of I/O pins you need. You can program the Attiny with your Arduino without problem. Just check out vishu's link and the other links there.

Build the damn robot!!!

You can always buy another Arduino.

Well, technically I could buy another arduino, yet doing so repeatedly would deplete my budget sooner than later. :(

Plus, it would not force me to learn down slower, and I'm already slow as it is!

And as it happens I'm itching to try one of the voltage regulation schemas that you've posted ;)

And the sooner I start dabbling in "finalizing" projects with "loose components", the sooner I'll try out some soldering (perhaps I should build some fume extraction/dispersion system before that)

i was in the same position and started in a very similar way

my robot is now coming along (still slowly) but i must admit actually building something helps your confidence a LOT

(ok i need to update my page a bit - but i've taken the pics and now just need to type in the details)


Ah yes, I've already had your robot project collected ;) Glancing through it again I can see that:

- you're very methodical and super tidy [I wish I was like that]

- I have to get a green-working-mat like yours, plus some clamp/vice gizmo contraption (instead of laundry clamps :p) 

(I'm still collecting some basic tools and components)

- You've already delt with HC-SR04 sensor difficulties, as I recently stumbled into them. I thought the arduino board could do some "auto-magic" voltage regulation, but it appears it doesn't, so time for building some voltage regulation of my own :)

methodical vs OCD... hmmm... i can cope with methodical - its the inherant scientist in me... you spend enough time dealing with things that want to poison or eat you from within you learn to  to be carefull where you put stuff ;)

The cutting mat is a MUST - my desk would be chopped to pieces without it (plus it looks real proffesional in the photo's)

one of the benefits of building a voltage regualator is it forces you to get off your bum and actually build something... that and some stuff about voltage and current


This might give a few of your worries a solution- http://letsmakerobots.com/node/31379 . To program your Atmega 328, you can use it directly on your Atmega one (I'm not sure about it but it works for arduino uno).

And if something doesn't quite, work feel free to ask questions on that page. It will be most likely that I have some glitches still hidden there. Not everything is tested in detail.

But using an ATmega8 is often a quite cheap solution. (approx $1.5 on ebay, incl shipping). They are able to run at 8MHz using their internal oscillator. You only have to feed it 5V.