Go Down

Topic: Duemilanove or Uno, for programming bootloader into blank chips, etc (Read 14741 times) previous topic - next topic

Texy

Hi,
I have a Pro Mini 3V3 on order for a specific project I am working on, but I also would like the ability to program the bootloader to blank chips in order to keep costs down (I intend to build future project using an arduino chip rather than an arduino module). I would prefer NOT to buy a specific programmer if I can.
With the above in mind I think my next step is to buy either a duemilanove, or the newer Uno. I,m thinking I will not be able to program blank chips with the Pro Mini as its the 3V3 version - correct me if I am wrong in that assumption.
Now the next question is, can the Uno be used in the same way as the duemilanove to program the bootloader in a blank chip, using the wiring to the ISP header pins?
TIA
Texy

CrossRoads

I have used this method will work to burn blank chips, taking advantage of the FTDI chip on the deumilanove
http://www.geocities.jp/arduino_diecimila/bootloader/index_en.html

Altho if you're gonna buy more hardware just to use as a programmer, why not just get a programmer? They're cheaper, and can be used for any of the ATMEL AVRs (I use it to program my Bobuino's, which are 1284 based, see my link below, and will be using it to program Mini-uino's when the boards come in
I've been using this one
http://www.mdfly.com/index.php?main_page=product_info&cPath=5&products_id=415
and I have this one too but have not used it yet
http://www.sparkfun.com/products/9825
Mini-uino- ordered 50 bare PCBs, 27 spoken for so far (selling them at cost plus postage, $2 each)
Designing & building electrical circuits for over 25 years.  Screw Shield for Mega/Due/Uno,  Bobuino with ATMega1284P, & other '328P & '1284P creations & offerings at  my website.

Texy


I have used this method will work to burn blank chips, taking advantage of the FTDI chip on the deumilanove
http://www.geocities.jp/arduino_diecimila/bootloader/index_en.html

Yes I have seen that, and my question specifically is 'can the Uno be used to do the same thing, ie does it have the X3 pads/header as the diecimila'?


Altho if you're gonna buy more hardware just to use as a programmer

I,m not, that why I don't want to buy just a programmer, I want the flexibility of having another arduino for developement/experimenting, but also for it to be used to program bootloader into blank chips.

They're cheaper, and can be used for any of the ATMEL AVRs (I use it to program my Bobuino's, which are 1284 based, see my link below, and will be using it to program Mini-uino's when the boards come in
I've been using this one
http://www.mdfly.com/index.php?main_page=product_info&cPath=5&products_id=415
and I have this one too but have not used it yet
http://www.sparkfun.com/products/9825
Mini-uino- ordered 50 bare PCBs, 27 spoken for so far (selling them at cost plus postage, $2 each)

Yes they are relatively cheap, but I,d rather spend the cash on arduino product/chips TBH. Also things are not so cheap here in the UK, lol
Appreciate your response,
Texy

Coding Badly

Quote
I,m thinking I will not be able to program blank chips with the Pro Mini as its the 3V3 version - correct me if I am wrong in that assumption.


You can program any Arduino compatible processor at 3.3 volts.  But using a Pro Mini as a programmer is probably going to be more trouble that it is worth.

Quote
Now the next question is, can the Uno be used in the same way as the duemilanove to program the bootloader in a blank chip, using the wiring to the ISP header pins?


Yes.  You will need either a 10?F capacitor, a knife, or a bootloader upgrade.

Texy

Could you explain further? Perhaps its more trouble than its worth (to use a Uno).

Texy

dc42

I use a Uno as an ISP to program my chips, see http://miscsolutions.wordpress.com/2011/08/09/prototyping-small-embedded-projects-with-arduino/ for how I do it. I don't bother burning the bootloader, I prototype using Arduino + breadboard, then I include a 6-pin ICSP header in my target hardware and program the sketch directly into it.
Formal verification of safety-critical software, software development, and electronic design and prototyping. See http://www.eschertech.com. Please do not ask for unpaid help via PM, use the forum.

Texy

Hi dc42,
your page is interesting, but I have a Q or 2 :-
"2.Locate and edit the preferences file (under Windows 7 this will be in C:\Users\<your user name>\AppData\Roaming\Arduino\preferences.txt). Change the line "upload.using=bootloader" to "upload.using=arduinoisp".

I,m a little confuse by this regarding bootloading. If I am using a brand new blank ATMega328P chip with no bootloader pre-loaded,
do I not need to program the bootloader before downloading a sketch, or does the "upload.using=arduinoisp" option also program the bootloader at the same time? If the answer is 'no' then I,m missing the part where the bootloader is downloaded into the target chip, or perhaps the answer is that the bootloader is not required for all arduino projects, only if programming via the TX/RX lines, not the ISP pins.

Texy

dc42


...or perhaps the answer is that the bootloader is not required for all arduino projects, only if programming via the TX/RX lines, not the ISP pins.


That is correct.
Formal verification of safety-critical software, software development, and electronic design and prototyping. See http://www.eschertech.com. Please do not ask for unpaid help via PM, use the forum.

Texy

Many thanks guys. I also ordered an UNO and some blank atmega328 chips today.
I'll be sure to report back with my findings.
Texy

VE7BDF

I have run into a strange situation when trying to load the bootloader program on a couple of new processors I purchased from Sparkfun.

I have an Arduino Duemilanove board using an Atmega 328P processor running the Arduino software Ver 0022.  I also purchased and constructed a USBtiny programmer which is working well.

I thought that programming the bootloader program on to the new 328P processors should be straight forward.  I guess I neglected to take Murphy into consideration!  After trying to load several different bootloader programs on the new processors using the USBtiny programmer and AVRDUDE without success I started doing a bit more research and downloaded the article titled "From Arduino to a Microcontroller on a Breadboard". I  followed the process described in the article and breadboarded one of the new Atmega 328P chips on a breadboard using a 16 MHz external oscillator (Operation checked with an oscilloscope).

Prior to connecting the Duemilanove board to the chip on the breadboard I ran the Arduino 0022 software and loaded the following ----> Examples ---> ArduinoISP ---> ArduinoISP.ide and uploaded this sketch to the  Duemilanove board.  I then connected the Duemilanove board to the new breadboarded 328 processor as described in the article.  With the Arduino 0022 program I selected the correct board --->Tools ----> Board ---> Arduino Duemilanove or Nano w/ Atmega 328.  Then Tools ---> Burn Bootloader ---> w/ Arduino as ISP.  I received the following error:



I'm not certain if the screen capture uploaded so this was the error message received:

avrdude: stk500_getsync (): not in sync: resp = 0x15

An ideas what I have done incorrectly or am missing here?

Thanks,

Martin

Coding Badly


At what point did you disable auto-reset on the Duemilanove?

VE7BDF

I wasn't aware that I would have to disable auto-reset on the Duemilanove, It certainly wasn't mentioned in the article.   How do I do that?

CrossRoads

Use  a low value resistor to pull the reset pin high - overrides the DTR signal trying pulse the line low via the series cap.
Designing & building electrical circuits for over 25 years.  Screw Shield for Mega/Due/Uno,  Bobuino with ATMega1284P, & other '328P & '1284P creations & offerings at  my website.

Coding Badly


Some details to CrossRoads' post...
http://www.arduino.cc/playground/Main/DisablingAutoResetOnSerialConnection

http://arduino.cc/en/Tutorial/ArduinoISP
...Add step "1.5 Disable auto-reset"

VE7BDF

I did as you suggested and added a low value resistor on the reset pin of the 328P I was programming.  Unfortunately, I received the same error.

Martin

Go Up