<p>What you need to is called a ICSP or ISP: <a href="https://en.wikipedia.org/wiki/In-system_programming" rel="noreferrer">in-circuit serial programmer or in-system programmer</a>, which excludes the USB to TTL device you own.</p>

<p>I've never used an ESP8266 as ICSP but it seems there are <a href="https://arduino.stackexchange.com/questions/44702/esp8266-as-isp-program-for-atmega16">some resources out there</a> reporting it is possible.
If you want to go the easiest way probably you want to buy an Arduino and follow the tons of tutorials out there, if you are looking to save some money then you might get around buying an ICSP like the very well known USBASP (just Google for that).</p>

CC BY-SA 4.0
2019-11-11T09:55:26.030Z
Thank you for the info, it looks interesting. I will look into using the ESP8266 as I love to learn new stuff! Will report back with my results when I've received my printer.
PatricF
CC BY-SA 4.0
2019-11-11T09:49:51.863Z
2019-11-11T09:49:51.863Z
Roberto Lo Giacco
<p>You can do AVR programming using USB-TTL adapters. This relies on bit-banging, i.e. emulating the programming protocol by using the serial control lines as general purpose IO.</p>

<p>But this has a few caveats:</p>

<ul>
<li>USB-TTL adapters limit the speed of control line changes. So the programming will be very slow, taking several minutes.</li>
<li>You need to have the RTS, DTR and CTS lines available on the USB-TTL adapter. Many of the cheap adapters do not have these signals available on pins, though you could solder to the chip directly.</li>
</ul>

<p>If those two are in order, go ahead and install <a href="https://www.nongnu.org/avrdude/" rel="nofollow noreferrer">avrdude</a>, take one of the serial port bitbang (<code>serbb</code> driver) example files and configure it with information on which serial adapter pins you've connected to the AVR chip. Then give <code>-i 1000</code> or similar delay value to <code>avrdude</code> to slow it down enough to work over the USB interface.</p>

<p>There is <a href="http://nerdralph.blogspot.com/2014/05/pl-2303hx-bit-bang-avr-programmer.html" rel="nofollow noreferrer">a blog post about doing it with PL2303 based adapter</a>, but the technique should work on other USB-TTL adapters also.</p>

CC BY-SA 4.0
2019-11-12T07:34:57.407Z
wow this is some really interesting stuff for me! Thank you for the information. I will look in to this.
PatricF
CC BY-SA 4.0
2019-11-11T18:06:14.590Z
2019-11-11T18:06:14.590Z
jpa
<p>I just order myself an Ender 3 Pro which will come by the end of the week.
Before it arrives I want to be ready to flash a bootloader onto it.</p>

<p>I was wondering what other options there are to flashing except using an Arduino?</p>

<p>I have a bunch of ESP8266/ESP32 and a <a href="https://www.banggood.com/FT232RL-FTDI-USB-To-TTL-Serial-Converter-Adapter-Module-For-Arduino-p-917226.html?rmmds=myorder&amp;cur_warehouse=CN" rel="nofollow noreferrer">USB to TTL</a>. Would it be possible to use these somehow instead of an Arduino to flash a bootloader to the Ender 3?
Or should I just go buy an Arduino?</p>

CC BY-SA 4.0
2019-11-11T10:52:51.433Z
Scenario 1 of https://3dprinting.stackexchange.com/a/6686/8884
Trish
<creality-ender-3><firmware>
Flashing a bootloader on Ender 3 without Arduino
PatricF
# Flashing a bootloader on Ender 3 without Arduino

(Asked by: username_0 on 2019-11-11)

I just order myself an Ender 3 Pro which will come by the end of the week.
Before it arrives I want to be ready to flash a bootloader onto it.

I was wondering what other options there are to flashing except using an Arduino?

I have a bunch of ESP8266/ESP32 and a [USB to TTL](https://www.banggood.com/FT232RL-FTDI-USB-To-TTL-Serial-Converter-Adapter-Module-For-Arduino-p-917226.html?rmmds=myorder&cur_warehouse=CN). Would it be possible to use these somehow instead of an Arduino to flash a bootloader to the Ender 3?
Or should I just go buy an Arduino?

**Tags:** creality-ender-3, firmware
> **Comments:**
> **username_1**: Scenario 1 of https://3dprinting.stackexchange.com/a/6686/8884  

---

## 2 answers

### Answer by username_2 on 2019-11-11. Score: 5

What you need to is called a ICSP or ISP: [in-circuit serial programmer or in-system programmer](https://en.wikipedia.org/wiki/In-system_programming), which excludes the USB to TTL device you own.

I've never used an ESP8266 as ICSP but it seems there are [some resources out there](https://arduino.stackexchange.com/questions/44702/esp8266-as-isp-program-for-atmega16) reporting it is possible.
If you want to go the easiest way probably you want to buy an Arduino and follow the tons of tutorials out there, if you are looking to save some money then you might get around buying an ICSP like the very well known USBASP (just Google for that).

> **Comments:**
> **username_0**: Thank you for the info, it looks interesting. I will look into using the ESP8266 as I love to learn new stuff! Will report back with my results when I've received my printer.  

---

### Answer by username_3 on 2019-11-11. Score: 4

You can do AVR programming using USB-TTL adapters. This relies on bit-banging, i.e. emulating the programming protocol by using the serial control lines as general purpose IO.

But this has a few caveats:

* USB-TTL adapters limit the speed of control line changes. So the programming will be very slow, taking several minutes.
* You need to have the RTS, DTR and CTS lines available on the USB-TTL adapter. Many of the cheap adapters do not have these signals available on pins, though you could solder to the chip directly.

If those two are in order, go ahead and install [avrdude](https://www.nongnu.org/avrdude/), take one of the serial port bitbang (`serbb` driver) example files and configure it with information on which serial adapter pins you've connected to the AVR chip. Then give `-i 1000` or similar delay value to `avrdude` to slow it down enough to work over the USB interface.

There is [a blog post about doing it with PL2303 based adapter](http://nerdralph.blogspot.com/2014/05/pl-2303hx-bit-bang-avr-programmer.html), but the technique should work on other USB-TTL adapters also.

> **Comments:**
> **username_0**: wow this is some really interesting stuff for me! Thank you for the information. I will look in to this.  

---

