Skip to content
View 1811htsang's full-sized avatar
🏠
Working from home
🏠
Working from home

Block or report 1811htsang

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

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

Report abuse
1811htsang/README.md

Hi there, I'm Huynh Thanh Sang (Shang Huang) 👋

🚀 Embedded Software / Firmware Engineer

"I don't just write code; I design a complete embedded product with a full process from requirement analysis, schematic design & PCB to software architecture development."


🧐 About Me

I am currently a Computer Engineering student at VNUHCM-UIT (GPA: 8.55/10). My passion is mastering the entire process and complex engineering steps to perfect products and solve real-world problems.

  • 🔭 Current Focus: Developing bare-metal drivers for STM32, multi-core RTOS systems on ESP32; Designing custom schematics & PCBs for STM32 & ESP32 projects.
  • 🌱 Core Philosophy: Deep understanding of core process & underlaying logic designs.
  • 🗣️ Languages: Vietnamese (Native), English (C1 - Proficient).

🛠️ Tech Stack & Arsenal

Core Hardware Protocols Tools
C C++ Bash STM32 ESP32 Protocols FreeRTOS Git

🔥 Featured Projects (Under Development)

Challenges: Bare-metal Optimization (64KB Flash), Class 0.5S Accuracy (IEC 62053-22), 3-Phase Industrial Simulation, Fail-safe Robustness.

  • Architect a professional-grade firmware using a Bare-metal approach to maximize performance within a constrained 64KB Flash/20KB RAM footprint, avoiding the overhead of HAL libraries.
  • Develop a dual-update strategy: A custom bootloader supporting XMODEM-CRC via UART for remote servicing and a microSD-based recovery mechanism for offline field maintenance.
  • Engineer a high-reliability system with a multi-layered safety net: IWDG (LSI-based) for hardware hangs, WWDG for software logic faults, and CSS (Clock Security System) to monitor HSE oscillator stability.
  • Implement precise energy metering logic using ADE7758, achieving Class 0.5S accuracy for parameters including Vrms, Irms, Active/Reactive Power, and Power Factor across 3 phases.
  • Design a Hardware-in-the-Loop (HIL) testbench using MCP4728 (DAC) and TDA2030 amplifiers to simulate industrial 3-phase signals from a single-phase source, enabling comprehensive validation without high-voltage risks.
  • Integrate advanced security and power features: Using Backup Registers for state preservation during resets, RTC Timestamping for data logging, and MPU/TAMPER for system integrity.

Challenges: 96kHz/24-bit High-Fidelity Sampling, Multi-layer Software Architecture, Power Management, Real-time Feature Extraction (MFCC), High-Noise Environment (80dB).

  • Architect a modular firmware using ESP-IDF with a 3-layer stack: MCAL (Hardware Abstraction), Middleware (DSP/Feature Extraction), and Application (Logic & Predictive Models).
  • Implement a high-speed data acquisition pipeline using I2S to offload the CPU, achieving a stable 96kHz sampling rate for precise acoustic fingerprinting.
  • Design a precision Clock Tree utilizing an external 24.576MHz crystal and 74HCU04 IC to provide a clean master clock for the PCM1808 ADC, ensuring low-jitter audio capture.
  • Develop a robust hardware front-end incorporating TL072 Op-amps, MAX9812, PJ-313B, TCT40-16R, and PCM1808 to process differential signals from industrial bearings (2000 RPM reference).
  • Engineer power-efficient routines for battery operation (8-hour minimum) with integrated charging management and state-of-charge (SoC) monitoring.

Challenges: Peer-to-Peer (P2P) firmware distribution, Flash Memory Management, Bandwidth Optimization for IoT.

  • Develop a comprehensive Over-The-Air (OTA) update system utilizing Device Firmware Update (DFU) protocols to enable seamless wireless software enhancements.
  • Design a specialized Peer-to-Peer (P2P) update scenario where updated devices act as local sources to distribute 1MB firmware packages to neighboring targets, significantly reducing cloud bandwidth reliance.
  • Optimize memory architecture for embedded targets, incorporating a Safe Rollback mechanism to restore the previous stable version in case of update failure or system instability.
  • Design a user-centric management workflow, bridging the gap between Servers, Gateways, and end-user IoT devices through standardized communication.

📫 Connect with me

Huynh Thanh Sang Email

Pinned Loading

  1. Field-Serviceable-Smart-Power-Monitor-using-STM32F103C8T6 Field-Serviceable-Smart-Power-Monitor-using-STM32F103C8T6 Public

    Developed a cost-effective energy monitoring device with professional-grade remote firmware update capability.

    C

  2. Predictive-Maintenance-via-Acoustic-Fingerprint-on-ESP32-S3 Predictive-Maintenance-via-Acoustic-Fingerprint-on-ESP32-S3 Public

    This project focuses on developing a high-speed data sampling system for predictive maintenance of hard-to-detect failures in industrial equipment, specifically targeting bearing failures at a samp…

    C

  3. OTA-Software-Update-Solution-with-DFU-and-P2P-Scenario-Design-for-End-Users OTA-Software-Update-Solution-with-DFU-and-P2P-Scenario-Design-for-End-Users Public

    Repo này dành cho việc lưu trữ tài liệu liên quan đến đề tài và các đoạn code bổ trợ, chưa được bổ sung hoàn chỉnh

    C++ 1

  4. Simplified-AKEDP-Core-for-STM32F Simplified-AKEDP-Core-for-STM32F Public

    Forked from the-ak-foundation/ak-base-kit-stm32l151

    Repository is forked from AK-base-kit for STM32L151 to implement custom simplified AK-EDP core porting which's suitable for specific device - STM32F103

    C

  5. IE105-P21-Software-bug-detection-using-graph IE105-P21-Software-bug-detection-using-graph Public

    Forked from jkottapa/BugDetector

    A bug detector based on call graphs and invariant inference

    C++ 1

  6. CIEDPC-Custom-Independent-Event-Driven-Programming-Core CIEDPC-Custom-Independent-Event-Driven-Programming-Core Public

    CIEDPC - an event-driven programming model customized for hardware independence and high customizability for embedded systems, inspired by the AKEDP core for EPCB-vn's STM32L151 kit.

    C