Skip to content

Conversation

@webash
Copy link

@webash webash commented Nov 18, 2025

The Arduino Nesso N1 is a tiny wee device absolutely feature packed, based on ESP32-C6 and SX1262.

ℹ️ Disclaimer: I'm more an infrastructure guy that likes to code, so most of this is a bit hacky and me trying my best from scraps I've found in this repo. I haven't worked in C/C++ for more than a decade (other than random patches to OSS code), and I've only spent a few hours over the last few days. So all feedback completely welcome. Also feel free to do whatever is required to bring this up to scratch, as I'm not precious.

The below was not generated with an LLM, I just like emojis.

✅ Things I've tested and work:

  • Build, upload, etc
  • Initial boot of the device in blank state, ready for first connection with default PIN
  • Connection to device with companion apps (web, Android)
  • Configuration of device
  • Sending and receiving messages [locally, I'm not close enough to any repeaters on the mesh that its little antenna seems to be able to reach, but that's a problem even for my other devices]
  • TX LED works
  • Telemetry of battery percentage / voltage
    • I've only done an override for getBattMilliVolts(), I haven't dived deeper to be sure that the percentage is valid

❎ Not yet tested:

  • Repeater firmware

⚠️ Known issues:

  • It seems to reboot periodically after some time. I haven't been able to reproduce it reliably while in debug mode to see what comes across the serial logger before it dies; more time needed.
  • With minimal examples out there for such a new board, I can't quite figure out if the charging enable code is correct. So I'm not really sure if the device is properly charging.

ToDo:

  • Buttons
  • Screen
    • I've started some work here, but it seems the existing ST7789 examples helpers in the repo are for very specific devices, so I'll probably have to write my own - and... I'm not sure I'm capable of that right now.
  • Buzzer
  • Telemetry addition: a template / example to allow for additional sensors via the grove and QWIIC ports
  • Periodic LED pulse to know device is still on while the screen doesn't work

@ripplebiz
Copy link
Collaborator

Thanks for the contribution. Can you please change the base branch from main to dev please.

@webash
Copy link
Author

webash commented Nov 19, 2025

Thanks for the contribution. Can you please change the base branch from main to dev please.

The base branch or the branch I'm PRing into? or both?

@ripplebiz
Copy link
Collaborator

Thanks for the contribution. Can you please change the base branch from main to dev please.

The base branch or the branch I'm PRing into? or both?

The branch you are wanting to merge into.

@webash webash changed the base branch from main to dev November 22, 2025 00:01
@webash
Copy link
Author

webash commented Nov 22, 2025

Thanks for the contribution. Can you please change the base branch from main to dev please.

The base branch or the branch I'm PRing into? or both?

The branch you are wanting to merge into.

Done - but I'll change the main .cpp file to be target.cpp per your review before any merge. Although I notice that because I forked off main, I've got a bunch of additional commits in this PR now suggesting main was ahead of dev?

@webash
Copy link
Author

webash commented Nov 22, 2025

Any advice for debugging random reboots on this esp32 platform? the serial logger manages to print "E" as if its about to print "ERROR:" but the board seems to reboot before the full transmission is received so I'm not sure what its erroring on.

EDIT: Turns out that output does come through sometimes and its is ESP-ROM:esp32c6-20220919 ... which I'm not clear on what that's coming from or what it means...

@tyeth
Copy link

tyeth commented Nov 22, 2025

  • It seems to reboot periodically after some time. I haven't been able to reproduce it reliably while in debug mode to see what comes across the serial logger before it dies; more time needed.

I've been seeing E BOD: Brownout detector was triggered occasionally in the serial console, but mainly it silently reboots. This is not using meshcore. Got battery charged + many good usb cables.
Probably worth checking and printing the boot reason a short while after each boot.

Looking at the datasheet it might be the watchdog timer of the battery charger (i2c address 0x49), register 0x05, bits 5:6, need setting to 0's.

I think "ESP-ROM:esp32c6-20220919" is just the boot message (compiled rom bootloader date), so after/as the reboot happened rather than the cause/error.

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.

8 participants