Problems uploading to Pro Mini clone

I have a Chinese Pro Mini clone (keep going to type cloan for some reason) which I've successfully uploaded programs to with a USBASP programmer. I bought an FTDI programmer and was trying to use it yesterday with my NRF24L01 modules to watch the serial communications so tried programming with it too.

Serial comms works with it. No problems with that.

When I try and upload I get "not in sync: resp=0xe0". I read something about the bootloader so tried uploading that again with my USBASP and it said content mismatch after uploading and stopped working at all. Found out it needed a slower write speed for that so have to update the firmware on the USBASP so it would set the SCK, managed that with my Uno (also clone).

Got the bootloader fixed on the Pro Mini anyway, but after that if I tried to use the USBASP to upload sketches it said content mismatch. I could only upload at 16KHz. And the FTDI still doesn't work.

I also tried using my Uno as an FTDI programmer for it and it didn't work, same result. Tried changing the drivers (would they work with serial comms if they weren't working?)

Any ideas?

Just tried it again with the USBASP with the Arduino IDE and that's working now. Last night I had to manually upload the sketch with -B50.

Stilll no FTDI, not sure if it's connection problem, timing of the reset, or something else.

Post a picture of how you have it wired up and also check that the drivers have loaded correctly.

Ok, this is it connected up. Is the feedback loop test enough to check the drivers? That works.

ftdi.jpg

And just in case the connections in the pic aren't obvioius here is the pin layout.

FTDI from top in pucture:
DTR
RX
TX
VCC
CTS
GND

And same for Pro Mini:
GRN
TX
RX
VCC
GND
BLK

I think you have it connected incorrectly.

The one above TX on the pro mini should be connected to DTR.

Then connect VCC to VCC and GND to GND, TX to RX and RX to TX. You should only need 5 connected.

See this for connections with a CH340.

That's almost the way I have it apart from the ground pins. I had the GND on the FTDI to BLK on the Mini and CTS on the FTDI to GND on the Mini.

So:
FTDI --- Mini:
DTR --- GRN
RX ---- TX
TX ---- RX
VCC --- VCC
CTS --- GND
GND --- BLK

I also tried your way, no CTS pin and GND to GND. And also no DTR pin.

I'm not getting "not in sync: resp=0x00" now though, instead
avrdude: Recv: L [4c]
avrdude: stk500_getsync(): not in sync: resp=0x4c

And that's the same whicever way I wire it. If I disconnect the Mini frim the FTDI it says 0x00.

Ground needs to be connected to ground no matter what. Don't connect the BLK. At all. Or CTS.

So try it again as I suggested.

If the circuit does not auto reset try an upload but press reset just before the IDE actually starts the upload.

Tried that with the GNDs and no CTS and still the same. In fact I tried resetting the bootloader again and back to receive 0x00 now.

Does uploading with USBASP remove the bootloader? When I uploaded a program yesterday with serial coms in it the receive part was different.

Tried resetting at all sorts of different times, and used the command line (all the arguments copied from the IDE) to make it quicker at retrying.

Can I use the FTDI with my Uno just to see if it is working?

Yes "Upload using Programmer" overwrites the bootloader.

Ah ... It is possible that you have over written the bootloader but you can re load it the same way you loaded the sketch.

Yeah, I just realised that's probably what I did last night. I have just uploaded the bootloader again though with the USBASP. FTDI still won't connect.

I had a new Pro Mini turn up today. Slightly different layout on the board. And guess what. The FTDI connected to it straight away, no pressing of reset, all 6 cables just plugged in the order I first had them and no problems at all. So it must be the other mini that is the problem.

It also works with the CTS line disconnected.

Obviously with the DTR pin disconnected it does the same as the other Pro Mini, and I get not in sync 0x00. But I can press the reset button just after pressing upload and that also works.

Woo hoo. Got it working. I don't think the Arduino IDE properly burned the bootloader. I used AVRDude to do it instead and I now have both of them working.

Thanks for all the help. Much appreciated.

No problem. I am glad it is working.... :slight_smile: