TinyUSB a simple Tutorial

Introduction Most Microcontrollers have a built in Serial USB functionality that can not be changed (e.g. ESP32, ESP8266, Arduino Nano etc). Some Microcontrollers however allow to (re-)progam the USB functionality (e.g. Raspberry Pico, ESP32-S2, seeeduino xiao etc) and TinyUSB is the project of choice for this. A Microcontroller can either act as USB host or as device. In this blog I will concentrate on the USB device functionality, because this is where the library shines. Read more

The Arduino Pico as USB-Midi Device

I am quite enthusiastic about the new Raspberry Pico. However I find the C SDK not very friendly and I prefer to have something as simple as the Arduino API. I did not want to wait for the official Arduino support – so I started my own project. The last couple of days I tried to wrap my head around the TinyUSB Midi support in order to provide some simple C++ class to use the Read more

Using Arduino Libraries on the Pico

I am quite enthusiastic about the new Raspberry Pico. However I find the C SDK not very friendly and I prefer to have something as simple as the Arduino API. I did not want to wait for the official Arduino support – so I started my own project. So the question is, can we use any Standard Arduino Libraries with this and the answer is yes we can! We just need to use a little Read more

Implementing Arduino tone() for the Rasperry Pico

I am quite enthusiastic about the new Raspberry Pico. However I find the C SDK not very friendly and I prefer to have something as simple as the Arduino API. I did not want to wait for the official Arduino support – so I started my own project. In order to implement the Arduino tone() I first provided an version which was based on the PWM functionality. After some more thoughts I decided that it Read more

A simple Arduino Framework for the new Raspberry Pico

On Friday I was receiving my Raspberry PI Pico and I had the opportunity to play around with it. Actually most of the time I spent reading the Manuals… The conclusion: interesting – but a little bit too complicated to use – So I was quite happy to read that Arduino plans to add an official support for this Microcontroller. I am also missing a built in DAC and I2S support though. From my point Read more

Back to Basics – A simple ESP32 sound generator (tone)

The first thing I wanted to try out after I have received my Piezo Buzzer was to generate some simple beeps. In Standard Arduino there exists the tone() function which – unfortunately – is not available in the ESP32 Arduino implementation. There are libraries to bridge this gap, but I was wondering how this could be implemented using the functionality which is available. I came up with the following alternatives: Use I2S together with the Read more

Back to Basics – A ESP32 Radio Player using Piezo Electric Elements

In one of my last year’s posts I was describing how to build an Internet Radio using an ESP32. I was using this together with an external DAC to feed an Amplifier. Lately I got some really cheap Piezo Electric Elements and I was wondering if I could use the solution w/o any additional Audio Electronics Hardware by just using the built in DAC of the ESP32 and connecting the 2 output pins to the Read more

An Arduino C++ Emulator (for Jupyter)

I really wanted to have an interactive Jupyter environemnt in which I could play around with Arduino commands and when I discovered that Arduino provides a good starting point with their ArduinoCore-API I started to draft this prototype. I am using xeus-cling as a runtime environment to simulate an Arduino Development board and I have added the related implementation using C or the C++ std library. The goal is finally to be able to provide Read more