how to burn the bootloader of an arduino pro mini ?

Try to use this tutorial as a guide:
http://pdp11.byethost12.com/AVR/ArduinoAsProgrammer.htm
You can burn a bootloader or any other hex code. It simply does not matter.

You have to connect the two boards, programmer and target, like this:
Arduino Uno programmer ---->---- target Arduino pro mini 3.3V
SS -->-- RESET
MOSI -->-- MOSI
MISO -->-- MISO
SCK -->-- SCK

You also need a 5V <---> 3.3V convertor on the four ISP lines between your 5V Arduino Uno programmer and your 3.3 V target Arduino Pro Mini.

Then perhaps it is a wiring problem.
Please look at my picture and tell me if I made the connections correctly.

Can I use the usb serial light adapter to program the bootloader?... and if yes How to do the wiring ?

I also tried it this way:

d:\Programe\Arduino\hardware\tools\avr\bin>avrdude.exe -P COM3 -b 4800 -c avrisp -p m328p -n
avrdude.exe: stk500_getsync(): not in sync: resp=0xfe

avrdude.exe done. Thank you.

d:\Programe\Arduino\hardware\tools\avr\bin>avrdude.exe -P COM3 -b 4800 -c avrisp -p m328p -n -v

avrdude.exe: Version 5.11, compiled on Sep 2 2011 at 19:38:36
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2009 Joerg Wunsch

System wide configuration file is "d:\Programe\Arduino\hardware\tools\avr\bin\avrdude.conf"

Using Port : COM3
Using Programmer : avrisp
Overriding Baud Rate : 4800
avrdude.exe: stk500_getsync(): not in sync: resp=0xfe

avrdude.exe done. Thank you.

I am lost on the "resp=0xfe" error message. and I can't find any help anywhere for it.
what is the difference between "resp=0xfe" and "resp=0x00" ?

"Can I use the usb serial light adapter to program the bootloader?" No, it does not support the SPI pins.

As you have it wired, you have 5V level signals going into a board with 3.3V power - this is bad for the input pins, having signals that are a lot higher than the supply voltage.

The promini regulator Used to be shown as http://www.micrel.com/_PDF/mic5205.pdf
on Promini V11 schematics, attached. This part works fine with no Vraw attached and the board powered from Vcc - I have a dozen of them powered this way at my fencing club.
The latest sparkfun design also shows the mic5205
http://dlnmh9ip6v2uc.cloudfront.net/datasheets/Dev/Arduino/Boards/ProtoSnap-v14a.pdf

The arduino website is now showing an older V10 schematic, with no regulator part number.

If some info were known about the regulator on your board to confirm that driving the output while not driving the input would not damage the regulator, I would instead connect the promini Vcc to 5V, so both boards are running from 5V. This would also put MISO signal from the promini to the Uno at the correct level.
I don't recognize the markings on your part tho, so I can't readily recommend that.

Best bet is to use 5V to 3.3V level shifters on the SCK, MOSI, Reset, and MISO signal going back.

Arduino-Pro-Mini_328-v11.pdf (41.7 KB)

I tried to power the mini pro from both 3 V and 5V , same result.
Also my ftdi is 5V and I could program the mini pro a lot of times, without any problem.
To test if the connection was good, I uploaded the blink scheme on mini pro and the leds on both mini pro and arduino Uno were flashing... so no problem with the 5Volts in those pins.

picture attached

"CGBS" where a Micrel part would be marked LB33 or KB33 per its datasheet.
I have a couple floating around (dead uCs that I zapped) that I can't seem to find, I can confirm with once I locate them.

The FTDI Basic connects right to the VCC pin also, bypassing the regulator. I can guess that supply path is okay then.

Another bootload option you might try then is NickGammon's:

I'm not sure what I should look for in that site.
It's not about pro mini and references to arduino uno are not helpful in my situation.

The site is about using an Arduino Uno as an ISP to load a bootloader.

