Skip to content
View tuanpmt's full-sized avatar

Highlights

  • Pro

Block or report tuanpmt

Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
tuanpmt/README.md

Hi there! πŸ‘‹ I'm Tuan

GitHub followers Location

πŸš€ 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

Starstruck x3 Pull Shark x2 Arctic Code Vault Contributor YOLO


⭐ 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

πŸ“‹ View my commits β†’

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

πŸ“‹ View my commits β†’

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

πŸ“‹ View my commits β†’

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

GitHub Stats

Top Languages


🀝 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"


Profile Views

Pinned Loading

  1. esp_mqtt esp_mqtt Public

    MQTT client library for ESP8266

    C 1.2k 400

  2. ESP8266MQTTClient ESP8266MQTTClient Public

    C 84 41

  3. espressif/esp-mqtt espressif/esp-mqtt Public

    ESP32 mqtt component

    C 702 274

  4. unicloudvn/esp_provisioning unicloudvn/esp_provisioning Public

    Flutter Provisioning library for ESP-IDF ESP32 Unified provisioning

    Dart 78 56