feat: Add ESP32-S3 ILI9341/ST7789 board support with wiring guides - #2422
Open
Aryann019x wants to merge 94 commits into
Open
feat: Add ESP32-S3 ILI9341/ST7789 board support with wiring guides#2422Aryann019x wants to merge 94 commits into
Aryann019x wants to merge 94 commits into
Conversation
Added configuration file for ESP-WROOM-32 with ILI9341 TFT.
Implement GPIO setup and input handling for device control.
Implement GPIO setup and touchscreen initialization functions for ESP32S3 with ILI9341 display.
Added wiring guide for ESP32-S3 with ILI9341 display and touchscreen, including pinouts for display, touchscreen, radio modules, and other components.
Added configuration for ESP32-S3 ILI9341 Touchscreen with 8MB Flash.
Added detailed wiring guide for ESP32-S3 with ST7789 display and touchscreen, including pinouts for display, touchscreen, radio modules, and additional features.
Added comprehensive wiring guide for ESP-WROOM32 with ST7789 display and touchscreen, including pinouts for display, touchscreen, SD card, radio modules, user input, I2C sensors, status LED, serial port, and power supply details.
get all work done
Removed duplicate IR codes while preserving different formats/protocols
…ruceDevices#2591) Per review on BruceDevices#2591: rebased onto dev, and moved the persistence into src/core/utils.* alongside the clock functions (called from init_clock()). Boards without an RTC (e.g. T-Deck) lose a set time on a full power-off and reset to the build default. This periodically saves the current epoch to NVS and restores it in init_clock() so the clock comes back close to correct, with date info intact for file metadata; it re-syncs exactly via NTP/GPS when available. Stored in NVS (not the user FS) so it survives FS reformats and custom partition layouts. Guarded by !defined(HAS_RTC); RTC builds unaffected. Hardware-tested on a LilyGO T-Deck Plus.
Fix ble spam packets & remove unused legacy paths
* Enhance BLE Sniffer with payload capture and parsing Extended BLE Sniffer functionality to capture and analyze BLE advertisements, including payload parsing and manufacturer data identification. * Add BLE sniffer header file for LITE_VERSION * Add BLE sniffer functionality * Add BLE Sniffer option to menu in Lite version * Refactor BLE sniffer device pointer to const Updated BLE sniffer module to improve device pointer handling and added module documentation. * Add Samsung MAC OUI detection and FastPair version detection * Upgrade BLE Suite to version 3.1 with enhancements Updated BLE Suite to version 3.1 with enhancements including Samsung MAC OUI detection, expanded FastPair model database, and improved BLE sniffer capabilities. * Add newline at end of BLE_Suite.h Fix missing newline at end of file in BLE_Suite.h * Refactor Samsung MAC OUI and FastPair exploit logic Updated Samsung MAC OUI detection and modified FastPair exploit methods. * Enhance BLE_Suite with target selection and tests Added new functions for target selection and vulnerability testing in BLE_Suite.cpp. * Update BLE_Suite.cpp * Update BLE address handling to include address type
…h valid (BruceDevices#2577) nrf_setMode() initializes nrfSPI=true and nrfUART=true, then treats the case where both are valid as an error, raising displayError("NRF24 pins undefined") and blocking. This is the normal state for any SPI nRF24 on a device that also has valid UART pins (e.g. the M5Stack StickS3 with the pingequa RF Pack S3), so NRF24 features were unusable on those builds. A UART-NRF cannot be auto-detected from pin config, so when the SPI pins are configured, default to NRF_MODE_SPI instead of erroring. Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…#2578) Channel Analyzer: real-time 2.4GHz per-channel airtime utilization across channels 1-11 (promiscuous sweep, configurable dwell, MASK_ALL filter), with solid-threshold load bars, peak-hold markers and a per-channel signal meter. Jam Detect: rapidly hops channels 1-11 (~100ms dwell, ~1.1s/sweep) watching the deauth/disassoc rate via a MGMT|DATA promiscuous filter, and alerts the instant the extrapolated rate crosses a user-adjustable threshold mid-window (without waiting for the dwell to end). Per-channel deauth bars + a latched "ATTACK chN" banner; it drops any STA association so hopping isn't locked to one channel. A single radio can't watch all channels literally at once, so this approximates full-band coverage via fast hopping. Both use a tolerant WiFi bring-up that ignores ESP_ERR_WIFI_INIT_STATE so they recover gracefully when WiFi is already initialised. Wired into the WiFi menu. Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Support st25r3916
Author
|
Ready for review whenever a maintainer has time, also noticed the workflow runs need approval to execute, could someone kick those off? Happy to address any feedback. |
nuala249-afk
approved these changes
Jul 22, 2026
|
Hi @Aryann019x, could you please provide the pre-compiled .bin file for the ESP32-S3 ST7789 XP2046 setup? The GitHub Actions checks aren't running so I cannot download the artifacts. Thank you! |
Author
Hi @bao56513 , the pre-compiled .bin files are already available in the Releases section: https://github.com/Aryann019x/firmware/releases Please let me know if you need any other board configuration. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds complete support for ESP32-S3 boards with ILI9341 and ST7789 displays, and comprehensive wiring documentation with visual diagrams for all four board configurations (ESP32-S3 and ESP-WROOM32).
Changes
New Board Support
Documentation
Each board folder includes connections.md with complete wiring guides:
Technical Implementation
Bug Fixes
Files Added/Modified
boards/esp32s3-ili9341/- Full board support (pins_arduino.h, interface.cpp, .ini, connections.md, diagrams/)boards/esp32s3-st7789/- Same structure for ST7789 variant (fixed incomplete configuration)boards/esp-wroom32-ili9341/connections.md- Updated documentationboards/esp-wroom32-st7789/connections.md- Updated documentationboards/pinouts/pins_arduino.h- Router file (directs compiler to correct board pins)