Forum Replies Created
- AuthorPosts
-
I had a similar thought. I considered suggesting adding solder jumpers and some pads to attached wires (or a connector) to the UART signal traces. Without more detail of the design, it is hard to know if suggestions like this make sense or not.
What exactly you’d like to connect there?
Right now the RX/TX pins from the ML transceiver circuit are directly connected to the FTDI USB-serial chip. By soldering / removing a few resistors they can also be routed to the 40-way pinsocket. For Raspberry Pis there is a library for bit-banging such things on the GPIOs. Haven’t tried it but they promise it works up to 19200 baud (exactly the ML speed) with zero errors.What happens when there is an actual (real) parity error?
Each telegram contains a checksum. If a bit got flipped somehow (messages colliding etc) the checksum won’t match and the telegram is ignored or resent.
ML and many other low-power machines from that time are using space and mark parity bits for better performance. The first and the last byte is sent with a mark parity bit while the rest of the message is sent with a space parity. The receiver is always set to space parity and so will wake up / get triggered when a parity error occurs. So no need for polling which greatly frees up resources.I’m looking forward to any updates on functionality, availability, and pricing. This device has the potential to be a lot of fun.
I’m currently preparing a summary for everything. Will also provide the schematic.
It can receive and transmit ML & DL audio + data. Can act as master or slave.The kit will contain:
- Raspberry Pi compatible “MasterDataTool” with RJ45 ML and DIN DL connectors
- RJ45 <-> ML adapter
- short USB-C <-> USB-A cable
- three 3d printed plastic parts that will form a basic housing when assembled with a Raspberry Pi
- € 150 incl. 19% VAT (likely also including shipping cost but not sure yet)
I misspoke ! Controlling the ML USB adapter by direct by UART instead of USB !
Ah, okay. On the hardware side that would work. The thing is that ML requires setting some (nowadays) very uncommon parity bits. I’m glad that I found a USB-serial chip that on the receiving side happily ignores any parity errors but let’s you set arbitrary bits when sending.
So if you are not going through the USB interface it gets a bit more complicated and really depends.
Is there any “waiting list” for this device and/or ML to RJ45 adapter ?
Will update this thread once everything is ready. Still have to do the compliance testing and paperwork… You can also send me a PM and I’ll put you on the list. 🙂
One very practical example here. BL2000 converted to an AirPlay receiver.
Automatically switches on when the stream starts and also turns off once it stopped.
The buttons / IR receiver are fully functional and control the source application. Next, previous, play, pause.Would also be pretty easy adding a couple of pre-programmed radio stations that could be selected independent of any incoming AirPlay stream.
I’m surprised how good the BL2000 actually sounds in that combo. Interesting price/performance ratio. They are traded for very little money…
Works with any other ML linkroom product and will also sync the clock on a BL3500.
Video:
and maybe also do a few videos of cool things one could do with the MasterDataTool.
One of such cool things attached. Will later show the the title info from Spotify / AirPlay / etc.
Short update here. PCBs arrived and so far everything works as expected.
Also put together a very basic “housing”. Actually just a few small 3d printed plastic parts covering the electronics. The intention is really to not make it a fully polished product. Instead something fun to tinker with and financially also matching the current market value of other ML and DL equipped devices.
Will use a bit of the Christmas time to refactor the software a little and maybe also do a few videos of cool things one could do with the MasterDataTool.
For people not recognising the larger black box in the picture. It’s a BL Video converter and not actually part of that project. Just needed something with a ML socket and that fits in the picture… 😉
Yes, it’s really just digital. As far as I know no master or slave device does any kind of analog readings on the data pin.
Yes, that should work. In that case the BS5 should be configured as “Audio Master – NO” in the settings menu. It will then act as “source center on ML” and provide the N.Music and N.Radio sources to the BS9000.
I can’t recall if all BS9000 software versions support the N.Radio and N.Music sources – but the later ones certainly do. Just give it a try. If you have an older remote those sources were called TP2 and PHONO before they were renamed.
So connect the BM5 via ML to the BS9000, select “AM = NO” and either select N.Radio on your remote or activate the source on the BS5. It should wake up the BS9000 and you should hear the music playing then.
So my question to the datalink bits and bytes experts of this forum is if the handshake between a Master unit and a datalink Beocord/Beogram require a microchip with some software, or if it could be solved by a more simple electronic circiut?
Yes, it requires some kind of software and a microcontroller to “fake” that connection.
The datalink protocol between BeoGram and a master is much simpler than the “Audio Aux Link” datalink but in any case you are not getting away with it without faking a digital message on the data pin.Hi!the left branch of the diagram would in principal be the functionality of the Beolink PC2 device?
The result is the same but works a little different internally. We are directly interfacing the ML bus with a UART-USB bridge chip here. I think BeoPort uses an integrated microcontroller to convert ML messages the PC sends into proper ML telegrams “behind the scenes”. So it would not work 1:1 with the PC2 driver.
It would be interesting to have a generic driver for the BL PC2 to run it on Linux Systems
Somebody already did that. I think there was even a much older project enabling PC2 on Linux systems but I can’t recall the name anymore.
https://github.com/toresbe/beoportedWent ahead and slightly changed the architecture. It now has the form factor to directly fit on single-board-computers with the common 40 way pin header. Raspberry Pi being the most known one. It also reduces the cost a little as no USB-audio converter is needed. Board is finished so far. Will order a few samples in the coming days. Not expecting major issues as the circuit itself is already know to work.
A rendering of the current shape. There was a little space left so I added Datalink as well. Hence “MasterDataTool”.
I would LOVE this device!
Great!
Great, thanks for confirming.
Meanwhile I created a block diagram of the solution in question.
More or less copied over the audio block form the universal link adapter project. Just added a simple USB I2S bridge. While there are several other ways implementing it on the audio side – those two chips (ADC & DAC) are working well with ML and only require minimal surrounding components.For ML master/slave selection I probably just add a manual switch on the board. I see no application where this needs to be changed programatically during runtime…
I definitely am interested, looking forward that enough guys are joining in.
Great, sounds good!
Are you still thinking about offering anything based on the “universal link adapter”?
The problem of a fully integrated solution like the universal link adapter certainly is the long term maintenance. I suspect the demand to be rather low and at certain point probably would not even cover for the ongoing product maintenance. So the product likely would have to be discontinued early leaving customers with outdated devices and me with a bad reputation. Don’t want to go that way.
If it’s really just an easy to use hardware-only product with freely available software examples people would have maximal flexibility for ever and don’t have to rely on a vendor updating its software. Hence the USB idea. USB serial converters and USB sound cards will still work in a long time from now so should this device. Would be nice if a certain community grows around that piece of hardware sharing software configuration examples and advancing the project.
Pricing wise certainly below € 200. Probably closer to 100 than to 200 but let’s see.
or other Linux based PC?
Yes, actually should work on anything having FTDI drivers and pyserial support. I actually don’t know which platform doesn’t. Could even run it from a Mac or a Windows PC.
Have you considered including a DataLink interface to the MUA?
Yes, still thinking about it and how to implement it best in that case. Best case Datalink could be directly driven from a general purpose IO pin the USB-serial adapter chip exposes anyway. Worst case it would require a dedicated MCU. Still have to try that. Actually I would like to separate ML and DL into two independent solutions.
I would like to hear more technical details about the hardware
I’m thinking about a USB-C connector that supplies 5V power. Internally it is then connected to a USB hub chip which then connects to a USB audio codec and the serial converter for data communication. On the ML side it would also contain the “power” circuit so that it could either operate as a master or a slave device.
Programming is pretty easy. I can supply some python scripts for basic communication and protocol analysis. Audio would just work like a normal USB sound card.Actually, anybody knows what the Powerlink RX function does? Been seeing that in a few schematics. TX is obviously for Penta, 4500, BL5. What about RX? Any speakers sending data back to the source? Was that ever implemented in any speaker?
Probably a provision for local controls or a IR receiver within a speaker? Now I’m somehow curious what happens if you connect an IR eye to the PL data pin…
Would you happen to recall the output load characteristic during that test ? Having a relatively low (~1k) load impedance could definitely degrade that THD.
I’m usually measuring at 10k. It is a known “problem” with those DACs. Same goes for the output volume. It only shows optimal THD+N at around -1.5 dB. Any higher and it will degenerate (saturate the output stage?).
No, really 10µF. That’s what the LM1117 is characterized with (the 3.3V fixed version, not the ADJ one). It requires the output cap ESR to be > 0.3R, which already excludes ceramic caps.
Ah, I see. Was only quickly looking at the reference schematic where 100 uF is used. Been quite a while since I was using such higher power LDO. Mostly switching buck converters nowadays and only small / modern LDOs with high PSRR for noise optimised low-power stuff.
Just for fun I did a voltage measurement on this pin and it reads 0.4V and fluctates when a command is pressed on the remote control
Could also be IR data output that is replicated on this pin. A scope capture would reveal it.
So that when connected to that PC Office thing it could forward local IR commands directly to the PC. Just an idea…
In any case – not that much useful.The original peripheral for this connection was the first Beolink PC office box
Ah, true. Forgot about that.
But if you can tell from the diagram that SL_config is and output then we might not have much use for that for input applications
Yes, definitively output-only in the schematic.
Replacing the 1611 converter with a 1614 converter on the other hand will not make any functions work at all.
The 1614 does not elevate the ML data lines. So no ML communication possible without a proper master. Either the circuit is not there at all or it is disabled by software. Not sure if I’ve seen a schematic of the 1614 so far.
- AuthorPosts