1.9 KiB
1.9 KiB
KodeDot FTP Explorer — Agent Memory
Project Overview
FTP server for Kode Dot (ESP32-S3) that serves the microSD card over Wi-Fi.
Reads Wi-Fi credentials from SD:/Wi-Fi.json, syncs time via NTP (Vienna), displays status on AMOLED via LVGL.
Hardware
| Feature | Detail |
|---|---|
| MCU | ESP32-S3, 240 MHz dual-core, 32 MB flash, 8 MB PSRAM |
| Display | AMOLED 2.13" 410x502 (CO5300 QSPI + CST820 I2C touch) |
| SD Card | SDMMC 1-bit: CMD=GPIO5, CLK=GPIO6, D0=GPIO7, CD=EXP14 |
| IO Exp | TCA9555 @ 0x20 (buttons, SD detect, interrupts) |
| LED | NeoPixel GPIO4 (1 LED, GRB 800 kHz) |
| Partition | App at 0x400000 (8 MB). KodeOS bootloader below — DO NOT TOUCH |
| Port | COM10 |
Key APIs
DisplayManager—init(),update(),setBrightness(),getTouchCoordinates()SD_MMC—setPins(clk=6, cmd=5, d0=7),begin("/sdcard", 1)(1-bit mode)SimpleFTPServer—FtpServer ftpSrv; ftpSrv.begin("user","pass"); ftpSrv.handleFTP();ArduinoJson— parse[{"ssid":"...","pass":"..."}]from SD- NTP —
configTzTime("CET-1CEST,M3.5.0,M10.5.0/3", "pool.ntp.org")
Build Notes
- Build flag
-DDEFAULT_STORAGE_TYPE_ESP32=STORAGE_SD_MMCoverrides FtpServerKey.h - Flash:
esptool --chip esp32s3 ... write-flash 0x400000 <bin>(preserves bootloader) - Upload speed: 460800 baud
Git Remote
- Host: git.lago.dev
- Repo: KodeDot-FTP-Explorer
- Auth: service key token
Findings & Notes
- SimpleFTPServer v3.0.2 supports SD_MMC on ESP32, passive mode, single session
- SFTP not feasible on ESP32 (crypto overhead too high)
- Vienna timezone string:
CET-1CEST,M3.5.0,M10.5.0/3 - FTP credentials:
kode/kode - SD card uses
SD_MMC.begin("/sdcard", 1)— the1means 1-bit bus width - LVGL v8.3.x API (not v9) — uses
lv_disp_drv_t,lv_label_create, etc.
Status
- Phase 1: Project setup & git
- Phase 2: Backend (Wi-Fi + SD + FTP + NTP)
- Phase 3: Frontend (LVGL UI)
- Phase 4: Integration & polish