Go Down

Topic: Programming Arduino Pro Mini (Read 419 times) previous topic - next topic

groott

Hi,

I started a project few weeks ago and didn't complete it. I just connected my Arduino Pro Mini (https://www.sparkfun.com/products/11113) with FT232 (https://www.waveshare.com/ft232-usb-uart-board-micro.htm). I uploaded a example code for test if it's working and it did (blink script). The green led on my Arduino Pro Mini was blinking.
Today I wanted to upload another script but I think I messed up something because I can't upload a script to my Arduino.

I didn't change any settings in IDE so maybe I messed up connecting Arduino to FT232? Arduino doesn't blink now when connected to power.
I get this error when trying to upload a blink example:
Quote
avrdude: Version 6.3-20171130
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "C:\Users\donro\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino14/etc/avrdude.conf"

         Using Port                    : COM3
         Using Programmer              : arduino
         Overriding Baud Rate          : 57600
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x66
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x66
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x66
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x66
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x66
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x66
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x66
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x66
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x66
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x66

avrdude done.  Thank you.

Problem uploading to board.  See http://www.arduino.cc/en/Guide/Troubleshooting#upload for suggestions.
Could I broke my board or programmer because of bad wiring?
Now it's connected like this:

Arduino -> FT232
BLK -> GND
GND -> CTS
VCC -> VCCIO
RXI -> TXO
TXO - RXO

kprims

Arduino -> FT232
BLK -> GND
GND -> CTS *********Change to: DTR -> RTS
VCC -> VCCIO
RXI -> TXO
TXO - RXO

groott

Arduino -> FT232
BLK -> GND
GND -> CTS *********Change to: DTR -> RTS
VCC -> VCCIO
RXI -> TXO
TXO - RXO
I can't find DTR on Arduino.

kprims

Might be marked GRN on the Pro Mini.

groott

Ok I connected to GRN but still the same error. It's for the reset right? I manually pressed the reset button before when uploading but now it's not working.

pert

In order to upload, the bootloader needs to be activated. This is done by resetting the microcontroller. However, the bootloader only runs for a short time before timing out and switching to running your sketch. Normally, we have an auto-reset circuit set up that resets the microcontroller at just the right time during the upload. When you don't have that auto-reset, and are resetting manually, you need to get the timing right. If you press the reset button too early, the bootloader will have already timed out by the time the upload starts. The tricky thing is that when you press the "Upload" button in the Arduino IDE, it first compiles your sketch before starting the actual upload. So you need to wait until after the compilation finishes before pressing the reset button. The way to get the timing right is to watch the black console window at the bottom of the Arduino IDE window. As soon as you see something like this:
Code: [Select]
Sketch uses 444 bytes (1%) of program storage space. Maximum is 30720 bytes.
Global variables use 9 bytes (0%) of dynamic memory, leaving 2039 bytes for local variables. Maximum is 2048 bytes.

press and release the reset button.

When you get a new Pro Mini, there is no sketch installed. That causes the bootloader to run constantly. For that reason, you can do the first upload to a new board without a reset, but on all subsequent uploads there is a sketch on the board and the bootloader now times out so you need the reset.

pert

The best solution is to get the auto-reset circuit working. It's quite unfortunate that you bought an FT232 board that uses a non-standard pinout. If you get one with a standard pinout, you can plug it right in to the Pro Mini and all the connections will be correct. Here are the correct connections between your FT232 board and the Pro Mini:

Arduino -> FT232
BLK -> GND
GND -> CTS
VCC -> VCCIO
RXI -> TXO
TXO -> RXO
GRN -> RTS

If you ever buy another USB to TTL serial adapter, make sure to get one which uses the standard FTDI pinout:
  • DTR or RTS
  • RX
  • TX
  • VCC
  • CTS
  • GND


These are the ones I use:
https://www.ebay.com/itm/312519249465
Far cheaper and better than the one you bought, though you do need to be patient to wait for the China shipping. They are available from any place you would buy electronics components.

groott

Arduino -> FT232
BLK -> GND
GND -> CTS
VCC -> VCCIO
RXI -> TXO
TXO -> RXO
GRN -> RTS
I tried that and still doesn't work. I will try to buy another USB to TTL serial adapter.
In the meantime is there a possibility to pause uploading? It takes some time after 10 attempts. I will try to  time manually pressing the reset button.

pert

Unfortunately, the Arduino IDE doesn't have a mechanism to cancel the upload. It is annoying that avrdude takes so long to error out, when clearly the upload isn't going to work after the first few seconds. The only thing you can do is to unplug the USB cable, which will make it fail immediately.

Hopefully the manual reset with the right timing will at least let you get working with your Pro Mini, even if it's not as convenient as the auto-reset.

groott

Ok :) Thank you guys for the help!

Go Up