Following the The Shrimp I've acquired CP2102 USB to UART converter. I already have ATMega328P but without burned bootloader. I want to burn Arduino UNO bootloader to it using the CP2102 converter under Windows.

Any ideas?

Thanks in advance

PS I have no any Arduino boards neither want to buy any, so please skip the advices pointing to how to use Arduino for this job :)

  • 1
    \$\begingroup\$ Though buried on the bill of materials page, that tutorial assumes access to an already programmed device to bootstrap others. You can buy 328p's preloaded with an arduino style bootloader from several of the main distributors now (not just hobbyist suppliers) at a fairly small premium. \$\endgroup\$ – Chris Stratton Dec 28 '12 at 15:48
  • \$\begingroup\$ Thank you guys, seems there is no easy way (for now) to use CP2102 for this task, so I used Arduino Uno to upload the bootloader and then used CP2102 to upload programs. The result can be seen at http://ghadzhigeorgiev.wordpress.com/2013/01/24/shrimpuino/ \$\endgroup\$ – Georgi Hadzhigeorgiev Apr 29 '13 at 11:22

The short answer is, you can't.

The CP2102 is not the right part to burn a blank AVR chip. USB to serial adapters are for uploading sketches to AVR chips that already have the Arduino bootloader installed.

To burn a bootloader into a blank AVR chip you need an AVR programmer. You can make a parallel port programmer for almost nothing (a few resistors and some wire). The Arduino site has information on that. If you don't have a parallel port you can buy a USB AVR programmer off of ebay for < $5.

If you know someone with a working Arduino you use it as an AVR programmer as well.

All of the above will take some research on your part. It is not as simple as uploading a sketch, but it's not all that much harder either.

Here's a good place to start: http://www.ladyada.net/learn/avr/programmers.html

  • \$\begingroup\$ I agree it is inadvisable, but perhaps not imposssible There have been methods in the past to program atmega 328's from true serial ports; it is likely that these could be made to work with a USB converter if the software were drastically slowed down. It would definitely be possible with the CP2103 which has additional GPIOs, but in neither case would it likely be very fast. \$\endgroup\$ – Chris Stratton Dec 28 '12 at 15:47

Depends on your converter.

Do you have access to the RTS DTR CTS pins? If you do you could use the serial bitbang mode of avrdude.

Connect the reset of the AVR to RTS pin of the converter, SCK to DTR, MOSI to TXD and MISO to CTS.Don't forget to connect the ground of the converter to your AVR ground. Then try programming using the "dasa" as programmer in avrdude.

Here is a tutorial on how to use avrdude: http://www.ladyada.net/learn/avr/avrdude.html

Be warned though: Bitbanging over the USB-Serial converter like this is usually slow (half an hour for a single chip), and doesn't work with every USB-Serial converter.


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.