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
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
Mini-uino- ordered 50 bare PCBs, 27 spoken for so far (selling them at cost plus postage, $2 each)
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
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'?
CrossRoads:
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.
CrossRoads:
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
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.
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.
Could you explain further? Perhaps its more trouble than its worth (to use a Uno).
Texy
I use a Uno as an ISP to program my chips, see Prototyping small embedded projects with Arduino | David Crocker's Solutions blog 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.
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
Texy:
...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.
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
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
At what point did you disable auto-reset on the Duemilanove?
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?
Use a low value resistor to pull the reset pin high - overrides the DTR signal trying pulse the line low via the series cap.
Some details to CrossRoads' post...
http://www.arduino.cc/playground/Main/DisablingAutoResetOnSerialConnection
...Add step "1.5 Disable auto-reset"
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
What was the value of the low value resistor you used?
120 Ohms
A resistor does not always work. Try a 10 ?F capacitor between RESET and GND.
I tried a 10uF and a 22uF capacitor and received the same error message. I'm beginning to wonder if there is something else screwed up here.
I have checked both of the 328P chips using the USBtiny programmer and avrdude and even erased the chips before starting to try and load the bootloader program.
I could upload the results of the 328p test if that will help.
Martin
With each test, did you re-upload the Arduino ISP sketch before trying to disable auto-reset?