|
| 1 | +# Flashing the firmware |
| 2 | + |
| 3 | +```{warning} |
| 4 | +Flashing the firmware can make your receiver unusable. |
| 5 | +``` |
| 6 | + |
| 7 | +Before proceeding, please check whether the receiver board has BOOT & RST buttons soldered, which can help to recover it. Also there is a way to back up the stock firmware, so you can roll back to it if you want. |
| 8 | + |
| 9 | +## Firmware files |
| 10 | + |
| 11 | +A firmware archive contains the following files: |
| 12 | + |
| 13 | +1. `CHANGELOG.md` - a text file that describes what's new in each firmware version |
| 14 | +2. `ats-mini.ino.bootloader.bin` - a bootloader (should be flashed at address `0x0`) |
| 15 | +3. `ats-mini.ino.partitions.bin` - a partition table (should be flashed at address `0x8000`) |
| 16 | +4. `ats-mini.ino.bin` - a firmware itself (should be flashed at address `0x10000`) |
| 17 | +5. `ats-mini.ino.merged.bin` - the three previous files combined into one (should be flashed at address `0x0`) |
| 18 | + |
| 19 | +So, you need to flash your receiver using just one of the following two ways: |
| 20 | + |
| 21 | +- Flash the first three files (bootloader, partitions, firmware) using the right addresses. The receiver settings might be reset in some versions. |
| 22 | + |
| 23 | +OR |
| 24 | + |
| 25 | +- Only flash the last file (merged) using the `0x0` address. The receiver settings will be always reset. |
| 26 | + |
| 27 | +## Flash using a web browser |
| 28 | + |
| 29 | +Works on: Windows, macOS, Linux |
| 30 | + |
| 31 | +This is the simplest method, but you need a browser that supports the [Web Serial API](https://developer.mozilla.org/en-US/docs/Web/API/Web_Serial_API). This means Chrome and [some other browsers](https://developer.mozilla.org/en-US/docs/Web/API/Web_Serial_API#browser_compatibility). No, Firefox and Safari can't do it. |
| 32 | + |
| 33 | +```{tip} |
| 34 | +On Linux, please make sure that the user account that runs your browser has the [necessary permissions](https://www.reddit.com/r/linuxquestions/comments/vqzev0/browser_serial_port_fails_to_open/) to access the serial port. |
| 35 | +``` |
| 36 | + |
| 37 | +1. Connect your receiver to a computer using USB and power it on. |
| 38 | +2. A new serial port should appear. On Windows check the USB Serial COM port in the Windows Device Manager, on macOS it will look like `/dev/tty.usbmodemXXXX`, on Linux like `/dev/ttyACMX`. |
| 39 | +3. Open the following link: <https://espressif.github.io/esptool-js/> |
| 40 | +4. Press the `Connect` button and choose the right serial port. |
| 41 | +5. Add either the three separate firmware files at the [right addresses](#firmware-files), or the merged one at `0x0`. |
| 42 | +6. Press the `Program` button. |
| 43 | +7. Wait until the following text will appear in the black serial log window: `Leaving... Hard resetting via RTS pin...` |
| 44 | +8. Press the `Disconnect` button. |
| 45 | +9. Power off and power on the receiver. |
| 46 | +10. Check out the firmware version in Menu -> Settings -> About. |
| 47 | + |
| 48 | + |
0 commit comments