Skip to the content.

MycilaWebSerial

Latest Release PlatformIO Registry

GPLv3 license Contributor Covenant

Build GitHub latest commit Gitpod Ready-to-Code

MycilaWebSerial is a Serial Monitor for ESP32 that can be accessed remotely via a web browser. Webpage is stored in program memory of the microcontroller.

This library is based on the UI from asjdf/WebSerialLite (and this part falls under GPL v3).

Changes

To add a logo, add a handler for /logo to serve your logo in the image format you want, gzipped or not. You can use the ESP32 embedding mechanism.

Preview

Preview

DemoVideo

Features

Dependencies

Usage

  WebSerial.onMessage([](const std::string& msg) { Serial.println(msg.c_str()); });
  WebSerial.begin(server);

  WebSerial.print("foo bar baz");

If you need line buffering to use print(c), printf, write(c), etc:

  WebSerial.onMessage([](const std::string& msg) { Serial.println(msg.c_str()); });
  WebSerial.begin(server);

  WebSerial.setBuffer(100); // initial buffer size

  WebSerial.printf("Line 1: %" PRIu32 "\nLine 2: %" PRIu32, count, ESP.getFreeHeap());
  WebSerial.println();
  WebSerial.print("Line ");
  WebSerial.print(3);
  WebSerial.println();