Novastar MCTRL300 basic control software

Code can be found at the Github repository. Builds/executables are not available but if anyone has use for them, I’d happily create one for you…


Simple, basic control of brightness and test patterns/mode for the Novastar MCTRL300 (and possibly others, but I don’t have others to test).

It does not allow you to configure your screen. It can be used during testing or (I can imagine) to give just this piece of software to a client to let him dim the screen when no technician is available.


I repair several types of LED panels, among which are Desay 6mm and UPAD 2.6mm.

The Novastar software is written for Windows and overkill for simple control of patterns and brightness (which is all I need during testing and repair). This PyQt based solution works faster and runs on my Linux machines as well instead of having to set up a virtual machine (or Wine).

Novastar hardware: the MCTRL300 LED controller

The Novastar MCTRL300 controller that can be used to drive these panels has a Windows software that allows you configure your whole led screen as well as display test patterns (full r/g/b, moving lines, white, …). During repair and testing this last function is something I use all the time. Thus, the software with all its functions is overkill and rather cumbersome. I decided to write my own (simple) interface to call up test patterns quickly.

The controller has a Silicon Labs CP2102 USB to UART bridge. Opening the housing reveals a rather pretty board that seems to be made so that it can be used as a PCI extention card in a computer instead of a standalone controller as well. Soldering a couple of wires to the QFN28 package and connecting a logic analyzer allows to log the commands that are sent to the controller. After getting these commands, only a bit of Python remains to be written.


Screenshot of beta version

Thanks / Acknowledgements

I found a couple of useful documents about the protocol Novastar uses for a couple of other of their controllers on the Bitfocus Companion module novastar controller repository, mostly while reading through the issues.