Skip to main content Skip to local navigation
Home » Category: 'embedded'

embedded

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

TinyUSB on Arduino and RP2350: Step 2 -- Simple or Complex?

In Part 1 I looked into how one could create a simple USB program to run on the RP2350. But that's just the tip of the iceberg. There is so much more that can be done via the USB port on a microcontroller like the RP2350! As described in this 2021 post on a TinyUSB […]

TinyUSB on the ESP32-C6 -- I mean ESP32-S3: First Steps

I am interested in developing MIDI 1.0 and MIDI 2.0 applications on embedded devices. As part of Designing Sound Futures, I worked with Mohaimen Hassan on Shetu, the very first MIDI 2.0 device produced in an academic setting. Unlike other attempts, it was written completely in C, with no other libraries or programming languages. The […]

Exploring RISC-V Options: the RP2350 (Part 8 -- Returning a Single Array Value)

Here, we'll return the value from an array defined in the assembler file to the calling C function. When writing programs like this it's handy to refer to a "cheat sheet" like this one. If everything works as it should your serial monitor should have the following output: There are two files here: returnArrayValue.S and […]

Exploring RISC-V Options: the RP2350 (Part 7 -- C+ASM returning values)

Here I want to post an example of an assembler function that simple sends a value back to the C function that called it. The concept and approach are pretty general, but it is specifically aimed, via the assembler code for running on the RP2350 RISC-V system. Small changes would be needed for a PIC18, […]

Exploring RISC-V Options: the RP2350 (Part 2 -- Inline ASM)

Now, let's blink an LED using the Arduino IDE and the Xiao RP2350. I'm going to use a really handy YouTube video by Xeno Kovah: Arch1005: RISC-V Assembly 13 Writing Assembly 02 GCC Inline Assembly. This opens up the possibility of using "extended" assembler to allow for the passing of values between your C and […]

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

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

Testing the LEDs and Button 1 on the ChipKit I/O with KL25

As part of a research project I'm resurrecting some KL25Z boards and ChipKit basic I/O shield boards and seeing if they can be used together. The ChipKit has some pushbuttons and LEDs. The following code, with the help of single-stepping and the debugger can get the LED bank and BTN1 on the ChipKit I/O board […]