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

Blog posts

CLion & LibSerialPort

I’ve been itching to kick the tires on the CLion IDE to see how it works as a contemporary C and C++ development environment. I’ve been using Jetbrain’s IntelliJ IDE ever since my student,Richard Robinson, recommended it to me for Java development. I typically write C programs using embedded IDEs like MCUXpresso, Segger Embedded Studio […]

Getting Started with RISC-V: Simulators

Introduction When I teach microprocessors to students I find it important to have access to good tools like simulators and IDEs. Up until now that hasn’t been the case with RISC-V. Now that RISC-V tools are at a state that puts them on par with equivalent tools for AVR, ARM, x86, MIPS and PIC, I’m […]

Firmata4j and a Simple DHT20 example

After my earlier blog post from today, I wanted to verify that I could read single bytes of data from other sensors on the Grove Beginner Kit for Arduino. The next target? The DHT20 sensor. According to the data sheet, I should be able to be able to request a status byte and that that […]

Firmata Example : I2C Sensor + Java & Firmata4j

A lot of Arduino projects are meant to always be attached to a PC, transferring data back and forth between the Arduino and the PC. That’s why Firmata, a program that sits on the Arduino and allows a program on your PC to remotely read from sensors and buttons and transmit to things like speakers […]

VPL: testing arrays in Java with cloning

On a recent final exam I had students create a method that could interleave two halves of an array. The original exercise came from a Schaum’s Outline book. If you’re not careful, by passing values by reference you can have the student’s solution pollute the original input test value. To solve this in Java you […]

Main Project Example for EECS 1021

The following is an example of a main project for the EECS 1021 course. While I think that it’s important to provide concrete examples it’s also important not to provide examples that are trivial to copy and, thus, reduce the effectiveness of the example as a learning tool. As such, I’m providing this example using […]

Unit testing for a project in Java

It’s important to create test frameworks for your programs. In Java we use the jUnit system to do so. Here is an example of setting up a unit tester to make sure that that a method returns the values it’s supposed to. First, let’s look at the method. I’m using it to convert values that […]

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

Trying out the M5Stack

My colleague, Eric Prandovszky, has been discussing the M5Stack system with me for a while and acquired a few modules to us to try out. Today I tried out the M5Stack Core 2 AWS module. My objective is to see if we can program it using the legacy Arduino 1.x IDE on macOS with Apple […]

Driver for the Grove Beginner Kit for Arduino

For students attempting to get the USB drivers working for the Grove Beginner Kit for Arduino please follow these instructions: First: make sure that you’re not using the white USB cable.  Use a different one. Second: install the USB driver for the board. a) Go to Seeed Studio’s wiki: https://wiki.seeedstudio.com/Grove-Beginner-Kit-For-Arduino/ b) click on the USB driver […]