Michael Tien's Bit Workshop
Firmware engineer sharing technical guides, open-source projects, and notes on embedded systems, UEFI, OpenBMC, and software development.
Technical Guides
Comprehensive learning resources hosted on GitHub Pages
Firmware & Embedded
OpenBMC Guide
Comprehensive OpenBMC development — D-Bus, sensors, IPMI, Redfish, and platform porting.
Zephyr RTOS Guide
Zephyr RTOS programming from beginner to professional — threads, drivers, Bluetooth, and networking.
UEFI Guide
UEFI firmware development — DXE drivers, protocols, SMM, and ARM platform porting.
Linux Driver Guide
Linux kernel driver development — character devices, I2C, SPI, USB, PCIe, and debugging.
OpenPRoT Guide
Open Platform Root of Trust — MCTP, SPDM, PLDM protocols and firmware security.
Programming & Patterns
Rust Guide
Rust programming from basics to systems-level — ownership, concurrency, FFI, and bare metal.
Design Patterns
Gang of Four patterns with UML diagrams and code examples in C#, Delphi, and C++.
Security & Finance
Notable Projects
Open-source tools and contributions
STM32 WINUSB
USB CDC to WINUSB conversion for STM32 microcontrollers.
VBoxVmService
Run VirtualBox VMs as a Windows service.
E-Paper Business Card
E-ink electronic business card application.
JmpBldrDemo
Bootloader demonstration project.
OpenBMC Learning Platform
Web-based LMS for OpenBMC education.
ASCII Chart Formatter
Fix misaligned edges in ASCII-art diagrams from LLM output.
Recent Posts
-
Use Ms Access To Update Duplicate Primary Key In Dealtick
-
RCG Canadian Consolidated Sanction List Update
-
Onedrive Sync Failure For rcgbackup
-
Http_test
-
Use Interrupt Priority to Enable Nested Interrupt Handling for H8/300H
-
Visual Studio Code with http file
-
Build OpenBMC for Raspberry Pi3 and Raspberry Pi Zero W
-
Conda Install 32bits Python