VNC1L firmware can also be updated via a microcontroller with a UART. The microcontroller must be capable of at least 115200 Baud. This is required because the VNC1L bootloader defaults to 115200 Baud. The Baud rate may be changed by issuing a Set Data Variables command to the VNC1L after establishing communication at 115200 Baud.
Also, the VNC1L UART requires the use of RTS/CTS flow control. If the MCU UART does not automatically handle hardware handshaking, this must be implemented in the MCU firmware.
As with the FT232R programming the VNC1L over USB, it is possible to use two of the available MCU IOs to control the PROG# and RESET# pins from the MCU firmware. The following diagram illustrates this arrangement:
To enable the bootloader, the PROG# pin must be driven low and the VNC1L must then be reset by driving the RESET# pin low then high. Run mode can be enabled by driving the PROG# pin high and then resetting the VNC1L by driving the RESET# pin low then high.
In a situation where IOs from the MCU are not being used to control the PROG# and RESET# pins, a jumper must be used to manually enable program or run mode. A sample block diagram of the hardware requirements for programming from an MCU with a jumper controlling PROG# is shown below:
Note that for the bootloader to be active the jumper must be fitted before powering the VNC1L. If the jumper is not fitted, the VNC1L will power up in run mode with the bootloader inactive.
Programming the VNC1L from an MCU will require firmware development to allow Flash programming.