Not everyone has access to a modern computer. But everyone should have access to music. Sometimes you just want to listen to some music on your STM32 microcontroller equipped with a piezo buzzer. We are passionate about challanges which force us to find an alternative ways, paths full of trial and error. Looking for making the most out of embedded hardware.
Audio player board with TTS integration with an efficient hardware implementation and intuitive software user interface, consisting of an polished app written in React. Hardware user interface is utilizing 7 segment display with animations and leds for additional feedback for the user.
We opted to use popular Arduino framework as a base for our implementation of all the challange tasks. Based on processor speed and memory restrictions focused, to get the best possible quality sound reproduction. For that we created a pipeline of steps with backend python api pushing the audio data over serial line to the devBoard.
We ran into multiple challanges First of the challange was utilizing simple piezo element with it's native limited frequency range that required and creative thinking to implement audio playback and TTS with the most quality. Second challenge was implementing an effective way of delivering preprocessed audio data as a stream of blocks and buffering to fit into hw limitations of speed and size of memory.
We managed our time schedule and lack of sleep to implement all of the challange tasks.
We learned a lot about physics behing audio and how the sound waves can be created and modified. We also learned how to effectively find a way to deliver data using limited channels such as serial interface.
We are prepared to improve ourselves.
c,platformio,python,react
Thanks go to these wonderful people : Eduard Hopfer, Kristián Petráš, Peter Grocký, Simon Soroka