Skip to main content Skip to local navigation
Home » Posts tagged 'PIC16'

PIC16

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

MPLAB X on Apple Silicon

A lot of people have been asking whether Microchip's MPLAB X runs on Apple Silicon machines. The answer is: Yes. I have just tested it out on my Apple M3 Pro MacBook Pro. It works fine so far. I have installed MPLAB X v6.20 and the XC8 compiler. I've hooked up a PIC16 board and […]

Debuggers, MPLAB X and the Arduino

This page is about programming ATMEGA328 chips, like the one found on the Arduino UNO, using modern (post 2015) tools like MPLAB X and the Snap or PICKit4 debuggers. As of July 2021 there is a little hiccup in how to do this. Hopefully in the future Microchip will fix the issue and render this […]

Sabbatical Report: Teaching a compressed class in Germany

While I was on sabbatical from York University I had the opportunity to teach twice at the University of Applied Sciences in Karlsruhe, Germany (Hochschule Karlsruhe, a.k.a HsKa).  I had been invited to do so by Professor Klemens Gintner, a colleague and friend who I had hosted during his sabbatical in Toronto in 2015. It […]

Sabbatical Report: Updating Microcontrollers

As part of my sabbatical activities I took on the "Temps Pratiques" microcontroller laboratory sessions for electrical engineering and mechatronics students at INSA Strasbourg.  In pre-sabbatical discussions with faculty and staff at INSA Strasbourg I found out that the students were learning using what I considered to be outdated technologies.  The PIC16F84A microcontroller chip used […]

Sabbatical Report: Writing a Textbook & Getting a Book Deal

While on sabbatical I started getting serious about writing a book.  In spite of having wanted to write a book for years, writing one while on sabbatical wasn't my primary goal.  But as visa issues in France became more difficult and made more traditional research work harder the book writing became a bigger focus for […]

Microcontroller Labs (TP) at INSA Strasbourg

On this page you will find the documents for the "TP" (Practical Time) lab that I instructed at the INSA Strasbourg Engineering School in Strasbourg, France while I was on sabbatical from York University.  Links to videos and other material are included in the PDFs.  The lab uses the Microchip Curiosity board, with built-in debugger […]

My breakpoints are broken

I recently updated my MPLAB X installation to version 5.10.  The compiler hasn't changed, just the IDE.  Two surprises occurred.  First is that my SAMD board now crashes the IDE when I plug it in.  Only on Windows 10 on my HP tablet. Works fine on my Mac.  But I won't get into that today. […]

The LED on my PIC16 board won't light up!

I'm getting set to teach a lab course at INSA Strasbourg in France, using PIC16 microcontrollers.  My colleagues and I have made the decision to update the course from using the classic PIC16F84 to the more capable PIC16F1619.  The '1619 is a bit more complex (a downside) but has debugging capability, like breakpoints (a big […]

Interrupts, Bit Clearing and Setting in XC8

While testing out the PIC16F88 replacement for the PIC16F84 on the INSA microcontroller teaching board I ran into issues with two things not working as per the standard sources of examples (e.g. Microchip's Developer Wiki): Interrupt Service Routines Bit setting, clearing via structures These examples appear to have been written for versions of XC8 prior […]