Can I Burn Bootlaoder with FTDI Breakout Board?

I have an FTDI serial breakout board like this one, which I normally use to program a Pro Mini.

I have just a built a standalone Arduino with an ATtiny85 (virgin original Atmel chip) and ICSP/FTDI header with these connections.

Attiny85 FTDI


1-RESET DTR 5-MOSI Rx 6-MISO Tx 8-VCC Vcc 7-SCK CTS 4-GND GND

Should I be able to burn the bootloader with the the FTDI board? I did try to, but it did not work.

My settings for IDE Ver 1.5.7 were: Board - ATtiny85 @8 MHz 9internal oscillator, BOD disabled) Programmer : Arduino as ISP

Just wondering if I need to tweak some settings...? If not possible, I will resort to doing it with an Uno.

Technically the answer is "maybe" but not recommended to try if you have an Uno or Pro Mini unless you are just plain curious. https://learn.adafruit.com/ftdi-friend/programming-the-arduino-bootloader

Let us know how it goes.

You can burn a bootloader from FTDI; pretty sure those aren't the correct connections you have listed.

If you have a working promini, you can install Nick Gammon's bootload installer sketch to burn in a bootloader. http://www.gammon.com.au/forum/?id=11635 Hmm, I don't see Attiny85 listed, so maybe not.

Yeah, I think most people use ISP programming to upload a sketch and not to put a bootloader on the tiny. But there is a bootloader used for digispark called micronucleus, and i suppose something like optiboot could be compiled to work using soft serial. This post could get interesting, depending on what the OP has in mind.

dmjlambert: Technically the answer is "maybe" but not recommended to try if you have an Uno or Pro Mini unless you are just plain curious. https://learn.adafruit.com/ftdi-friend/programming-the-arduino-bootloader Let us know how it goes.

Looking at the link you posted, I find their connections strange. I would have thought that they should have connected FTDI Rx/Tx to Uno Tx/RX - that is how I connect my partially burnt Nano when I program it with the FTDI module.

That prompted me to look at my connections and made me wonder If I should not be swapping the ATtiny MISO/MOSI connections to the FTDI.

A bit curios, but I really wanted to get away from programming the ATtiny with another Arduino as it involves removing the chip, setting up a breadboard etc etc.

I just want to get a piece of hardware to program the ATtiny directly through the header, which seems to be an ISP programmer.

I had a quick look on eBay and they are pretty cheap but there seems to be a quite a plethora of varieties.

Any pointers for "must have" features in an ISP programmer?

CrossRoads: You can burn a bootloader from FTDI; pretty sure those aren't the correct connections you have listed.

If you have a working promini, you can install Nick Gammon's bootload installer sketch to burn in a bootloader. http://www.gammon.com.au/forum/?id=11635 Hmm, I don't see Attiny85 listed, so maybe not.

I can program a Pro Mini with the module, so I think I can probably burn a bootloader on a Pro Mini as well without a sketch - but need to test that theory.

But my objective is to burn a bootloader onto the ATtiny 85, which I have now already done with an Uno.

Well dumb little me just realised that since I have a header on my Attiny Arduino, there is no need to remove the chip and set it up on a breadboard - I can just hook the Uno up to the header. Works a treat.

Burnt the bootloader and uploaded a sketch.

But my objective is to burn a bootloader onto the ATtiny 85, which I have now already done with an Uno

I have a Pro-Mini and an FTDI (USB/Serial Adaptor) but I have never used the FTDI to do that because I have an ATtinyISP board that duplicates the wiring you used with your UNO but with a PCB that has an 8-pin socket for the ATtiny85. The interface cable is a ribbon cable that plugs into the UNO ICSP connector but I have add a separate jumper wire from the UNO-pin-10 (SPI CS) to the ATtiny_pin-1 (RESET), because the ATtiny85 reset signal doesn't come from the UNO RESET pin, it comes from the SPI_CS pin-10.

If you replace the UNO with the Pro-Mini and replace the USB cable with your FTDI USB cable and add a jumper from the Pro-Mini_pin-10 to the ATtiny85_pin-1, it might work.

raschemmel: If you replace the UNO with the Pro-Mini and replace the USB cable with your FTDI USB cable and add a jumper from the Pro-Mini_pin-10 to the ATtiny85_pin-1, it might work.

This idea would still require me to use another Arduino. My objective is to use a single piece of hardware and cable(s) with no other Arduino.

Now as an alternative, I was thinking of adding a USB interface to the standalone Arduino based on a design that does not use a chip for the USB. I still need to get the parts to breadboard test it.

I have a couple of cards that are designed as standalone programmers. One lets you select 1 of 16 programs to download - and that includes bootloaders -and the other lets you select one of 256 files for downloading. More details here. http://www.crossroadsfencing.com/BobuinoRev17/ Nick Gammon wrote the code. I've only tested with 328Ps so far, but the code looks like it will support many chips.

This idea would still require me to use another Arduino.

That's because if you don't have a standalone programmer like Crossroads sells, then the only other alternative is an arduino*ISP. That's why the sketch is called ArduinoISP. ISP stands for "In System Programme*r". It's one or the other. There are no other options.

If you read the avrdude.conf file with your Arduino installation you will see that avrdude supports several ftdi usb-ttl chips as ISP programmers. I tried the "arduino-ft232r" entry and it worked. You will, however, need a ftdi board that breaks out the required signals.

We're talking about programming an ATtiny85. (using SPI)

