The Synthesis ToolKit (SKT) Library for the Arduino ESP32

I started to make the Synthesis ToolKit (SKT) available as Arduino Library and wanted to share my Vision and the current status of the extended Arduino specific Classes. The information below is based on the original STK tutorial but was adapted to cover my extensions for the Arduino environment. Introduction Audio and control signals throughout STK use a floating-point data type, StkFloat, the exact precision of which can be controlled via a typedef statement in Read more…

Sending Sound from an ESP32 to a Bluetooth Sink (e.g. Bluetooth Speaker)

A couple of months ago, I described how you can use my Arduino A2DP library to receive music with an ESP32 via Bluetooth e.g. from a mobile phone. I have extended the library and implemented the BluetoothA2DPSource class that you can use to to the opposite and send sound data from an ESP32 to a Bluetooth Receiver: #include “BluetoothA2DPSource.h” #include <math.h> BluetoothA2DPSource a2dp_source; void setup() { a2dp_source.start(“MyMusic”, get_sound_data); } void loop() { } That’s pretty Read more…

A Simple Arduino Mavlink Drone Library for QGroundControl

I was looking for an easy to implement solution to control my RC Airplane (that is using a ESP32 micro controller) with the help of a Mobile Application. I decided to use QGroundControl which is based on Mavlink. My project provides the following features: It is available as Arduino Library (which should work on any architecture) you can easily overwrite any method if you desire a different behavoir A simple extendable parameter store is provided, Read more…

My Spektrum Satellite Library has been released

I proudly announce that my Spektrum Satellite Arduino Library has been released with the version 1.0.0 on Github: It features: A Complete Implementation of Official Specification Support for binding using different BindModes Support for receiving and sending of data Input and output are handled via Streams. So you can use it with Serial, Bluetooth, UDP etc…. Support of automatic scaling of channel values (using different data types) Automatic handling of 1024 and 2048 servo data Read more…

Binding a Spektrum Satellite Receiver with a ESP32 using the Arduino IDE

After my bad experiance with this topc I decided to give it another try. I assumed that my issue from last time was that the receiver did not get enough power (after all it was a bad idea to power the satellite from a GPIO pin directly) so I decided to fix this: I just had a DRV8833 motor controller at hand, so I used this to manage the power line for the Satellite Receiver. Read more…

How to Blink in Arduino – Alternative Designs

if you google for “Arduino LED blinking sketch” you might find something like this: #define ONBOARD_LED 2 void setup() { pinMode(ONBOARD_LED,OUTPUT); } void loop() { delay(1000); digitalWrite(ONBOARD_LED,HIGH); delay(100); digitalWrite(ONBOARD_LED,LOW); } (I’am using an ESP32 and therefore I needed to define the ONBOARD_LED because this is not predefined in Arduino.h) This is basically working but it adds a delay of 1.1 seconds to the loop which might be pretty disastrous if you you have some other Read more…

Installing large PIP packages on a tiny Armbian System

The Banana PI Zero has only 500 MB Ram. Armbian keeps the /tmp directory in a Ram Disk which has only 197884 bytes available: So I ended up with the following errors when I tried to install pyspark, numpy or other bigger libraries: Memory Error [Errno 28] No space left on device socket.timeout: The read operation timed out It seems to be more reliable to install the library with apt if it is available: apt Read more…

My Banana PI Zero

I liked the Spec of the Banana PI Zero: With it’s quad-core Cortex-A7 it should have more power then the Raspberry PI Zero – it should just have more memory! It is quite easy to set up a Raspberry PI in a way that it starts and automatically connects to the network. So there is no need for any screen or keyboard. I tried to install some of the supported Operating Systems on the Banana Read more…

A small DIY RC Transmitter

I was building a small Remote Control for my RC toys with the help of a ESP32. This Microcontroller is the perfect choice because – it supports enough analog input pins (we need at least 4) – We can use Bluetooth or UDP as Communication Protocol out of the box – It can be programmed with the Arduino IDE – so this is pretty simple to use. I used the following components Joystick I am Read more…

Using the Spektrum Satellite Protocol in Arduino

Spectrum Satellite API for Arduino I was working on a small project to implement the Spectrum Satellite Receiver Protocol on an Arduino. The project should work with any type of board (e.g. Arduinos, ESP32, ESP8266 etc) Complete Implementation of the Spektrum Satellite Specification Support for sending data e.g. to build a Remote Control Transmitter Support for receiving data e.g. to build a Remote Control Receiver Support of different data types and automatic scaling of channel Read more…