Skip to main content Skip to local navigation

Blog posts

Zwei Blinkenlights

I'm doing some rapid "blinkenlights" prototypes for timer code today on the K32L2 board. The goal is to have two separate timers driving two LEDs using interrupt service routines. None of this code is optimized or ideal... I'm leveraging the NXP SDK and the examples that go with it for one Systick-driven LED and another […]

K32 Blinkenlights continued

Here we'll look at using the SysTick Timer to make the LEDs blink. The SysTick is a really basic timer found in ARM Cortex M0+ processors from all manufacturers. The SysTick will run an interrupt service routine that updates a global variable. That variable is used in the main loop to toggle the LEDs on […]

Blinkenlights on the K32L2

The K32 is another Cortex M0+ processor, similar to the ones that I've used in the past, like the KL25 and the K43. I'm using the K32 because it is supported, out of the box by the TinyUSB framework, which I want to leverage for MIDI music control. Typically, though, before we get started with […]

JHSC: Testing Emergency Phones

Here at YorkU we rely on emergency phones when accidents or other bad things happen. They are a key part of our safety infrastructure. And, because of this, they need to be checked to see if they are actually functioning. Unfortunately, we've discovered that for some time now many of these safety phones are broken. […]

Is your Office or Classroom too hot?

As the debate on maximum indoor temperature standard gets underway at Toronto City Hall today, now is a good time to point out to YorkU employees and students that we once had a standard for maximum acceptable temperature but the HSEWB Department got rid of it this year. The bottom line is this: we shouldn't […]

ESP32-C6: A RISC-V Microcontroller with JTAG on the USB

I'm more and more impressed by the selection of RISC-V processors out there. The ESP32 families of microcontrollers are found in some pretty impressive systems like M5Stack. The availability of WiFi and Bluetooth radios make them ideal development platforms for IoT. But here is a really cool thing. The ESP32-C6 RISC-V microcontroller has a single […]

GitHub and MCUXpresso

GitHub is a good way to collaborate on shared software projects if you're looking for an off-site, third-party system for storing and sharing the code. The repositories on the GitHub site can be either private or public, but they are available to the company that owns GitHub, Microsoft. I use MCUXpresso on macOS to develop […]

Programming 8-bit PICs: which C standard?

Microcontrollers are usually programmed in C, a traditional programming language that dates back to the 1970s. Here I'll talk about a specific type of microcontroller family, the PIC16 (or PIC18) and the compiler options for it. XC8 supports C89, C90 and C99 (for PIC16/18) When programming an 8-bit PIC like a PIC16 or PIC18, it's […]

Silica and Signage

This will be a short post on silica, a "designated substance" here in Ontario. It is found in building materials like concrete blocks. Another "designated substance" is asbestos. According to the Ontario Government, the "generation of airborne silica-containing dust should be controlled with a mechanical ventilation system, wetting, or the use of a dust collection […]

EECS 1011 and 1021 Lab Kit (2025/26 version)

[as of May 21, 2025, this is a public draft] This kit is updated from 2024/25 edition of the kit with three new sensors, one extra actuator, an extra cable and "crib sheets" for Matlab and Java. The lab kit for the two courses include the following list of items We'll be asking the Bookstore […]