Beosystem integrating networkplayer project

24 replies
Now the really nice stuff, we want flashing lights :)
The Beomodern project by Henryk was talking about HDSP2112 screens. Nice 80's retro LED matrix screens. 8 characters per screen, the possibility to position more screens next to each other and controllable with gpio pins on the Raspberry Pi.
I found a really nice website with all info I needed to control the display(s) with Python. link
A little bit of experimenting gave me pretty soon a nice flashing disco. As you can see there a a LOT of wires. This was a bit of a headache. This would mean a huge flatcable to the frontpanel. Also, because of the 6 gpio pins from the Pi to the Arduino there were not enough GPIO ports left on the Pi to control 3 screens which I had in mind. It would be nice if I could control the screens with some sort of display controller which is small enough to be situated behind the frontpanel. My solution: A MCP23017 GPIO expander.
This fellow is a I2C bus driven GPIO expander. When connected you get 16 extra GPIO ports per IC.
I2C bus control is 2 wires (clock/data), and some wires for power supply of the IC and screens.
Also, you can control different expanders on the same bus by addressing them different.
I decided to give each of the matrix screens their own GPIO expander. This way I am able to control them independent, but also be able to cascade it to show longer text.
 

Location: Netherlands

My B&O Icons:

Beoremote-Beo4.png Beoremote-Beo4.png
Beovox.png Beovox.png
Beomaster.png Beomaster.png
Beolab-18.png Beolab-18.png
Beogram-400x.png Beogram-400x.png
So cool! Waiting to see your post about VU meters! 😁

Regards, Johan

Location: Netherlands

My B&O Icons:

Beoplay-A1.png Beoplay-A1.png
Beoplay-H95.png Beoplay-H95.png
Beoplay-P6.png Beoplay-P6.png
Beoremote-Beo4.png Beoremote-Beo4.png
Beoremote-One.png Beoremote-One.png
Beosound-5.png Beosound-5.png
Beovision-10.png Beovision-10.png

Location: Netherlands

My B&O Icons:

Beoremote-Beo4.png Beoremote-Beo4.png
Beovox.png Beovox.png
Beomaster.png Beomaster.png
Beolab-18.png Beolab-18.png
Beogram-400x.png Beogram-400x.png
Now that the screens are ready, they need to be connected to the Raspberry Pi. At the time I built the central connecting PCB, the idea was to create 1 large screen but this was impossible without the "tools" So I need to connect 2 screen PCB's to the main PCB, but I anticipated for just 1. Creating a second socket would imply a complete redesign of the main PCB. I decided to create an intermediate PCB. Behind the front panel where normally the CPU of the Beomaster resides I had enough space to position this extra unforseen PCB

Location: Netherlands

My B&O Icons:

Beoremote-Beo4.png Beoremote-Beo4.png
Beovox.png Beovox.png
Beomaster.png Beomaster.png
Beolab-18.png Beolab-18.png
Beogram-400x.png Beogram-400x.png

Location: Netherlands

My B&O Icons:

Beoremote-Beo4.png Beoremote-Beo4.png
Beovox.png Beovox.png
Beomaster.png Beomaster.png
Beolab-18.png Beolab-18.png
Beogram-400x.png Beogram-400x.png

Location: Netherlands

My B&O Icons:

Beoremote-Beo4.png Beoremote-Beo4.png
Beovox.png Beovox.png
Beomaster.png Beomaster.png
Beolab-18.png Beolab-18.png
Beogram-400x.png Beogram-400x.png
Your VU question triggered me to try. But the choice for using MCP23017 GPIO expanders behind the screens makes this nearly impossible.
That I2C driven solution is simply not fast enough to process the fast screen changes.
I had it sort of working but after 2 seconds the screens stop working.
It would be possible if I redesign the screen PCB's with a SPI driven solution but this would imply a full redesign of all my PCB's.
So for now I'll stick to the curent design without VU meters

Location: Netherlands

My B&O Icons:

Beoremote-Beo4.png Beoremote-Beo4.png
Beovox.png Beovox.png
Beomaster.png Beomaster.png
Beolab-18.png Beolab-18.png
Beogram-400x.png Beogram-400x.png
What you accomplished is really very cool!

Johan

Location: Netherlands

My B&O Icons:

Beoplay-A1.png Beoplay-A1.png
Beoplay-H95.png Beoplay-H95.png
Beoplay-P6.png Beoplay-P6.png
Beoremote-Beo4.png Beoremote-Beo4.png
Beoremote-One.png Beoremote-One.png
Beosound-5.png Beosound-5.png
Beovision-10.png Beovision-10.png
Really nice work so far! Love the look of those matrix LEDs! And impressive what you have got together so far. Keep up the good work!

Location: Stockholm

 

Time for an update.
It's not only a network player, but it has been upgraded to a network player AND network recorder.
So I am now able to record any signal which comes from the Beomaster to FLAC files on the internal harddisk.



It's pretty crowdy, but I was able to build in a Behringer UCA-202 USB soundcard. I took all of the unnessecary parts of this soundcard, and mounted it on a standard grid PCB with 10-pin IDC connector.
A Python based script starts the recording to the internal RAM of the Raspberry Pi. After the recording the file is split into multiple tracks when a pause of 2 seconds is detected.
After this, the file(s) are uploaded to Volumio.

Maybe a moderator can remove the attachment? This was not inteded, I wanted simply add a picture but did it wrong :)

Location: Netherlands

My B&O Icons:

Beoremote-Beo4.png Beoremote-Beo4.png
Beovox.png Beovox.png
Beomaster.png Beomaster.png
Beolab-18.png Beolab-18.png
Beogram-400x.png Beogram-400x.png
or
BeoWorld Gold Membership card
Join BeoWorld

Register to access the forums, reference material, and exclusive member benefits — including our monthly prize draw.

Become a Member

December 2026 Prize Draw

Gold Members Only

As a Gold member you're automatically entered into our exclusive prize draw — your chance to win iconic Bang & Olufsen products. A unique benefit of BeoWorld Gold membership, every draw brings a new opportunity to win something special.