Skip to content

Advanced Flasher

Wasabi Burns edited this page Aug 27, 2024 · 4 revisions

If you would like more control than the Web Flasher allows, you can utilize our python flasher. This allows fully offline flashing of firmware, ability to customize the wifi settings while flashing, bulk flashing, creating backups, and factory resets.

Advanced Flasher Use

  1. Download the latest stable firmware zip file
  2. Many computers have a CP2102 driver preinstalled that the O.MG Programmer requires. If your computer doesn't, you will need to manually install it from here.
  3. Plug the programmer into computer
  4. Plug the O.MG Cable into programmer (For the C to C Directional cable, plug in the end with the USB logo on it)
  5. Run the flasher and follow the menu to build a new firmware with your chosen wifi settings
    • Using a terminal, run: python3 ./flash.py or sudo python3 ./flash.py
      • make sure you have Python 3.7 or higher installed and that you have the pyserial module installed (python3 -m pip install pyserial)
  1. When flashing has finished, unplug the cable from the programmer and plug the active end of the O.MG cable directly into an USB port.
  2. Wait a bit for all of the services to start up and then connect to the Web UI.
    • If running the cable in AP mode, make sure your device has received an IP address before trying to connect to the Web UI.
    • The first time you connect after flashing can require a few minutes. After the first boot and successful connect to the Web UI, it should only be a couple seconds.

Advanced Flasher Troubleshooting

  • If you have issues with the python flasher, make sure you are running a current OS and have followed any of the dialog presented by the flasher.
  • If you are on a Linux based system (Such as popOS) and have confirmed the serial device is visible but cannot access the serial device from your user you may need to run the following command sudo usermod -aG dialout $USER to give your current user access to the dialout group which is used by Linux systems to control access to serial devices.
  • The programmer is a CP2102 USB to Serial adapter. Your OS should detect this device when plugged in. If the programmer is not detected, you may need to install the drivers for CP210X USB bridge: https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers
  • The flasher script requires that you have python 3.7 or higher & with the pyserial module installed. To install pyserial use python3 -m pip install pyserial
  • On Windows, if you see an error similar to Error could not open port 'COM3': PermissionError(13, 'Access is denied.', None, 5) try these workarounds:
    • open the terminal as admin, then run flash.py
    • if that doesn't work, try directly with the Python IDLE shell: Start > Search for "IDLE" > Right click "IDLE" > Run as administrator. Then File > Open > select flash.py. Then Run > Run Module.