Remote USB Serial Connection

Establish a serial connection via USB and connect over Wi-Fi

Similar projects worth following
This device uses USB to connect to a target that has a USB serial bridge. A terminal can then be used to connect to the target remotely over Wi-Fi.

This project started from a desire to have a wireless serial connection to my 3D printer. It's not something I need often, but it would be a bit more convenient than plugging in a computer directly. A common suggestion is to use Octoprint, but that is overkill for me, I just want the serial connection.

The easiest method to accomplish this task would be to tap into the Tx and Rx lines of the mainboard and hook them up to an ESP8266. But I don't want to modify my printer, I'd rather use the provided mini USB port to access the serial lines. The mainboard has a Creality3D V1.1.3 mainboard which uses an FTDI FT232RL serial to USB bridge chip. To interface with the FT232, this project will require USB host functionality, either from a dedicated chip or a microcontroller with that feature built in.

This should be an easy project to get working, all of the necessary hardware and software components appear to already exist. For the experience, I plan to iterate multiple versions and eventually design a custom PCB and 3D printed case.

  • Proof of Concept

    Robert02/03/2021 at 06:15 0 comments

    The proof of concept version uses an Arduino Uno, USB Host Shield (generic) and an ESP8266 (ESP-01S) with a level shifter. The Uno is using a sketch modified from the FTDI example provided by the USB Host Shield 2.0 library. This library supports the MAX3421E USB host controller located on the USB Host Shield. The FTDI example sketch required very few changes to get the UNO and shield to work as a USB host to serial bridge. The USB Host Shield 2.0 library seems to work well and it's still receiving updates.

    The ESP8266 is flashed with a Wi-Fi to serial bridge program, of which there are multiple to choose from. I tested the binary releases of ESPTerm and esp-link with no issues. They both offer a browser accessible terminal, and esp-link offers a telnet connection on port 23. I also tested the WiFiTelnetToSerial.ino example included with the ESP8266 Arduino support package. The only required changes to the sketch were setting the Wi-Fi credentials. It worked perfectly as well.

    The next step is to replace the breadboard with a prototyping shield stacked on the Uno.

View project log

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates