Hi there! 👋 I'm Tuan
🚀 About Me
I'm an IoT Expert and Embedded Systems Engineer from Vietnam, specializing in building embedded systems from the ground up. With deep expertise in ESP8266/ESP32 ecosystems, I've written most networking protocols from scratch for resource-constrained embedded devices.
I'm a core contributor to Espressif's official ESP-IDF framework, where I developed the base protocol stack that powers millions of IoT devices worldwide.
🌐 GitHub: github.com/tuanpmt
🎯 Core Expertise
📡 Protocol Implementation from Scratch
I've implemented the following protocols from scratch for embedded systems, optimized for memory-constrained environments:
| Protocol | Description | Used In |
|---|---|---|
| MQTT | Lightweight pub/sub messaging protocol | ESP-IDF, esp_mqtt |
| HTTP/HTTPS | Full HTTP client with chunked encoding, auth, redirects | ESP-IDF esp_http_client |
| WebSocket | Real-time bidirectional communication | ESP-IDF, esp_mqtt |
| DLNA/UPnP | Digital Living Network Alliance for media streaming | ESP-ADF |
| AirPlay | Apple's wireless streaming protocol | Custom projects |
| SIP | Session Initiation Protocol for VoIP | Custom projects |
🎵 Audio Processing for Embedded
Deep expertise in embedded audio systems:
- I2S driver development with APLL clock support
- Audio codec integration (ES8388, AC101, etc.)
- Real-time audio streaming and processing
- Text-to-Speech integration (AWS Polly, Google TTS)
- SAM (Software Automatic Mouth) implementation
🔧 ESP-IDF Base Protocol Contributions
As a core contributor to Espressif's ESP-IDF, I built foundational components:
- Transport Layer - TCP/SSL/WebSocket abstraction
- HTTP Client - esp_http_client component
- MQTT Client - Official esp-mqtt component
- I2S Driver - Audio I/O with DMA support
- HTTP Server - Request/response handling
🏆 GitHub Achievements
⭐ Popular Open Source Projects
🔥 Most Starred Repositories
| Repository | Description | Stars | Language |
|---|---|---|---|
| esp_mqtt | MQTT client library for ESP8266 - One of the first and most popular MQTT implementations for ESP8266 | ⭐ 1.2k | C |
| esp32-mqtt | ESP32 MQTT sample project for ESP-IDF | ⭐ 183 | C |
| ESP8266MQTTClient | Arduino MQTT library for ESP8266/ESP32 | ⭐ 84 | C |
| esp-request | HTTP/HTTPS client for ESP32 (now part of ESP-IDF) | ⭐ 63 | C |
| esp_rpi_flasher | ESP32 batch programming tool using Raspberry Pi | ⭐ 26 | Python |
| esp32-fota | ESP32 Firmware Update Over The Air | ⭐ 23 | C |
| esp-adf-sam | SAM (Software Automatic Mouth) speech synthesis for ESP-ADF | ⭐ 12 | C |
🆕 Recently Updated ESP Components
| Repository | Description | Updated |
|---|---|---|
| esp_epaper | E-Paper display driver for ESP-IDF | Recently |
| esp_bus | Lightweight event-driven message bus for ESP-IDF with string-based routing, pattern matching, and zero-allocation design | Dec 2024 |
🛠️ Contributions to Espressif Official Projects
📡 espressif/esp-mqtt ⭐ 694
ESP32 Official MQTT Component - Original Author
I wrote the entire MQTT client from scratch, including:
- ✅ Complete MQTT 3.1.1 protocol implementation
- ✅ Transport abstraction layer (TCP/SSL/WebSocket)
- ✅ WebSocket support with mqtt sub-protocol
- ✅ Outbox queue system for QoS 1/2 handling
- ✅ Automatic reconnection with backoff
- ✅ Binary LWT (Last Will and Testament) support
🔧 espressif/esp-idf ⭐ 16.9k
ESP32 Official IoT Development Framework - Core Contributor
Base protocol and driver contributions:
- ✅ esp_http_client - Complete HTTP/HTTPS client with:
- Chunked transfer encoding
- Basic/Digest authentication
- Redirect handling (30x)
- Keep-alive connections
- ✅ I2S Driver - Full audio I/O implementation:
- 8/16/24/32-bit sample support
- APLL clock for precise audio sampling
- DMA-based data transfer
- Simultaneous TX/RX support
- ✅ HTTP Server - Case-insensitive header handling
- ✅ Transport Layer - SSL transport improvements
🎵 espressif/esp-adf ⭐ 2.1k
ESP32 Audio Development Framework - Core Contributor
Audio streaming and protocol contributions:
- ✅ HTTP Stream - Reader/Writer for audio streaming
- ✅ DLNA/UPnP - Media renderer implementation
- ✅ Live Streaming - Real-time audio support
- ✅ Cloud TTS Integration:
- AWS Polly Text-to-Speech
- Google Translate TTS
- Baidu TTS
- ✅ Pipeline System - Ringbuffer and state management
- ✅ Peripheral Drivers - LED, button handling
💻 Tech Stack
┌─────────────────────────────────────────────────────────────┐
│ 🔌 Embedded & IoT │
├─────────────────────────────────────────────────────────────┤
│ ESP32 │ ESP8266 │ ESP-IDF │ ESP-ADF │ FreeRTOS │ Arduino │
├─────────────────────────────────────────────────────────────┤
│ 📡 Protocols (Written from Scratch) │
├─────────────────────────────────────────────────────────────┤
│ MQTT │ HTTP/HTTPS │ WebSocket │ DLNA │ AirPlay │ SIP │
├─────────────────────────────────────────────────────────────┤
│ 🎵 Audio │
├─────────────────────────────────────────────────────────────┤
│ I2S │ PCM │ MP3 │ AAC │ FLAC │ Opus │ TTS │ Audio Codecs │
├─────────────────────────────────────────────────────────────┤
│ 💻 Languages │
├─────────────────────────────────────────────────────────────┤
│ C │ C++ │ Python │ JavaScript │
└─────────────────────────────────────────────────────────────┘
📊 GitHub Stats
🤝 Other Notable Projects
| Repository | Description | Stars |
|---|---|---|
| unicloudvn/esp_provisioning | Flutter Provisioning library for ESP-IDF ESP32 Unified provisioning | ⭐ 76 |
📫 Connect with Me
- 🐙 GitHub: github.com/tuanpmt
- 📍 Location: Ho Chi Minh City, Vietnam
- 👥 Followers: 516+
- ⭐ Starred repos: 569
🔧 Building IoT from the ground up - Protocol by Protocol 🚀
"If you want something done right in embedded, write it from scratch"



