Category Archives: Coding

Embedded Continous Integration Made Easier

I often get asked how we test our production firmware. This is a conceptual overview of how this can be done for almost any complex embedded system without embarking on a very expensive hardware-in-the-loop setup. Some of this work is grounded in lessons learned in previous research that I did during my tenure at the […]

Posted in Coding, DevOps, Embedded, Linux, Windows | Leave a comment

IoT Contest Conclusion

Part 1 Part 2 I am delighted to present my final submission for the IoT contest. Throughout this journey, I have worked diligently to develop a reaction trainer prototype rivalling existing commercial solutions such as Blaze Pods. By leveraging the capabilities of the CH32V208W microcontroller, I have designed a custom PCB that incorporates a calibrated […]

Posted in Coding, Contest, Embedded, Linux, Martial Arts, RISCV, RT-Thread, WCH | Leave a comment

Retooling for 2023

A new year has begun. After an extended hiatus in Japan to visit friends and family (pictured here), I am back in the saddle and plan to respin this blog a bit. In hindsight, there was a good mix of martial arts and general embedded topics instead of the original retrocomputing focus. The new-years resolution […]

Posted in Artificial Intelligence, Coding, Embedded, Life Perspectives, Martial Arts | Leave a comment

A Tiny Companion

I finally received the laptop that I ordered a while back on Aliexpress. Given that I have a bunch of Christmas travel lined up and may spend hours being crammed in excessively priced airplane economy seats, I was seriously thinking of ways to reduce my electronic baggage. Typically I would have a phone, a big […]

Posted in Coding, Linux | Leave a comment

A Practical Introduction to libUSB and Raster Printers

This article provides a basic introduction to libUSB by using a Brother tape printer. All sources and the finished library are on Github. I remember that as a kid, my first serious workstation was an Eskom 80386-DX40​1​ computer as part of the package my parents also got a Fujitsu DL​2​ dot-matrix printer with endless paper […]

Posted in Coding, Linux, USB | 1 Comment

Offline Linux: Back to the 90s Thanks to Rogers

All sources, tools, and code are available here. Friday two weeks ago was almost a forced corporate holiday. A massive outage of Rogers caused mayhem in Canada. Everything from selective 911 outages, and payment settlement systems, to a complete loss of cellular service in all Rogers-serviced cells to Internet outages. Years of festering complacency of […]

Posted in Coding, DevOps, Linux | Leave a comment

Fixing A Nice Toy Car

Full printed-circuit files and firmware sources can be found here. This is a write-up of a rebuild of a toy electric car that my son inherited broken about 2 years ago. I had this sitting in a private repository for a while and when I had some guests come over they suggested posting it, to […]

Posted in Coding, Embedded, Parenting | Leave a comment

MCS-51 / 8051 – Hello STC89C52 part 2

Example how to customize emu8051 for automated firmware testing.

Posted in 8051, Coding, Embedded | Leave a comment

MCS-51 / 8051 – Hello STC89C52

Sources are available here. After going over the background of the 8051 architecture in part 1 of this series, let us have a look at a simple “Hello World” example for this microcontroller. For this post, you either need an STC89C52 demo board, or you can breadboard a minimal STC89C52-circuit as follows. For the bootstrap […]

Posted in 8051, Coding, Embedded | 4 Comments

MCS-51 / 8051 Revived – Introduction

This is the first post in a series of posts to shed some light on the 8051 architecture using practical examples. The 8051 was first developed by Intel in 1980. It was initially used as a keyboard controller for the IBM PC series. The simplicity and low-interrupt latency made it an attractive part that was […]

Posted in 8051, Coding, Embedded | Leave a comment