I am planing on making Arduino from scratch. I found many examples on internet, but they all need another Arduino for programming. How can I make Arduino with USB interface for programming and serial data transfer? Would I need something called FTDI? Basically I want same Arduino you can buy, just build it from separate parts.

  • If your atmega328 isn't preloaded with bootloader firmware, you need a programmer (which can be an arduino running a special sketch). And you need some USB to TTL-Serial, which can be an FTDI or CP120x or CH340 or similar.module. Oct 7 '20 at 12:12

There are two critical things that make an "Arduino". There is the hardware, and there is the bootloader.

The hardware is nothing special. It's just an MCU and the required minimal support hardware. What really makes it an Arduino is the bootloader which allows it to be programmed over the serial connection (via USB usually).

Without that bootloader the only way to program the MCU is over the hardware programming interface (typically ICSP for an AVR MCU), and for that you need some form of hardware programmer.

And of course that means the only way to put the bootloader onto the chip is to use a hardware programmer.

So you have two options:

  1. Program the bootloader into the chip using a hardware programmer (which you can make with an Arduino), or
  2. Buy an ATMega328P chip with the bootloader pre-programmed.

Once you have the bootloader installed then yes, you can program the chip over UART (through USB with a USB to UART adaptor such as an FT232).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.