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

arduino

TinyUSB on Arduino and RP2350: Step 3 -- Pico SDK MIDIUSB.cpp examples

There are plenty of ways to develop MIDI 1.0 applications on microcontrollers, such as the well-respected non-TinyUSB MIDI 1.0 library by Fourty Seven Effects library. That's great for general Arduino projects. However, here we're going to to continue in the direction we started in Part 1 and Part 2 of this blog series -- so […]

MIDI 1.0 Example using RP2350 + Arduino

So, I've got a Seeed Studio Xiao RP2350. It's a minimalist RP2350 microcontroller board. Can it use its USB-C port to output MIDI 1.0 notes over USB? Yes. Here's how... I... The code that I used is: It compiles and loads on to the RP2350. I verified it using MTSL: Simple and easy. James Andrew […]

Lab Kit for EECS 1011 & 1021 (2026/27)

This is the parts list for the EECS 1011 & 1021 lab kits. It supercedes the 2025/26 version. For students or clubs using the older kit you can use this list to update your kit. Description SEEED SKU New in 2026 SEEED link alternative source Grove Beginner Kit for Arduino (1 unit) 110061162 no https://www.seeedstudio.com/Grove-Beginner-Kit-for-Arduino-p-4549.html […]

Micro-Servo Testing with an Arduino-Compatible board

I'm updating the lab kit for the intro to programming courses, EECS 1011 and EECS 1021. The goal is to find a variety of 5v-compatible, low-current micro servo motors that can be used in student lab kits. These micro servos are sold by multiple vendors, both online and in brick-and-mortar shops, like traditional hobby stores […]

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

Java and Arduino: Serial Communication

Before we started using Firmata and Firmata4j in the EECS 1021 class, Richard Robinson and I put together lab activities that used the Fazecast jSerialComm library paired with customized Arduino serial code. The approach is summarized in three videos: Video 1: The Plan for Sending Data to an Arduino We need to send information, in […]

State Machines for Electro-mechanical Projects in MATLAB

A challenge that new engineering students have when developing programs is trying to determine how to plan out their program. Should the student include a loop? Two loops? One after the other? One inside another? When adding sensors and actuators -- as we do in our course -- when should the sensor be read and […]

Ad-hoc unit testing on simAVR and VPL

In the previous post I showed you how to use VPL and simAVR together to write a basic activity that would test to see if a student could change or assign the value of a register in the simulated microcontroller using the C programming language. While it was the most straight-forward way that I could […]

Simulated Microcontrollers in VPL Exercises

In Computer Architecture classes or Embedded Systems classes, it can be really useful to allow for students to be graded on assignments that allow them to interactively explore the inner workings of a microprocessor. One way is to have the students create programs in a hardware description language like Verilog or VHDL. Another way is […]

Serial Communications & Java

In my EECS 1021 class, in which we connect Java programs on a Mac or Windows machine with programs running on an Arduino-compatible board, we generally use Firmata. When combined with a library like Firmata4j (Java) or pyFirmata (Python), or Arduino-Octave (Matlab), Firmata provides an easy-to-use pathway for this to happen. It is, however, a […]