Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Kublet Display Hello World

A PlatformIO-based ESP32 application that demonstrates the Kublet display system with WiFi connectivity, OTA updates, and graphics rendering.

Overview

This project displays "hello" on a TFT screen using the KGFX graphics library. It includes built-in support for:

  • WiFi connectivity
  • Over-the-air (OTA) firmware updates
  • TFT display graphics rendering

Hardware Requirements

  • ESP32 development board (esp32dev)
  • Compatible TFT display (configured for TFT_eSPI)

Software Requirements

  • PlatformIO (IDE or CLI)
  • Python 3 (for PlatformIO)

Installation

  1. Clone this repository:

    git clone <repository-url>
    cd hello
  2. Install dependencies (automatic with first build):

    pio run

Development Commands

Build

pio run

Upload to ESP32

pio run --target upload

Monitor Serial Output

pio device monitor

Serial baud rate: 460800

Build, Upload, and Monitor

pio run --target upload && pio device monitor

Clean Build

pio run --target clean

Update Libraries

pio pkg update

List Installed Libraries

pio pkg list

Project Structure

hello/
├── platformio.ini          # PlatformIO configuration
├── src/
│   └── main.cpp           # Main application code
├── .pio/                  # Build artifacts (generated)
└── CLAUDE.md              # Claude Code instructions

Libraries Used

  • TFT_eSPI (v2.5.0) - Low-level TFT display driver
  • KGFX (v0.0.14) - Graphics abstraction layer for Kublet
  • OTAServer (v1.0.4) - WiFi and OTA update management

Architecture

OTAServer

Manages WiFi connectivity and firmware updates. Critical calls that should not be modified:

  • otaserver.connectWiFi() - Initializes WiFi connection
  • otaserver.run() - Starts OTA server
  • otaserver.handle() - Handles OTA requests (called in loop)

KGFX

Graphics library that simplifies TFT display operations:

  • ui.init() - Initialize the display
  • ui.clear() - Clear the screen
  • ui.drawText(text, font, color, x, y) - Draw text at position

Configuration

Serial Monitor

The serial communication baud rate is set to 460800. This is configured in:

  • platformio.ini (monitor_speed = 460800)
  • src/main.cpp (Serial.begin(460800))

Display Configuration

TFT display settings are managed by the TFT_eSPI library configuration, typically in User_Setup.h or via build flags in platformio.ini.

Usage

  1. Configure your WiFi credentials (check OTAServer library documentation)
  2. Build and upload the firmware
  3. The display will show "hello" in yellow text
  4. Monitor serial output to see startup and connection status

Troubleshooting

Upload Issues

  • Ensure the correct USB port is selected
  • Check that the ESP32 is in bootloader mode if upload fails
  • Verify USB cable supports data transfer (not charge-only)

Display Issues

  • Check TFT_eSPI configuration matches your hardware
  • Verify display connections (SPI pins)
  • Review serial output for initialization errors

WiFi/OTA Issues

  • Verify WiFi credentials are configured correctly
  • Check network connectivity
  • Ensure firewall allows OTA connections

Contributing

When modifying the code, please preserve the OTAServer initialization and handling calls marked with "DO NOT EDIT" comments. These are essential for the Kublet OTA system.

License

[Add your license information here]

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages