Skip to content

Commit 03ccbcf

Browse files
authored
ESP32-S3 support + cleanup
1 parent 7d37991 commit 03ccbcf

7 files changed

Lines changed: 841 additions & 787 deletions

File tree

.github/workflows/main.yaml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,4 +22,8 @@ jobs:
2222

2323
- name: Build NRF firmware
2424
run: |
25-
pio run
25+
platformio run --environment oeplnrf
26+
27+
- name: Build ESP32 firmware
28+
run: |
29+
platformio run --environment oeplesp32-s3-N16R8

.github/workflows/release.yml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,12 @@ jobs:
2222
curl -L https://raw.githubusercontent.com/microsoft/uf2/master/utils/uf2families.json -o uf2families.json
2323
chmod +x uf2conv.py
2424
25+
- name: Install intelhex
26+
run: pip install --upgrade intelhex
27+
28+
- name: Install esptool
29+
run: pip install esptool
30+
2531
- name: Build Firmware
2632
run: |
2733
pio run
@@ -41,6 +47,20 @@ jobs:
4147
--family 0xADA52840 \
4248
--output firmware_output/production-${TAG_NAME}.uf2
4349
50+
- name: Build esp32-s3-N16R8 Firmware
51+
run: |
52+
pio run --environment oeplesp32-s3-N16R8
53+
mkdir oeplesp32-s3-N16R8
54+
cp ~/.platformio/packages/framework-arduinoespressif32/tools/partitions/boot_app0.bin oeplesp32-s3-N16R8/boot_app0.bin
55+
cp .pio/build/oeplesp32-s3-N16R8/firmware.bin oeplesp32-s3-N16R8/firmware.bin
56+
cp .pio/build/oeplesp32-s3-N16R8/bootloader.bin oeplesp32-s3-N16R8/bootloader.bin
57+
cp .pio/build/oeplesp32-s3-N16R8/partitions.bin oeplesp32-s3-N16R8/partitions.bin
58+
cd oeplesp32-s3-N16R8
59+
esptool.py --chip esp32-s3 merge_bin -o merged-firmware.bin --flash_mode dio --flash_freq 80m --flash_size 16MB 0x0000 bootloader.bin 0x8000 partitions.bin 0xe000 boot_app0.bin 0x10000 firmware.bin
60+
cd ~/
61+
cp oeplesp32-s3-N16R8/firmware.bin firmware_output/oeplesp32-s3-N16R8.bin
62+
cp oeplesp32-s3-N16R8/merged-firmware.bin firmware_output/oeplesp32-s3-N16R8_full.bin
63+
4464
- name: Upload Release Assets
4565
uses: svenstaro/upload-release-action@v2
4666
with:

README.md

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,5 @@
1-
# NRF52840 OEPL BLE
1+
# OEPL BLE Firmware for NRF52840 and ESP32
22

33
## TODO List
4-
5-
- [ ] **Manufacturer ID** - Configure BLE manufacturer data
6-
- [ ] **Compression** - Implement compressed image upload
74
- [ ] **Power Consumption** - Improve power efficiency
8-
- [ ] **Display** - Fix display issues
95
- [ ] **Display Types** - Implement more display types
10-
- [ ] **Dynamic Config** - Implement dynamic configuration

platformio.ini

Lines changed: 29 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
1+
[env]
2+
lib_deps =
3+
https://github.com/bitbank2/bb_epaper.git
4+
https://github.com/pfalcon/uzlib
5+
16
[env:oeplnrf]
27
#build_unflags = -DUSE_LFXO
38
#build_flags = -DNRF52840_XXAA -DUSE_LFRC -DNRF52_S140 -DNRF52 -DNRF52840
9+
build_flags = -DTARGET_NRF
410
#lib_compat_mode = soft
511
platform = https://github.com/maxgerhardt/platform-nordicnrf52
612
#platform = nordicnrf52
@@ -10,7 +16,26 @@ board_build.variant = oeplnrf
1016
board = xiaoblesense_adafruit
1117
#board = oeplnrf
1218
monitor_speed = 115200
13-
lib_deps =
14-
https://github.com/bitbank2/bb_epaper.git
15-
https://github.com/pfalcon/uzlib
16-
build_src_filter = +<*> -<main_mbed.cpp>
19+
build_src_filter = +<*> -<main_mbed.cpp>
20+
21+
[env:oeplesp32-s3-N16R8]
22+
platform = https://github.com/pioarduino/platform-espressif32/releases/download/stable/platform-espressif32.zip
23+
framework = arduino
24+
build_flags =
25+
-DTARGET_ESP32
26+
-DBOARD_HAS_PSRAM
27+
-DARDUINO_USB_MODE=1
28+
-DARDUINO_USB_CDC_ON_BOOT=1
29+
-DCONFIG_FREERTOS_WATCHDOG_TIMEOUT_S=120
30+
board_build.filesystem = littlefs
31+
board = esp32-s3-devkitc-1
32+
board_build.partitions = default_16MB.csv
33+
board_build.flash_mode=qio
34+
board_build.arduino.memory_type = qio_opi
35+
board_build.psram_type=qspi_opi
36+
board_build.usb_mode = hardware
37+
board_upload.maximum_size = 16777216
38+
board_upload.maximum_ram_size = 327680
39+
board_upload.flash_size = 16MB
40+
monitor_speed = 115200
41+
monitor_filters = esp32_exception_decoder

0 commit comments

Comments
 (0)