The RM3251/RM5451/RM5251 LCD controllers offered hobbyists one of the first ever opportunities to create their own LCD display centric contraptions. Prior to this, the LVDS interface featured by almost all LCD panels was a mystery, with scores of tinkerers wondering how to interface this to something more familiar, i.e. VGA or DVI.
One day, I saw this on eBay:
I’ve seen a few of these over the years, normally you get one posted to you when you engage with a LCD controller firmware company, right after signing a non-disclosure agreement, and handing over a lump of cash.
But on eBay? This is interesting. I had to hit ‘buy’. The seller has got their hands on the programmer software for this family of boards, and a whole bunch of firmware images for different panels, and they’re selling it on eBay for hobbyist money.
I found the programmer tool offering (ROVAWRITER.exe) provided rather poor, so wrote my own tool.
ROVATool – Programming software
The following controllers:
The following programmers:
- ROVA USB-TOOLS-A
- Some other Cypress EZUSB FX2 based boards (More about that here)
- Parallel port programmer for PCB800099 (schematic here)
- FTDI boards with MPSSE i.e. FT232H (More information here)
Normally the Parallel programmer is for PCB800099 and ROVA USB-TOOLS is for R.RMxxxx, but with this software, you can use either programmer to program either board. I wouldn’t recommend buying the Parallel programmer (aside from the obvious, how many PCs still have a Parallel port?) – The USB Programmer is just a much cleaner and easier solution.
Benefits of this tool over the manufacturer tool
- Up-to-date programmer software with 64-bit operating system support
- No requirement for the ancient DLPortIO driver, for those concerned about the security vulnerabilities exposed by this package
Unsupported flash devices
Due to the cornucopia of flash chips these boards are assembled with, I have moved the list of devices out into a dedicated file (FlashDevices.xml).
This allows users to add any new devices as desired.
Firmware reading support
By popular demand I have added this functionality for the RTD2660. The ISP interface on the RTD2660 is not specifically designed for reads, but it is just possible. Because of this, it is quite slow as the firmware has to be read out one byte at a time. When using the FTDI interface it can take upwards of two hours to do a full read on an 8mbit device. Boards with smaller flash chips will be considerably quicker.
Read performance is an order of magnitude better on Parallel and ROVA programmers, but as (I suspect) no-one actually uses those, you’ll have to be patient.
As for the RTD2120 (where the flash is built into the MCU) – I’ve not seen any documentation for the ISP interface on it. What I have is entirely reverse-engineered. It may be possible but due to the lack of popularity of these devices I’ve not yet looked into this.
I’ve split the download of this into two files: