Skip to main content Skip to local navigation

Blog posts

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 […]

9-1-1 needs a street address and we can't provide it.

This isn't just about directing the pizza delivery to your late night study session. It's about being able to tell the 9-1-1 operator where the emergency is happening. A student died at the University of Victoria and one of the contributing factors appears to be the inability of the 9-1-1 operator to get paramedics to […]

Programming M5Stack: the Timer Camera F

This is a quick little post on M5Stack embedded hardware. I'm going to use the Arduino 2 IDE with the M5Stack Timer Camera F in this example. I just opened up the Arduino IDE and updated the boards and libraries. I had previously installed the M5Stack library on the Arduino IDE. I'm going to see […]

YorkU's Student ID System is Broken

It's the April 2025 exam system and it's clear to me that the Student ID system here at YorkU is completely broken. I've previously written about how silly it was to rely on cell phones as ID cards. And, in parallel to this, the administration at YorkU has also permitted the use of just about […]

Where are the health and safety documents?

York University hides a lot of health and safety documents behind the Passport York wall. The "YU-Link" set of pages was introduced about ten years ago and, in the process, many documents that were previously accessible are now locked away and hard to obtain. In other words, this means that many important documents cannot be […]

Measuring voltage on a Grove Board

The Arduino-compatible Grove board that we use in EECS 1021 and EECS 1011 at York University has multiple analogue sensors on it. Other analogue sensors, like the soil moisture sensor, can be attached to the board using either the Arduino headers (in yellow) or with the Grove connectors. Students in EECS 1011 and 1021 are […]