NOTE: firmware version later than V5.0 are not able to be upgraded or downgraded
Q: Where are the latest firmware available, and instruction?
A: firmware here: http://www.digole.com/fw/, instruction of UART mode here: http://www.digole.com/forum.php?topicID=653
Q: Should my display module upgrade to V3.9C?
A: If the module has Flash Chip installed, and the firmware is V3.5B/3.6B/3.7B/3.8B/3.9B, you better upgrade it to V3.9C, the early version had a bug caused by the delveopping tool, that made the module enter bootloader when cold power on, and you will see the screen is blank, but it work if you turn the power ON/OFF/ON in few seconds, upgrade this module is easier than regular, you don't need to use command "BLUBL}" because it will enter bootloader by error when cold power on.
Just run CoolTerm, connect CoolTerm with USB-UART adapter, set baud 57600 8-N-1, then attach the display module to the adapter by: GND<->GND, RX<->TX, TX<->RX, then VCC<->VCC you probably see "S" on the CoolTerm window, then send the V3.9C firmware file to the module. You can trun the XON if you want the upgrading done fast.
Q: What the different between V3.9B and V3.9C?
A: V3.9C include all functions in V3.9B, also embedded a fixing patch for bootloader which has a bug for Flash Chip module.
Q: Which module's firmware is upgrade able?
A: Only the modules' firmware version suffixed with "B", "C" can be upgraded.
Q: What is the suggested way to upgrade the firmware?
A: We highly suggest to use an USB->UART adapter, combine with "CoolTerm" free software, the USB->UART adapter is pretty cheap, and the CoolTerm is available on Windows, MAC OS and LInux, thanks for Roger Meier to develop this cool tool.
Q: Can I use I2C or SPI mode to upgrade firmware?
A: Yes you can, but it's hard to find USB->I2C/SPI adapter, if you want use I2C/SPI mode, you mostly need to design a program for your special microcontroller.
Q: Can the module be restored if failed to upgrade firmware or firmware crashed, and it blank?
A: In most case "YES", except you reprogram the MCU by using a hardware programmer.
There are two ways to let the module entering the bootloader:
1) "SOFT": use command "BLUBL}" if the module working well, see the instruction link at the top of this page.
2) "HARD": if the module blank when powering on, the module may be entered bootloader directly or running the garbage code, you can check it as follow:
a, run CoolTerm,set the baud rate at 57600 8-N-1, connect CoolTerm with the USB-UART adapter, then connect the module to USB->UART adapter, GND<->GND, RX<->TX, TX<->RX, Vcc<->Vcc, if you see "S" on the CoolTerm window, you are lucky, it means that the display module entered into bootloader, just send the latest firmware to the display, by using XON, or delay 30ms at each line end, see here.
b, if nothing on the CoolTerm window, means the module is running garbage code, the "hard" way to get the module enter bootloader is: pull the DATA pin on the module to GND(can use a jumper), then short the 2 pins on "RESET" button (not installed but footprint on the PCB), then release the "RESET" pins, then release the DATA pin to high,you may need to try this way few times after you can see "S" on the CoolTerm window.
Q:Can user upgrade a bunch of display module at once?
A: Yes, but only for same model of displays. You need to use UART mode and use 30ms delay at each line end (Don't use XON), this mode don't need modules to echo data back to USB-UART adapter, so, you can connect all DATA pins on modules together, then connect it to TX pin on USB-UART adapter, then refer to instruction: http://www.digole.com/forum.php?topicID=653