Reprogram Arduino's own microcontroller

Is it possible to reprogram an Arduino's microcontroller without another chip or Arduino? I realize that if I have to ask this I probably shouldn't be messing with the bootloader, but I'd like to know for future reference, since I can't find an answer to this elsewhere.

The direct and technical answer to your question is no, whether programmed via ICSP or async serial (bootloader) there is bound to be another “chip” somewhere to communicate with the target MCU.

Is that really your question though? Not sure what else you might be asking so I took the words very literally :smiley:

No, that answers my question. I was hoping one could edit the source code and easily upload it to the microcontroller, but as I figured, that's not possible. Thanks anyways!

There is http://bitlash.net/ which allows you to edit programs (in source form) directly on the arduino, but you still need something with a keyboard/display to do the actual editing. Since that something is usually a computer, it's usually not a big step toward running the full Arduino IDE.

AMFORTH will also allow this, if you consider Forth to be a usable language.

I'd never heard of Bitlash - that's pretty cool actually. By "source code" in my last post, I meant the source code of the bootloader, not a sketch. Sorry for the confusion.

Bitlash could be useful in the project I'm working on now. I don't consider Forth usable. :smiley:

sjheiss:
Is it possible to reprogram an Arduino's microcontroller without another chip or Arduino?

No. The bootloader is in protected memory (and for obvious reasons...!)

sjheiss:
No, that answers my question. I was hoping one could edit the source code and easily upload it to the microcontroller, but as I figured, that's not possible. Thanks anyways!

Using the bootloader or ICSP isn't easy enough?

What I mean, is can I reprogram the microcontroller without a breadboard, second microcontroller, or a dedicated programmer. Just using a computer, the Arduino, and the chip it came with.

Yes!

sjheiss:
What I mean, is can I reprogram the microcontroller without a breadboard, second microcontroller, or a dedicated programmer. Just using a computer, the Arduino, and the chip it came with.

Most Arduinos are self-contained in that respect and so only need a computer and a USB cable, so yes. Exceptions that I am aware of include the Arduino Pro and Pro Mini (these require an FTDI cable or equivalent breakout board), there may be a couple others, see http://arduino.cc/en/Main/Products for details. Apologies if I am restating the obvious.

So how exactly would I compile the bootloader source and upload it to my Uno? Avr-gcc and avrdude?

sjheiss:
So how exactly would I compile the bootloader source and upload it to my Uno? Avr-gcc and avrdude?

Correct, AVR-GCC, AVRDUDE, plus an ICSP programmer. But Unos come with the bootloader already programmed. Maybe I'm not sure exactly what kind of programming we're discussing.

No, I mean I don't want to use any outside methods to program the chip. Just my computer and the Arduino. By programming I mean using a USBTinyISP or similar method for (re)loading a bootloader onto the chip.

sjheiss:
So how exactly would I compile the bootloader source and upload it to my Uno? Avr-gcc and avrdude?

There's NO WAY to do it without extra hardware (ISP programmer or a second Arduino)

Paul__B:
Yes!

So - does no-one believe me, or was my link wrong, or what?

Paul__B:

Paul__B:
Yes!

So - does no-one believe me, or was my link wrong, or what?

Sure I believe it. Was not aware of it. Not sure if I have a parallel port around though :smiley:

Paul__B:

Paul__B:
Yes!

So - does no-one believe me, or was my link wrong, or what?

Sorry! Somehow I didn't see your post. But alas, I don't have access to a parallel port anywhere, so can't do that method.

You should note that ISP programmers for AVR chips are cheaper than parallel port cables :slight_smile:
http://dx.com/p/usbasp-usbisp-downloader-programmer-for-51-avr-157167

Only marginally cheaper though!

Now for the parallel cable, you need a DB-25 plug (or the adapter is a dollar cheaper if you have ripped the Centronics socket off an old printer); for the USBASP, you also need the 10 to 6 pin adapter - an extra couple of dollars there!

NSW Australia
Offline Offline
Sr. Member


Karma:
[applaud] 6
Posts: 469
View Profile
Personal Message (Offline)

Re: Reprogram Arduino's own microcontroller
« Reply #14 on: October 03, 2013, 07:36:52 pm »
Bigger Bigger Smaller Smaller Reset Reset Reply with quoteQuote
Quote from: Paul__B on October 03, 2013, 12:29:18 pm
Yes!

So - does no-one believe me, or was my link wrong, or what?

The only problem I see is, how many PC's not have a "Printer Port" ar'nt we all USB these days??
I too am very interrested in this question, being new to both the Arduinos and C as a programming language!! But I do hope to produce a few stand alone projects just running on the Microcontroller, chrystal, etc..

Regards
Mel.