Embedded System

Embedded system combines circuit hardware and micro-controller (MCU) program software.

AVR Function stack

This article will discuss demonstrate the stack operation of AVR-GCC when calling a function from the hardware's perspective of view.

--by Captdam @ Mar 3, 2025

My ATtiny experience

This blog will introduce ATtiny chips in DIP / SOIC packages and with SPI-based ICSP interface that I have been used in my projects.

--by Captdam @ Nov 12, 2024

Print string on 68HC11

This article illustrates string structure in memory and how to print string on PC using C and on microprocessor using assembly. Assembly language of 68HC11 is used as example.

--by Captdam @ Sep 2, 2024

AVR Naked Interrupt Service Routine

Using naked interrupt service routine (ISR) in AVR development

--by Captdam @ Sep 1, 2024

Use CNC to make PCB

This blog shows how I use KiCad to design a PCB, then use FlatCAM to generate the G-code for a CNC to engrave on copper plated board. This blog also discusses the challenges I encountered and my solutions.

--by Captdam @ Aug 31, 2024

NMOS and diode based level shifter design

Introduce two different level shifter for logic circuit design: the NMOS-based design and the diode-based design. This blog will introduce the working principle of both design, provide PCB layout for both of them using SMD, provide timing diagrams using scope for both implementation, and compare the pros and cons of them.

--by Captdam @ Dec 23, 2023

Understanding MODBUS RTU

Introduction to MODBUS and MODBUS RTU protocol. This blog presents the format of MODBUS RTU packet, including the request from master to slave and the response form slave to master. This blog also shows how to ccompute the CRC-16 value for MODBUS packet in AVR assembly language.

--by Captdam @ Aug 20, 2023

MSC-51 Powered Nixie Clock

You can’t say no to nixie tubes if you are an electrical geek or you are a fan of Steins Gate, and you will want to build a clock using nixie tubes.

--by Captdam @ Feb 14, 2018