Skip to content

Commit d60628a

Browse files
committed
Add README
1 parent 19919e8 commit d60628a

File tree

1 file changed

+42
-0
lines changed

1 file changed

+42
-0
lines changed

README.md

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
# Arduino UNO R4 WiFi USB Bridge firmware
2+
3+
This firmware uses [arduino-esp32](https://github.com/espressif/arduino-esp32/releases/tag/2.0.9)
4+
5+
## Building
6+
7+
```
8+
./compile.sh
9+
```
10+
Running the compile script will:
11+
12+
1. Download the [arduino-esp32 v2.0.9 core](https://github.com/espressif/arduino-esp32/releases/tag/2.0.9) and build tools
13+
2. Apply needed [patches](core_esp32.patch)
14+
3. Compile the firmware using arduino-cli
15+
4. Export binaries in the build directory inside the `UNOR4USBBridge` folder
16+
17+
The `compile.sh` script will produce a bunch of binary files that can be flashed using [esptool](https://github.com/espressif/esptool/releases) from the build directory:
18+
19+
```
20+
esptool --chip esp32s3 --port "/dev/ttyACM0" --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 80m --flash_size 4MB 0x0 "UNOR4USBBridge.ino.bootloader.bin" 0x8000 "UNOR4USBBridge.ino.partitions.bin" 0xe000 "../../../boot/boot_app0.bin" 0x10000 "UNOR4USBBridge.ino.bin"
21+
```
22+
23+
## Packaging
24+
25+
```
26+
./export.sh
27+
```
28+
29+
The `export.sh` script will take care of generating a single binary blob including the TLS certificates bundle. Running the export script will:
30+
31+
1. Invoke the `compile.sh` script
32+
2. Generate the certificate bundle using this [script](certificates/gen_crt_bundle.py) and this [certificates list](certificates/certificates.pem)
33+
3. Combine everything in a single binary blob that can be flashed from address 0x0 using [espflash](https://github.com/esp-rs/espflash/releases)
34+
35+
```
36+
espflash write-bin -b 115200 0x0 S3.bin
37+
```
38+
39+
## Flashing
40+
41+
To flash the firmware the board needs to be in `ESP download` mode. This can be done [manually](unor4wifi-updater#option-2) or using the [unor4wifi-updater](unor4wifi-updater) script.
42+

0 commit comments

Comments
 (0)