Transform Your ESP8266 Board into a USB to Serial Board Easily with Arduino Serial Bypass Sketch

USB to serial boards are necessary to program and debug boards, and/or access the serial console, and while they are very cheap, you may be in a situation where you don’t have any around, but you do have some Arduino compatible boards. It’s been possible to transform an Arduino board into a USB to TTL debug for several years using ArduinoSerialBypass.ino sketch, but I’ve been informed this also works on ESP8266 boards such as Wemos D1 Mini.

The sketch could not be simpler:

The code simply makes sure that Tx and Rx pins are set as inputs in order not to disturb the serial connection as explained below:

This code makes the Arduino not interfere with pins 0 and 1 which are connected to RX and TX on the FTDI chip. This allows the data coming from the FTDI USB 2 Serial chip to flow directly to another device. Since RX and TX are labeled from the Arduino’s point of view, don’t cross the wires, but plug the device’s RX wire into the RX pin 0 and the TX wire into the TX pin 0

This should work with any Arduino compatible boards with a USB to serial chip, but it’s nice that it has been confirmed to work on Wemos D1 mini. If you’d rather get a WiFi to serial bridge, that’s what ESPLink firmware is for.

Thanks to Zoobab for the tip.

Share this:

Support CNX Software! Donate via cryptocurrencies or become a Patron on Patreon

ROCK Pi 4C Plus
Notify of
The comment form collects your name, email and content to allow us keep track of the comments placed on the website. Please read and accept our website Terms and Privacy Policy to post a comment.
6 years ago

Is there any complete tutorial for ESP noobs?

Rick Sanchez C-137
5 months ago

I think I’m missing something here: Load the Arduino IDE on your computer Connect the board via USB to your computer and select the basic board/port settings for your board in the IDE so it can communicate with the board. Create a sketch with the code above and load it to the board. Disconnect the board from USB? With both boards unplugged from power/USB, connect the Tx, Rx, and GND pins between the ESP8266 board and your target board. Reconnect USB to the board you’re using as a passthrough. Connect with your prefer software (minicom, screen, putty…) and serial settings,… Read more »

6 years ago

Seems I misunderstood: I though this is serial to wifi adapter. I’m thinking to build one with spare NanoPi NEO I have.

6 years ago

Perfect! This is exactly what I’m looking for.
And sorry all for spamming thread 🙁

6 years ago

Beware some Arduinos are normally running at 5V, so the usb-serial converter will run at 5V as well.

Years ago I hacked a USB cable to feed the power of the USB into the external connector, so that the whole board would run at 3.3V:

This hack only works for the Duemilanove, which has 2 voltage regulators cascaded.

The ESP runs at 3.3V, so if you have a Wemos or a Witty cloud, the TTL output is at 3.3V.

Khadas VIM4 SBC