Pixiv
Balancing a Furuta Pendulum: From Plant Modelling to Cascade Control
What I learned from modelling and controlling a rotary inverted pendulum using transfer functions, root-locus PID design, nonlinear Simulink simulation, and a cascaded PID-PD controller.
Random Cover
Building a Real-Time Embedded DAQ System: Lessons from Firmware, Sensors, and Integration
What I learned while building an eight-channel embedded data acquisition system: component selection, sensor integration, firmware scheduling, UART protocols, and hardware-software integration.
Random Cover
Designing a Multiplierless ADFT on FPGA: Pipelining, Fixed-Point Arithmetic, and Spectrum Sensing
What I learned while implementing an 8-point multiplierless Approximate DFT on FPGA, from MATLAB and HDL Coder verification to pipelining, fixed-point refinement, FPGA-in-the-loop testing, and standalone Nexys 4 deployment.
Random Cover
Building a Wireless FreeRTOS Controller for a Remote Microscope
Lessons from designing a wireless Remote Controlled Microscope controller with STM32, FreeRTOS, nRF24L01+, finite-state machines, queues, semaphores, Hamming-coded packets, and local diagnostic outputs.
Random Cover
Building Sokoban on an AVR: From Game Logic to Real-Time Peripheral Integration
Lessons from implementing Sokoban on an ATmega324A with a 16x8 LED matrix, push buttons, UART terminal control, joystick input, a seven-segment display, and piezo-buzzer feedback.
Random Cover
Building a Multithreaded Chess Server in C: TCP, Threads, Pipes, and Stockfish
Lessons from designing a networked chess service in C with asynchronous clients, one server thread per connection, shared game state, human matchmaking, and a single Stockfish process connected through pipes.
Random Cover
Building a Real-Time Rhythm Game on STM32: Timing, DMA, LEDs, and GUI Integration
Engineering lessons from building tpmania, a real-time STM32 rhythm game with a 16x4 LED matrix, arcade buttons, microSD assets, audio playback, and a cross-platform configuration GUI.
Random Cover
My Blog