Skip to main content

Getting Started with SerialyTTY

This guide will help you set up and start using SerialyTTY for the first time.

Prerequisitesโ€‹

Required Hardwareโ€‹

  • ESP32-C6 DevKit board
  • USB-C cable for power and programming
  • Computer with USB port (macOS, Linux, or Windows)

Optional Hardwareโ€‹

  • ILI9341 TFT Display (240x320, SPI)
  • MicroSD Card Module (SPI)
  • Target device with UART interface for bridging

Software Requirementsโ€‹

  • PlatformIO IDE or PlatformIO Core
  • VS Code (recommended) or compatible IDE
  • USB serial terminal (built-in or external)

Installationโ€‹

1. Clone the Repositoryโ€‹

git clone https://github.com/thenisvan/SerialyTTY.git
cd SerialyTTY

2. Install Dependenciesโ€‹

PlatformIO will automatically install the required dependencies when you first build the project.

3. Build the Firmwareโ€‹

For ESP32-C6:

platformio run -e esp32c6

For ESP32 (standard):

platformio run -e esp32dev

4. Upload to Deviceโ€‹

Connect your ESP32-C6 board via USB and run:

platformio run -e esp32c6 -t upload

5. Monitor Serial Outputโ€‹

platformio device monitor -b 115200

Or use the PlatformIO IDE Serial Monitor.

First Bootโ€‹

When you first power on SerialyTTY, you'll see:

  1. Boot Sequence - System initialization messages
  2. Hardware Detection - Scanning for connected peripherals
  3. Main Menu - Interactive command interface

Expected Outputโ€‹

I (2330) MAIN: === USB-TTL SNIFFER STARTING ===
I (2340) MAIN: USB Serial initialized
I (2350) HW_DETECT: Scanning for hardware modules...
I (2360) DISPLAY: Display initialization skipped (not connected)
I (2530) SD_LOGGER: SD card not detected
I (3500) BAUD_DETECT: Baud detector initialized
I (4460) BLE_UART: BLE stub initialized

Basic Usageโ€‹

Accessing the Menuโ€‹

Press any key in the serial terminal to access the main menu:

=== MAIN MENU ===
[D] Detect Baud Rate
[B] Bridge Mode
[S] Settings
[I] Info
[H] Help

Detecting Baud Rateโ€‹

  1. Press D to enter detection mode
  2. Connect your target device to UART1 (GPIO16/17)
  3. Have the target device send data
  4. SerialyTTY will automatically detect the baud rate

Bridge Modeโ€‹

  1. Press B to enter bridge mode
  2. Data flows transparently between USB and UART1
  3. Press ~~~ (three tildes) to exit back to menu

Viewing System Infoโ€‹

Press I to see:

  • Hardware configuration
  • Detected peripherals
  • Firmware version
  • Memory usage

Hardware Connectionsโ€‹

Minimal Setup (UART Bridge Only)โ€‹

Connect your target device to:

  • RX (GPIO16) โ† TX from target
  • TX (GPIO17) โ†’ RX from target
  • GND โ† GND from target

With TFT Display (Optional)โ€‹

Connect ILI9341 display:

  • MOSI โ†’ GPIO7
  • MISO โ†’ GPIO2
  • SCLK โ†’ GPIO6
  • CS โ†’ GPIO10
  • DC โ†’ GPIO3
  • RST โ†’ GPIO4
  • BL โ†’ GPIO5
  • VCC โ†’ 3.3V
  • GND โ†’ GND

With SD Card (Optional)โ€‹

Connect SD card module:

  • MOSI โ†’ GPIO7 (shared with display)
  • MISO โ†’ GPIO2 (shared with display)
  • SCLK โ†’ GPIO6 (shared with display)
  • CS โ†’ GPIO1
  • VCC โ†’ 3.3V
  • GND โ†’ GND

Configurationโ€‹

Enabling Displayโ€‹

In src/main.cpp, change:

bool tryDisplay = false;  // Default: disabled

To:

bool tryDisplay = true;   // Enable display support

Adjusting Baud Rate Rangeโ€‹

In include/config.h:

#define MIN_BAUD 9600
#define MAX_BAUD 115200

Troubleshootingโ€‹

No Serial Outputโ€‹

  • Check USB cable connection
  • Verify correct COM port selection
  • Try resetting the board (EN button)

Display Not Workingโ€‹

  • Verify connections match pin configuration
  • Check that tryDisplay = true in main.cpp
  • Ensure 3.3V power is stable

SD Card Not Detectedโ€‹

  • Format card as FAT32
  • Check SPI connections
  • Verify CS pin (GPIO1)
  • Try a different SD card

Build Errors on macOS ARM64โ€‹

ESP32-C6 may have limited support on Apple Silicon. Solutions:

  • Use Docker with x64 emulation (see BUILD_GUIDE.md)
  • Use standard ESP32 (esp32dev environment)
  • Build on Linux/Windows x64 system

Next Stepsโ€‹

Getting Helpโ€‹

  • ๐Ÿ“– Check the full documentation
  • ๐Ÿ› Report issues on GitHub
  • ๐Ÿ’ฌ Ask questions in Discussions
  • ๐Ÿ“ง Contact the maintainers

Ready to start? Connect your ESP32-C6, upload the firmware, and open the serial monitor! ๐Ÿš€