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.
AVR, GCC, Stack, Function frame, SP, Stack pointer, FP, Frame pointer
--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.
AVR, ATtiny, Embedded system, ATtiny25, ATtiny24, ATtiny441, ATtiny261, ATtiny2313, ATtiny48
--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.
68hc11, 6800, microprocessor, ASCII, string, memory structure, printf, C, Assembly
--by Captdam @ Sep 2, 2024
AVR Naked Interrupt Service Routine
Using naked interrupt service routine (ISR) in AVR development
AVR, ISR, interrupt service routine, ISR_NAKED, Assembly, avr-asm
--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.
PCB, CNC, KiCad, FlatCAM, Embedded system, PCB prototyping, Gerber
--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.
Level shifter, Embedded system, voltage, NMOS, diode, 2N7002, LL4148, circuit design, PCB layout
--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.
MODBUS, MODBUS RTU, PLC, serial, industry control, CRC
--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.
MSC-51, 89C52, Micro controller, MCU, Nixie tube, Clock
--by Captdam @ Feb 14, 2018