Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to use an Arduino Uno as an FTDI programmer? [closed]

Tags:

arduino

Good evening, I've got an Arduino Uno board and I recently wanted to purchase an Ethernet Shield extension, in order to set up a small webserver. Unfortunately I ordered the wrong item and got a seperate Arduino Ethernet board now, which can't be programmed as easily as an Arduino Uno board and needs to be used seperately.

As you can see in the image below, I can't unplug/remove the atmega from my Uno board as shown in some tutorials on the internet and thus I wasn't able to use it as an ISP yet.

My question is can I use this Arduino Uno (R3 revision) board to program the Ethernet one without having to spend additional money on sort of an FTDI programmer (or programmer cable)?

I attempted to connect the RX, TX, GND and 5V pins of the boards since those are apparently programmed via RX/TX anyway, but that attempt failed paltry.

Maybe someone can help me out.

Current setup:

Enter image description here

(Downscaled for web view, full size image here)

like image 345
beta Avatar asked Aug 21 '13 16:08

beta


People also ask

Can you use Arduino as FTDI programmer?

If we look at the schematic of Arduino, we will see that the RX and TX pins are connected to the FTDI chip (as we expected) (on Arduino board as pin 0 and pin 1) That means we can use those pins for using the FTDI chip itself. We generally use TX and RX pins for communication.

Does Arduino Uno have FTDI?

Thanks in advance for any support. The Uno has an Atmega328P on it which talks serial. The FTDI converts serial to USB and vice versa. If you have a com port on your computer you could in theory just connect straight to the Atmega 328P provided the voltage levels are TTL rather that proper RS232.


2 Answers

You can use the FTDI of the UNO. But it is not as documented or typical as the Arduino ArduinoISP, as mentioned by @John b.

To do so, Remove the ATmega328. Then Rx(D0) and Tx(D1) to the targets Serial Connector. However, it may be simpler just to use jumper wire from Shield Header to Header, rather than between Serial Port to Header. Where your picture looks basically correct. with Rx(D0) to Tx(D1) and Tx(D1) to Rx(D0). Along with power and GND.

But then just as importantly connect the RESET's together. Your above picture does not show Reset or the Green wire being used. The IDE will toggle the Serial PORTs RTS causing the reset into the BootLoader. You could try to time the grounding of this wire, or pressing the targets reset button, when your IDE state's uploading. but it would be simpler just to jump the RESETS.


Adding PCB of jump point for UNO's FDTI DTR(source of RESET, before Cap C5). PCB Layout of Uno's SMT FTDI w/RESET highlighted

enter image description herePCB Layout of Uno's SMT FTDI w/RESET highlighted

enter image description here

Adding picture of DTR on your UNO SMD

hmmm... I see the latest cad files are slightly different, then your release. There is a 2nd Cap, next to the target area. I suspect I have the correct Cap circled. The correct Cap's other end is connected to the Reset-EN Cut/Jump.

enter image description here

like image 176
mpflaga Avatar answered Sep 23 '22 00:09

mpflaga


Disclaimer

I have never used a Arduino Ethernet Board

http://arduino.cc/en/Main/ArduinoBoardEthernet

"It is possible to program the Arduino Ethernet board in two ways: through the 6 pin serial programming header, or with an external ISP programmer." b/c You don't have a 6 pin serial, you should try programming Ethernet board with an ISP(in series programmer).

You can use a normal Arduino as an ISP. There is a very good guide for doing this here.( I have used this guide successfully in the past.)

http://arduino.cc/en/Tutorial/ArduinoISP

Basically you program your normal Arduino to think it is an ISP, then you wire your normal Arduino on the the Ethernet Arduino, by bridging their SPI busses, Pins 11,12,13 ( and tying pint 10 to reset). Then you tell the sketch to upload via ISP, to the Arduino that "thinks" it is a ISP.

Let me know if that doesn't work, or is confusing.

Also

You could just buy the usb to serial programmer. https://www.sparkfun.com/products/9716

like image 37
John b Avatar answered Sep 23 '22 00:09

John b