Skip to content

dtmc_espidf

ESP-IDF implementations of the dtmc_base porting contracts — GPIO, ADC, UART, CAN bus, Modbus RTU, MQTT, Ethernet, NVS, LCD panels, and DAC peripherals — plus a set of demo applications that exercise each one.

dtmc_espidf is part of the Embedded Applications Lab — a set of working applications based on a set of reusable libraries across MCU, Linux, and RTOS targets.


What's inside

Area Headers
GPIO / ADC dtgpiopin_espidf, dtadc_espidf_oneshot
Serial / CAN dtiox_espidf_uart, dtiox_espidf_canbus
Modbus RTU dtiox_espidf_modbus_rtu_slave
Networking dtethernet_espidf, dtstation_espidf, dtnetportal_espmqtt, dtmqttclient_espidf
Storage dtnvblob_espidf_nvs
Display dtdisplay_lcd_ili9341
Peripherals dtmcp4728_espidf (quad-channel DAC), dtdotstar_espidf (LED strip)
Startup dtprepper_espidf, dtinterval_espidf

Demo applications

App What it shows
demo_gpiopin_button Interrupt-driven GPIO input
demo_adc_oneshot One-shot ADC sampling
demo_iox_uart / demo_iox_canbus UART and CAN I/O streams
demo_iox_modbus / demo_netportal_modbus Modbus RTU slave and netportal bridging
demo_netportal_espmqtt / mqtt_wired MQTT over Wi-Fi and wired Ethernet
demo_netportal_can / demo_netportal_uart Netportal over CAN and UART transports
demo_display_hello / demo_lvgl_card ILI9341 LCD and LVGL widget demo
demo_mcp4728_square MCP4728 DAC waveform generation
demo_write_kvp NVS key-value persistence
demo_runtime_info Runtime diagnostics and task registry
test_dotstar DotStar LED strip validation

Dependencies

dtmc_espidf depends on dtcore, dtmc_base, and dtmc_services, which are included as git submodules under submodules/. After cloning, initialize them with:

git submodule update --init --recursive

Docs

See the dtmc_espidf documentation site for the full API reference.