Bringing Order into my Microcontroller Chaos

I had too many micro controllers and sensors and I wanted to have simple box where I can put them and easily find my modules again. This is the perfect use case for 3D printing: Of cause the modules and micro controllers come in different sizes so the design needed to reflect this. It is written in OpenSCAD, so you can adjust it yourself, if you want to optimize the dimensions for your specific case… Read more…

Octoprint with Docker

Im using Octoprint for my Ender3 on a old Linux 32 bit machine. Unfortunately I was running into problems after a release upgrade of Ubuntu and so I finally decided that it is time to use Octoprint as a Docker image, so that I have the possibility to restore my services easily in the future. For some strange reasons the official Octoprint on Docker Hub is only supporting 16 bit on ARM but not 16 Read more…

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…