Reverse-Engineering A Display Protocol To Repair A Roland Synthesizer

Repairing electronic units isn’t as tricky as it utilized to be. Thanks to the online, it’s simple to discover datasheets and application notes for any normal component within your gadget, and at the time you have located the faulty 1, you simply acquire a replacement from a person of a million world-wide-web stores — assuming you don’t conclude up with a phony, of course. When it arrives to non-normal elements, having said that, issues get much more hard, as [dpeddi] uncovered out when a good friend asked him for help in repairing a Roland Juno-G synthesizer with a broken show.

The main situation in this article was the fact that the exhibit in dilemma was a custom made design and style, with no substitution or documentation accessible. The only detail [dpeddi] could figure out from the company manual was the fundamental pinout, which showed a parallel interface with two lines labelled “chip select” — an indication that the screen contained two different controllers. But the exact protocol and data structure was not documented, so [dpeddi] brought out his logic analyzer to test and decode the alerts generated by the synthesizer.

Soon after a little bit of demo and mistake, he was capable to figure out the protocol: it appeared like the display screen contained two KS0713-style Liquid crystal display controllers, each individual controlling one half of the display. Finding a suitable replacement was nevertheless proving tricky, so [dpeddi] made the decision as an alternative to decode the initial alerts using a microcontroller and display the picture on a fashionable Lcd driven by SPI. Soon after some intial experiments with an ESP32, it turned out that the endeavor of studying two reasonably fast parallel buses and driving an even faster serial just one was a bit far too substantially for the ESP, so [dpeddi] upgraded to a Raspberry Pi Pico. This labored a address, and thanks to a 3D-printed mounting bracket, the new exhibit also in good shape snugly inside of the Roland’s case.

The Pico’s code is accessible on [dpeddi]’s GitHub web site, so if you’ve also acquired a dodgy show in your Juno-G you can basically down load it and use it to plug in a brand-new exhibit. On the other hand, the system of reverse-engineering an current show protocol and translating it to that of a new one is very universal and really should come in helpful when operating with any sort of digital device: say, a classic calculator or multimeter, or even yet another synthesizer.

Leave a Reply