Arduino: Streaming MP3 Files to a Bluetooth Speaker

In the last Blogs I presented – A File Based Versatile MP3 Player – A Streaming MP3 Player – A Streaming AAC Player with Volume Control All these examples were using my Arduino Audio Tools Library. In this final Blog about this topic, I will demonstrate how easy it is to adapt the Sketch from the first Blog and send the output to a Bluetooth Speaker. Here is the Arduino Sketch which will work with Read more…

How to identify broken examples in an Arduino Library…

Lately I noticed that some examples in my Arduino Audio Tools library are not compiling any more. This is not a surprise, since the library is still evolving. So I was looking for a way how to identify the broken examples automatically. Fortunately Arduino provides a Command Line Interface and I just needed to write a simple bash script to compile all relevant examples: #!/bin/bash ## # We compile all examples using arduino-cli in order Read more…

A Versatile but Simple Arduino Streaming AAC Player with Volume Control

In the last Blogs I presented a File Based Versatile MP3 Player and later a A Versatile but Simple Arduino Streaming MP3 Player using my Arduino Audio Tools Library. In this Blog, I will demonstrate how easy it is to convert it into a AAC player. I also show how to control the volume. So far I was usually using an ESP32 to test the sketch. This time I switch to the cheaper ESP8266! The Read more…

A Versatile but Simple Arduino Streaming MP3 Player

In the last blogs I presented a Versatile MP3 Player and then a Basic Streaming MP3 Player using my Arduino Audio Tools Library. If you expect a Versatile Streaming MP3 Player, you will not be disappointed. All the functionality related to the AudioPlayer class which was described in the Versatile MP3 Player Blog is still valid. In our sketch, we just need to replace the AudioSourceSdFat with an AudioSourceURL. In order to support navigation we Read more…

A Basic Arduino Streaming MP3 Player

Yesterday I was finally resolving some stability issues in my URLStream class and I wanted to take the opportunity to highlight that it is pretty simple to build a simple mp3 streaming audio player using the Stream API of my Arduino Audio Tools library. You just need to copy the result from an URLStream to your output stream: The Arduino Sketch In this example Arduino sketch I am streaming BBC World Service to the analog Read more…

A Versatile Arduino MP3 File Player…

It is pretty simple to build a simple mp3 audio player using the Stream API of my Arduino Audio Tools library: A SD file is a subclass of an Arduino Stream, so all you need to do is to copy from the file to the desired output stream. when we use the EncodedAudioStream as output, we can support different audio formats we can add a status flag to halt and continue the processing Finally we Read more…

Using the ‘Arduino Audio Tools’ Library with PlatformIO

Today I was testing my Arduino Audio Tools project with PlatformIO on an ESP32 because I was really looking forward to be able to use a proper Debugger. Unfortunately I was stumbling over the fact that, while Arduino is using now the latest IDF version, the PlatformIO ESP32 Arduino implementation was still using an old version. Therefore I needed to add some additional preprocessor #if statements to handle the differences. Anyhow, I committed the corrections Read more…

Driving Speakers with a HW-627 Motor Controller?

Quite some time ago I was blogging about the hw-627 motor controller. So I was wondering if I could also use this module as well to play music and drive a small speaker. This would be cool because we could get stereo output since the module supports two output devices. Here is a simple Arduino sketch which using my Audio Tools Library with an ESP32 Microcontroller: The Arduino Sketch #include “AudioTools.h” #include “AudioCodecs/CodecMP3Helix.h” #include “BabyElephantWalk60_mp3.h” Read more…

Reading MP3 Metadata with my Audio Tools Library

I have extended my arduino-audio-tools project to provide access to MP3 Meta Data. ID3 is the metadata container which is most often used in conjunction with the MP3 audio file format. It allows information such as the title, artist, album, track number, and other information about the file to be stored in the file itself. Both versions of ID3 (ID3v1 and ID3v2) are supported. I currently however only provide the information that is available in Read more…

Setting up WordPress on a Raspberry Pi with Docker Compose

Installation I haven’t set up a new WordPress instance for quite some time. But lately I wanted to run WordPress on a Rasperry Pi. I used a docker compose file to run all services is one shot with WordPress Mariadb and phpmyadmin. Unfortunately the official mariadb image does not support ARM which is needed by the Raspberry Pi, so Im using jsurf/rpi-mariadb instead. Here is the docker-compose.yml file: version: ‘3.6’ services: wordpress: image: wordpress:5.7.2 ports: Read more…