Yes, and Attiny85 is initially programmed via MISO-MOSI-SCK while Reset is held low, just like a '328P is loaded.

"Self-Programming the Flash The device provides a Self-Programming mechanism for downloading and uploading program code by the MCU itself. The Self-Programming can use any available data interface and associated protocol to read code and write (program) that code into the Program memory."

I.e., a bootloader can be installed.

Or programming can be done using the pins found on an ICSP header. "Serial Downloading Both the Flash and EEPROM memory arrays can be programmed using the serial SPI bus while RESET is pulled to GND. The serial interface consists of pins SCK, MOSI (input) and MISO (output)."

The schematic for the connections from an UNO to an ATTINY85 when using the UNO as an ArduinoISP is easy to find. I haven't found the schematic for connecting the FTDI Board to the ATtiny85 DIP chip. (I have no idea what ICSP header you're referring to because that's not part of an 8-pin DIP ATtiny85.

You would normally program the ATtiny85 via ISP programming. That would not require or involve an FTDI adapter. FTDI adapters are for uploading to processors which are running a TTL-232 bootloader such as optiboot, and you normally connect the FTDI adapter to the hardware serial TX and RX pins on the processor (the ATtiny85 has none of those).

Are you in a situation where you can't get a "normal" ISP programmer device such as a USBasp, and you absolutely must use an FTDI adapter for ISP programming? It is possible to use the FTDI adapter for something it was not designed to do, which is bit-banging ISP. FTDI adapters and USBasp programmers are about the same price, super cheap.

So this is probably the reason you have difficulty finding info online about it, folks don't normally use FTDI adapters to do ISP programming, unless they are just proving it can be done for educational purposes (and not practical purposes). There are probably not a lot of people trying to use an ISP programmer such as USBasp as an FTDI adapter, either, but it can be done.

Read the OP's original post (on page-1)(body follows)

I have just a built a standalone Arduino with an ATtiny85 (virgin original Atmel chip) and ICSP/FTDI header with these connections.

Attiny85 FTDI


1-RESET DTR 5-MOSI Rx 6-MISO Tx 8-VCC Vcc 7-SCK CTS 4-GND GND

Should I be able to burn the bootloader with the the FTDI board? I did try to, but it did not work.

My settings for IDE Ver 1.5.7 were: Board - ATtiny85 @8 MHz 9internal oscillator, BOD disabled) Programmer : Arduino as ISP

There are several things about this post I find troubling, not the least of which is the attempt to use Arduino as ISP as the programmer type. When I program my ATtiny85s, I have to first load the ArduinoISP sketch in my UNO before changing the board type to ATtiny85. It appears from the above post by the OP , that he is trying to run "Arduino as ISP" as the programmer type for an ATtiny85 without loading ArduinoISP sketch. And of course there is the issue of the programmer and the target being one and the same. (the ATtiny85) . I don't see how that can work. An FTDI is not a programmer. It is nothing more than a USB to TTL serial interface. Maybe I'm the one who is confused but I just don't see how this is going to work.

I don't understand this:

ICSP/FTDI header with these connections.

If you look at the link for his FTDI there is no ICSP header on that board. ICSP specifically denotes a SPI connector. Do you see any SPI pins on the FTDI Bd ?

I must be missing something here because I don't see how an ATtiny85 that hasn't been programmed yet can be used to program itself. Can somebody enlighten me ?

. My comments were in reference to replies discussing FTDI interface for programming an ATtiny85. I have a Kickstarter ATtinyISP which I connect to my UNO ICSP connector for programming the ATtiny85. I am familiar with the SPI interface for the UNO to do that. I do not however understand how that kind of interface would work with a standalone ATtiny85.

You may be confused because the OP proposes to use an FTDI adapter as if it was an ISP programmer. It is possible, although not a good idea (in my opinion). The link I gave in my first post on this thread is a demonstration of using an FDTI adapter in this (weird) way.

Connect the Black (Ground) wire to the ground of your chip
Connect the Red (VCC) wire to the power/VCC/5V pin of your chip
Connect the White (DTR) wire to the Reset pin
Connect the Orange (TX) wire to SCK pin (Arduino pin 13)
Connect the Green (RTS) wire to MOSI pin (Arduino pin 12)
Connect the Blue (CTS) wire to the MISO pin (Arduino pin 11)

Attiny85 FTDI


4-GND GND
8-VCC Vcc
1-RESET DTR
6-MISO Tx
5-MOSI Rx
7-SCK CTS

pretty sure those aren’t the correct connections you have listed.

Did you read the warning on Adafruit page about it taking 2 HOURs to program this way ?

Why do this ? Why not just buy an ATmega328 DIP chip with the OPTIBOOT bootloader and use it like an UNO in Arduino as ISP mode after loading the ArduinoISP Example sketch ?

tf68:
If you read the avrdude.conf file with your Arduino installation you will see that avrdude supports several ftdi usb-ttl chips as ISP programmers. I tried the “arduino-ft232r” entry and it worked. You will, however, need a ftdi board that breaks out the required signals.

Now that’s interesting.
From the avr.cof file :
programmer
id = “ft232r”;
desc = “FT232R Synchronous BitBang”;
type = “ftdi_syncbb”;
connection_type = usb;
miso = 1; # RxD
sck = 0; # RTS
mosi = 2; # TxD
reset = 4; # DTR

My chip is an FT232RL and it has the above signals, so in theory it should work.
Did you have to do any edits to have it show up as a programmer?