0

I was looking at this Uno clone, the Nanino and then happened to read this article on "Manhattan style" circuit design. Anyway, that got me thinking...

If I borrowed someone's Arduino Uno, could I hold a blank ATmega328P on top of the identical chip on that Uno and load a bootloader onto the board's chip as well as my chip? The desired result would be to give my blank ATmega328P a bootloader.

  • 2
    No, the programming scheme on the Uno only works when there already is a bootloader in the chip, and would likely be confused by a second chip if it did have one. There have been some rumors that certain other programming schemes might somewhat tolerate parallelism, but those are not what the Uno supports. – Chris Stratton Dec 30 '16 at 0:54
3

It's easy enough to use a Uno to program a bootloader onto another chip. I describe this process here.

The idea of holding one chip on top of another is likely to fail for various reasons. Both chips will try to respond to the programming attempt at slightly different times, probably making them both fail to be programmed.

See my post about making a breadboard Arduino. It only takes a few wires to program the target chip.

Programming bootloader

However this isn't just "paralleling the pins" - it is using one chip to program another, in the way it is designed to do.

0

If I borrowed someone's Arduino Uno, could I hold a blank ATmega328P on top of the identical chip on that Uno and load a bootloader onto the board's chip as well as my chip? The desired result would be to give my blank ATmega328P a bootloader.

Well burning a bootloader(over a SPI communication) is quite different than simply uploading code(Serial communication), therefore it requires a specific setup which is an AVR-ISP.(In-System Programmer).

So you can't burn a bootloader by simply holding it over the other because of the Uno design.

The IC socket for the Atmega chip on the Uno board is not set for SPI communication so you can't burn a bootloader onto it directly. Instead, you'll have to do a similar setup to Nick Gammon's. Use one arduino as an ISP to burn the bootloader onto another.

Therefore placing the 'raw' chip in the socket and trying to burn the bootloader won't even work.

Note that in this setup, the Uno is communicating as an ISP and it uploads the code to the 'raw' Atmega328 chip. The chip on the Uno already has the bootloader(in fact it is configured/programmed to be an ISP).

Hope it helps! Best of luck!

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.