Skip to main content Skip to local navigation
Home » Page 3

Blog posts

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

Basic Graphics and Graphs with Princeton's Java StdLib

I really like the Princeton StdLib for Java to make basic graphs with Java. The learning curve isn't steep and installation is easy. To get started either grab the Maven support files or the JAR and install in IntelliJ or your favourite IDE. Here's an example to draw some basic shapes on the screen. Now, […]

Writing to the OLED with Firmata and Firmata4j

While demonstrating the OLED display in class this week, I messed up the lesson -- twice -- because I forgot a really important detail: timing. When putting information on the OLED display it's important to take into consideration timing. But that timing is not always important to consider. Where I messed up was in demonstrating […]