I've read it yesterday and once more today after a good nights sleep but still can't figure out something usefull from that site.

Not being able to understand what "resp=0xfe" is I don't know what is my problem and how I can solve it.
As a test I took mini-pro out of the arduino uno and the response was still the same "resp=0xfe" .
Meaning what? that the arduino Uno isn't responding to the IDE/avrdude?

Can someone direct me to a person that has experience with bootloaders on mini-pro ?
Or should I ask my questions elsewhere ?

Oby_One:
Can someone direct me to a person that has experience with bootloaders on mini-pro ?

Oby_One, I use ProMinis a lot and have burnt bootloaders to them many times. For programming I power the ProMini at 5V, irrespective of whether it's a 3.3V or 5V model. It doesn't seem to do any damage to the voltage regulator. If ArduinoISP isn't working for you, I'd suggest trying Nick Gammon's excellent alternative sketch on the page already referenced. I'm sure you can adapt his instructions to the ProMini pin-out.

Please take a look at this small movie

Sorry about my english :slight_smile:

As for nick gammons alternative, I don't get what's different from what I do.

@tim7
How are you connecting your pro mini ?Like I did in the pictures above? and you connect it to what? another arduino uno ?

I use an Uno as the programmer. In your picture it looks like you're taking 3.3V power: this is bad, so check you haven't cooked the ProMini or its inputs. You should use 5V power to match the logic levels coming from the programmer.

Nick Gammon has written a number of sketches which talk directly to the board to be programmed. This takes the PC software (AVRdude) out of the equation and simplifies the programming process.

Aaaaaaaaaa.... ok okkkk.... Now I get it.
I don't know why I miss-read that page so many times. My mind was locked to wiring and I couldn't see anything else.
Ok....so moving on.
I want to burn this bootloader Experiment4.com is for sale | HugeDomains
I run his Mushclient, I now have the new header file and I guess I should insert it somehow in the original code.
Like if I press S then go to burn the bootloader_slowpoke_1Mhz.h routine.
Am I correct?

I'd suggest testing ICSP communication to the ProMini first. Nick Gammon has (again) a suitable sketch and detailed instructions: Gammon Forum : Electronics : Microprocessors : Sketch to detect Atmega chip types

I don't remember the details of changing the binary in Nick's Atmega_Board_Programmer sketch, except that the code was very clear.

By the way, if your only goal is to reduce power consumption then take a look at the ATmega power-saving modes. The microcontroller can be put to sleep for a set period of time, during which the power draw is just a few uA. I wrote some example code which you can find here: Breaking the .7 mA barrier? - #31 by tim7 - Microcontrollers - Arduino Forum, and I'm also going to reference Nick Gammon yet again: Gammon Forum : Electronics : Microprocessors : Power saving techniques for microprocessors. It could save you messing around with modified bootloaders.

Note that the ProMini's voltage regulator and power LED draw about 1mA. In my low-power projects I disconnect these components by cutting a trace on the PCB as shown below. You can un-do the cut later if needed, by connecting the two VCC pins together.

Wow, that's an extremely well documented page... It has everything..and very well described 8) :slight_smile:
I suddenly have ton of admiration for this Nick Gammon :slight_smile: 8) 8) 8)

My device can't be put to sleep, because it has to permanently detect the interruption of a infrared beam... :frowning: so all sleep modes are useless for me.
Also that bootloader was not for my board, and as soon as I will have time I will try to run it down to 1mhz using Nicks instructions.

@tim About your idea of cutting the voltage regulator, I have some questions:

  1. is it really necessary to cut it?
    It is used only to power up the board, and if I use the RAW pin I will bypass the regulator.
    I will use several batteries in series & paralell to have 3V

  2. is the voltage regulator used if the board is powered via the RAW pin ?

  3. Even though the arduino can work down to 1.8V, I am using devices that work at 3.3V so I should let the brown-out intact at 3.3V.
    Am I right?