I need your help.
I am using Arduino ProMini in my project.
In project board there is Atmega328P which doesn't have Arduino bootloader, and Atmega328P RXD, TXD pins are connected to FTDI Basic(sparkfun)'s TXD and RXD pins. I searched on internet how to burn bootloader for arduino. Most of them use other Arduino's built in SPI or other method. Problem is Atmega328P is already assembled to PCB board and I cannot make any soldering or change. Atmega328 and FTDI basic are connected and assembled to upload sketch (if there is bootloader of Arduino inside of Atmega328P, no problem to upload sketch).
Is there any solution or suggestions to burn bootloader using FTDI?
Thank You.
-
3You cannot upload the bootloader through the ATmega's UART pins, but the necessary pins (SPI & reset) are quite likely broken out on your board, and if not you may be able to tap them with some fine hookup wire long enough for the task. Otherwise you may just have to desolder the chip. A typical FTDI serial adapter is not the right tool for loading a bootloader either - it might at a stretch be adapted to very slowly toggling the ISP pins but the usual choices will require far less work on your part.Chris Stratton– Chris Stratton2015年11月29日 08:39:43 +00:00Commented Nov 29, 2015 at 8:39
-
4@ChrisStratton You should turn that into an answerMajenko– Majenko2015年11月29日 11:47:29 +00:00Commented Nov 29, 2015 at 11:47
-
Every one of the dozens of Arduino Pro Mini I've ever tried to program came with the Arduino bootloader. Are you saying your Arduino Pro Mini somehow doesn't have a bootloader? Or are you saying that you know your FTDI adapter is working because you can upload your sketch to an Arduino Pro Mini, but you get an error message (quote it exactly please) when you upload the exact same sketch with the same FTDI adapter to this other ATmega328P ?David Cary– David Cary2015年11月30日 13:05:42 +00:00Commented Nov 30, 2015 at 13:05
-
@ David Cary There is new Atmega328P MCU (even fuses are not set) on PCB. AFAIK, I need to burn Arduino bootloader, and it becomes Arduino. To burn bootloader, it seems I need SPI. But Atmega328's SPI pins are not connected to anything on PCB. It seems we need to hardware design again and add SPI feature on PCB. Thank YouMamurbek– Mamurbek2015年12月01日 00:56:05 +00:00Commented Dec 1, 2015 at 0:56
1 Answer 1
You cannot upload the bootloader through the ATmega's UART pins.
Perhaps the the necessary pins (SPI & reset) are broken out on your board, and if not you may be able to tap them with some fine hookup wire long enough for the task as long as there are no conflicting peripherals connected to them which you cannot temporarily disable.
Otherwise you may just have to desolder the chip.
A typical FTDI serial adapter is not the right tool for loading a bootloader either - it might at a stretch be adapted to very slowly toggling the ISP pins but the usual choices, such as an ISP programmer or another arduino with an ISP sketch on it will require far less effort on your part.
-
After several attempts and searching on Internet, I gave up and decided to design hardware again. It is impossible desolder the Atmega from PCB. PCB is so small and my soldering skill is not enought :(( THANK YOU FOR YOUR ANSWERMamurbek– Mamurbek2015年12月01日 01:00:29 +00:00Commented Dec 1, 2015 at 1:00
-
Planning for ISP access is of course a good idea. If you are working with through-hole parts you may want to use a socket on the next prototype, but you could rescue the board by cutting the IC pins and using a new chip (you can, incidentally, buy them with the bootloader already loaded). If you are working with SMT a hot air desoldering tool will pay for itself the first time you rescue a custom board that might have been damaged by cruder removal attempts. But it's not clear that you needed to remove the chip anyway, unless you had peripherals driving the needed pins in conflicting ways.Chris Stratton– Chris Stratton2015年12月01日 01:51:29 +00:00Commented Dec 1, 2015 at 1:51