Project Natacha

From
Jump to: navigation, search

Standalone Music Player based on an Banana Pi M2 Berry and a STM32F469Discoveryboard.

Hardware

Most of the used hardware were planed since a long time for this kind of a project or it was just laying around.

BananaPi M2 Berry

The BananaPi (BPI) M2 Berry is a replacement board for the Raspberry Pi 3. Compared to the Raspberry Pi, the BPI has an onboard connector for SATA. So, a SSD could be directly connected to the BPI, which makes it perfect for small servers. This BPI was originally ordered to realize a small cloud server, but due the performance was never as expected, it was never finished or used for something other. with the SATA interface and the onboard sound, it would be perfect for this project, and the BPI gets a next chance. A Kensigton SSD was also laying around and with 250 GB it matches perfectly for this project. The BPI would take responsible for playing the music stored on the SSD. It also prepares the track information for the display and brings the cover image to the needed size and format.

USB Audio Device

The sound of the onboard audio codec of the BPI was not as expected. Either, there was something wrong in the configuration or it has a defect. The low frequencies were not present at all. After a short search in the box for defect electronics, an old headset from Microsoft was found. It was used a long time under Linux until the microphone was broken. Short test, sounds as good as possible with the cheap headphone. The headset has a small box in the middle of the cable for converting from USB to the headphone and some buttons for volume control. The box could be easily opened and the cable to the headphone was replaced by the cable to the headphone connector in the front.

STM32F469Discovery

The STM32F469Discovery board has already a lot of periphery onboard. Besides the TFT display with touch sensor, an audio codec including microphone, some buttons and LEDs, as well a lot of connections for further electronics is available. The board would act as the user interface. Therefore, the display is the most imported thing. The size of the display and the whole board fits perfectly in a 2HE or 88 mm height housing. The STM32 would act as the user interface and controls the BPI.

Power Supply

First, a standard charging adapter with an USB-Micro cable was used. After some seconds of booting, the BPI restarts without any error messages. A different charger did also not help, too less current could not be the problem. Maybe wrong image on the SD-card. An old image was found, which already was running on this board. But the BPI still restarts even with this image. The last idea was to change the USB cable. And, tadaa! It boots up without any problems. Also with the current image. To get rid of this weak USB cables, an old power supply from a router is reused. The DC-barrel connector is removed and the cable is soldered to the expansion port of the BPI. Since then, the BPI works without any problems. And if there were troubles, they were not related to the power supply.

Housing

The housing was originally planned for the audio mono block power amplifier 20 years ago. Later, a pre-amplifier in the same look should be build. Unfortunately, the housing was no longer manufactured and there is only a pair of these housings, they can no longer be used.

One of these housings is now used for this project. The housing was originally out of a series of 19 inch rack housings. They were available in different heights and also in half width. This housing is one of the half width and 2HE or 88mm height. With a depth of 22cm, it has a perfect form factor for this kind of projects.

Software

Linux for the BPI

The latest image for the BPI is an Ubuntu 16. So, the first days was used to bring the image to a current version. After a lot of "do-release-update" and problems with some packages, the image was on the latest version. Next step: backup the image!

Media Player

As media player, the mpv is used. It is a fork of the mplayer and has some extensions against the mplayer.