STM32F411 Discovery Kit and Arduino: Investigating the I2S Library Quality Issue

In my last post I have complained that my sine wave test sketch was producing just noise. So I am trying now to investigate where the issue is coming from. Using Basic APIs So first, I try an Arduino Sketch which is just using the low level API of my libraries: This configures the codec using the driver API, sets up I2S using the STM32 I2S library and just uses the sine generator from the Read more…

STM32F411 Discovery Kit and Arduino: The I2S Library

In my last post, I was describing that I started to work on adding I2S audio support to the STM32F411 Discovery Board. I finally have my Arduino I2S library that supports the STM32F411 Blackpill and Disovery Board ready. I was completely redesigning the old, mostly generated C library into some C++ classes and I have now a better way to support additional boards. Unfortunately I still don’t have any clean sound on my Discovery Board: Read more…

STM32F411 Discovery Kit and Arduino: Setting up the Audio Chip

Quite some time ago, I started to look into the STM32F411 Discovery Kit with Arduino. Unfortunatly the audio codec i2c address was not showing up in the port scan. I found out that the chip needs to be activated with setPinMode(PD4, OUTPUT); digitalWrite(PD4, HIGH); One of the reasons why I started my arduino-audio-driver project, was that I wanted to have a clean API for the LQFP100 audio chip that is provided by this board. So Read more…

A new flexible Driver Library for the AudioKit and other Audio Boards

So far I used my arduino-audiokit library together with my AudioTools when I wanted to work with my AudioKit board. This library was a just quick and dirty adaptation of the drivers that were made available by the Espressif ADF framework to Arduino. But it had the following major drawbacks it is complex and difficult to maintain with many layers and quite a lot of source code files in C it is inflexible and you Read more…

Arduino Audio Tools: Audio over Serial

So far I have always preferred to send audio using the networking functionality of the micro-controllers. This is usually fast and reliable. Many examples can be found in my communications examples folder using different protocols. Using Wires But we can also send audio signals over a physical wire. I prefer to use the Serial protocol because this is well supported across all environments. Just to proof the case I had a simple demo which was Read more…

Arduino Audio Tools – A Snapcast Client for Arduino

Snapcast is a multiroom client-server audio player, where all clients are time synchronized with the server to play perfectly synced audio. It’s not a standalone player, but an extension that turns your existing audio player into a Sonos-like multiroom solution. This week I have spent some time to work a new client for Arduino that should integrate with my AudioTools and I have a first DRAFT version that started to work. Arduino Sketch Here is Read more…

Arduino Audio Tools – Playing Audio with Http Post

Recently a user was trying to use http to post some audio to be played on a microcontroller with the help of my Audio Tools. This project contains some simple http server implementation, but only for playing audio that is generated by a microcontroller on a webbrowser. However, quite some time ago, I also implemented some extended server functionality in my TinyHttp project and I am using that one now to demonstrate how this can Read more…

Arduino Audio Tools – Sending Audio to your Mobile Phone using VBAN

For quite some time I was looking for an easy way to send some audio to some mobile devices w/o having to write my own mobile application. That’s when I found VBAN. They have some free app (and some payed ones that are reasonably priced) and publish their protocol. So I added the support for VBAN to my AudioTools library and tested the functionality with an ESP32. Here is the basic test sketch: Arduino Sketch Read more…

Arduino Audio Tools: UNO R4 & VS1053 MP3 Shield

Today I was receiving my ordered VS1053 MP3 Shield and I was curious about it’s integration with my Arduino Audio Tools Library using the Arduino UNO R4. MP3 Streaming The first thing I tried was the MP3 Streaming sketch. It was working – a kind of. Unfortunately the WIFI is providing the data not fast enough, so it is breaking up badly. What a disappointment: the same sketch is running perfectly on different ESP32 variants Read more…