Skip to content

Conversation

@awolden
Copy link
Contributor

@awolden awolden commented Mar 4, 2025

  • Adds support for LILYGO T-LoRa V2.1-1.6
  • Brings in a lighterweight crypto library for ed25519 because the existing implementation was causing stack crashes on older esp32 boards.
    • This CPU has limited stack size and crashed out when signing packets. This brings in libsodium which doesn't crash on signing. I put it behind a build flag even to be safe.
    • Discord context
  • Fully tested and working

Alex Wolden added 4 commits March 4, 2025 00:07
- Add custom partition table for fitting larger firmware
- Create LilyGoT3S3Board.h for board-specific functionality
- Update all example files to support the T3 board with SX1276
- Configure build environment for optimizing firmware size
- Set up the right pin configuration for SX1276 on LilyGo T3
- Remove unnecessary T3S3 configurations
- Keep only the LilyGo T3 with SX1276 configurations
- Clean up the platformio.ini file to remove duplication
@ripplebiz
Copy link
Collaborator

Thanks for your contribution.
I'll try to review this today.
In the meantime, can you change the base branch of the PR to the 'dev' branch?

@awolden awolden changed the base branch from main to dev March 5, 2025 04:07
@awolden awolden changed the title Add Lilygo T3 lora support Add LILYGO T-LoRa V2.1-1.6 firmware Mar 5, 2025
@awolden awolden force-pushed the awolden/t3lora branch 5 times, most recently from 2548f3b to 890797a Compare March 5, 2025 05:59
@awolden awolden force-pushed the awolden/t3lora branch 2 times, most recently from dd64458 to e4a4bb2 Compare March 5, 2025 06:11
@awolden awolden marked this pull request as ready for review March 5, 2025 06:14
@awolden
Copy link
Contributor Author

awolden commented Mar 5, 2025

@ripplebiz done. I cleaned it up quite a bit as well.

@awolden awolden force-pushed the awolden/t3lora branch 2 times, most recently from 42c449d to e178966 Compare March 5, 2025 07:21
@ripplebiz
Copy link
Collaborator

There is a problem with having the different private key formats, as there will be some firmwares with the ENABLE_PRIVATE_KEY_IMPORT/EXPORT enabled, and this would create an incompatibility.
It's a very low-level change you're proposing, with the alt crypto lib, and it would require a LOT of testing to make sure it is completely interoperable with other firmwares, other boards, etc.

@ripplebiz
Copy link
Collaborator

Also, if stack size is the main issue, a simpler option is you can set custom 'loop task' stack size for the ESP32 targets with: -D ARDUINO_LOOP_STACK_SIZE= ...

@awolden
Copy link
Contributor Author

awolden commented Mar 6, 2025

@ripplebiz That's fair, and the arduino flag was the first thing I tried at 8kb and it was still failing, which I assumed was double the stacksize, but it's possible the default was already 8kb 🤦 .I just tried at 32kb and 16kb and it worked fine. I pushed the simplification.

Also I see #63 linked to this PR, but I do not believe it would be compatible with this since it's an ESP32-S3 board and this is ESP32. This board config won't flash on to that variation.

There are multiple variations from Lilly go on this:

ESP32 + 1276 (this)
ESP32-S3 + 1276
ESP32-S3 + 1262

@ripplebiz ripplebiz merged commit a3d46a3 into meshcore-dev:dev Mar 6, 2025
agessaman pushed a commit to agessaman/MeshCore that referenced this pull request Nov 8, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants