ESP32 main project
NodeMCU-32S – minimal configuration over UART; demo modes for MQTT, TCP and maximum throughput.
KymoProbe · PlatformIO firmware
KymoProbe is ready-made firmware for ESP32, Arduino and STM32. Flash it, connect KymoStudio and watch the test signals scroll – then replace them with your own sensors, control variables or states. Under the hood runs KymoCore.
With submodules – KymoCore lives in lib/KymoCore.
git clone --recurse-submodules https://github.com/CodeName-666/kymoprobe.gitBuild and upload the ESP32 example with PlatformIO.
pio run -e nodemcu-32s -t uploadClose the serial monitor and open the port in KymoStudio at 115200 baud, 8N1. Sine and sawtooth arrive at 50 Hz each.
Examples
All examples are built and checked; CI builds the most important ones on every push.
NodeMCU-32S – minimal configuration over UART; demo modes for MQTT, TCP and maximum throughput.
Uno, Nano, Mega – one analog value, as simple as possible.
Uno, Nano, Mega – Y, XY and XYZ at different rates.
ESP32, ESP32-S3, ESP32-C3 – serial transmission with timestamps.
ESP32, ESP32-S3 – wireless measurements through an MQTT broker.
Nucleo F401RE, F411RE, Blue Pill – UART with the STM32 HAL.
Blue Pill F103C8 – virtual COM port over USB.
Generate frames on the PC, without hardware.
Runtime trace events over the same UART as the measurements – for the trace, function flow and hotspot views.
Your measurements
Channels, sampling intervals and the measured values live in src/kymo_config.cpp:
static uint8_t sample(void *, uint8_t id, KymoSample *out)
{
out->value = id == 0 ? readTemperature() : readPressure(); // your sensors
return 1;
}
static const KymoChannel channels[] = {
{20, 0, 0}, // channel 0 every 20 ms
{100, 1, 0} // channel 1 every 100 ms
};
Separate nodemcu-32s-development and nodemcu-32s-production environments switch telemetry on or compile it out with KYMO_ENABLED=0 – without source edits.
KymoProbe is dual-licensed under GPLv3 or a commercial license. Guide: plot ESP32 data live →