Skip to content

Added support for Heltec Mesh Pocket#87

Open
TheBeadster wants to merge 14 commits intoliberatedsystems:masterfrom
TheBeadster:master
Open

Added support for Heltec Mesh Pocket#87
TheBeadster wants to merge 14 commits intoliberatedsystems:masterfrom
TheBeadster:master

Conversation

@TheBeadster
Copy link
Copy Markdown

I have used these ID's

#define PRODUCT_HELTEC_MESHP 0xD2 // Heltec Mesh Node MeshPocket with a T114
#define BOARD_HELTEC_MESHP 0x46
#define MODEL_CD 0xCD // Heltec Mesh Node MeshPocket, 470-510 MHz
#define MODEL_CE 0xCE // Heltec Mesh Node MeshPocket, 863-928 MHz

I added them to my local Rnodeconf so that it can detect the board correctly.

…-and-undefined-reference-errors

Fix header guard issues and add Bluetooth globals
merged both works
…-and-undefined-reference-errors

Codex/fix narrowing conversion and undefined reference errors
…name-a-type-error

Fix missing Arduino include in Bluetooth header
changed sleeping screen message.
Removed the hardcoded Board model so it now compiles  with Arduino CLI using 'compiler.cpp.extra_flags=-DBOARD_MODEL=BOARD_HELTEC_MESHP' `
Copy link
Copy Markdown

@jacobeva jacobeva left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lots of random whitespace and carriage return changes here. Also debug statements that are left in. Please cleanup if possible.

Comment thread Documentation/CONTRIBUTING.md Outdated
Comment thread Bluetooth.h
Comment thread board_config.h Outdated
Comment thread Boards.h Outdated
Comment thread Boards.h Outdated
Comment thread RNode_Firmware_CE.ino Outdated
Comment thread RNode_Firmware_CE.ino
Comment thread Utilities.h
Comment thread RNode_Firmware_CE.ino
Comment thread Utilities.h Outdated
@TheBeadster
Copy link
Copy Markdown
Author

Jacobeva , I think I have manage to do what you requested, please review. I compiled my modified code and tried ti on the mesh pocket it works OK

@jacobeva
Copy link
Copy Markdown

This is looking better, but the code is still quite messy. Please can you look at my comments again and clean up where necessary. Lots of whitespace changes where they aren't necessary at all. Also, you have custom code for the sleep mode which adds things to the display when going into sleep mode. Please remove this. I know it has an e-ink display but this menu / graphic is non-standard in the rest of the repo.

@jacobeva
Copy link
Copy Markdown

I have noticed quite a few areas where you have marked my comments as resolved but made no change. Please go back through all my comments again and make the changes.

Comment thread Boards.h
41, // pin_miso
15, // pin_busy
16, // pin_dio
12 // pin_reset
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

shouldn't there be a comma here after 12?

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes I think you're right actually.

@AlexSkorni
Copy link
Copy Markdown

Hi, I've tried to compile and apply your build. Firmware flashes successfully but freezes on e-ink display initialization. Device stops responding after flashing. Could you provide a pre-compiled binary for MeshPocket 10000mAh (868 MHz)?"

@TheBeadster
Copy link
Copy Markdown
Author

Hi,
I have had a lot of issues with the screen, I have spent all weekend trying to get it to work properly ,I am close now.
I have setup a 3 way test system with a Lillygo rnode on a remote pi and another locally to test transmits and the Q and S indicators and the waterfall.
so at the moment , wait a little I am very close to a much better experience.

I will send you a binary hopefully very soon
bd

@AlexSkorni
Copy link
Copy Markdown

Hi, I have had a lot of issues with the screen,
I see. I've tried to update your version a little bit (with Claude :-)) and compile, but finally I got issue with eInk and Meshpocket was not able to start..

I will send you a binary hopefully very soon bd
Thanks! Looking forward your update. Along with other Russians who own Meshpockets :-)

@shortwavesurfer2009
Copy link
Copy Markdown

I am looking forward to this. I have a MeshPocket 10,000 mAh US915

@TheBeadster
Copy link
Copy Markdown
Author

Screen is working, I am just fighting some bluetooth issues.

bd

@TheBeadster
Copy link
Copy Markdown
Author

I am working on the 10,000 mAh version. I am not sure what the Lora side difference there is with the smaller battery , I presume just the battery indicator.
bd

@AlexSkorni
Copy link
Copy Markdown

Screen is working, I am just fighting some bluetooth issues.
I didn't manage to get compiled build by myself working..
I got frozen display and silent node..

@AlexSkorni
Copy link
Copy Markdown

AlexSkorni commented Apr 6, 2026

I am working on the 10,000 mAh version. I am not sure what the Lora side difference there is with the smaller battery , I presume just the battery indicator. bd

Btw, is it possible to get interim build from you? in uc2 format.
It would be helpful at least for QA purposes.

@TheBeadster
Copy link
Copy Markdown
Author

This is my latest build

  1. I am still chasing a bluetooth comms issue
  2. This eInk doesn't like updates, this is best I have mananged to get, we w may have to dump live updates.
  3. There is a reliabilty issue with all rnodes and usb or BLE connections to android apps, where sometimes the RNS has to be restarted for them to connect, I haven't pinned it down yet, but it has caused me headaches.
    RNode_Firmware_CE.ino.zip

remember this is work in progress and SWMBO is wagging her finger about family time :-)

bd

@AlexSkorni
Copy link
Copy Markdown

This is my latest build
RNode_Firmware_CE.ino.zip
Thank you ! I will try to apply it and will revert back with outcome.

@AlexSkorni
Copy link
Copy Markdown

AlexSkorni commented Apr 6, 2026

Hi,
seems I am doing somwrhing wrong..
After flashing by command (Claude suggested it for that) :
adafruit-nrfutil.exe" dfu serial --package "C:\Users\Downloads\RNode_Firmware_CE.ino.zip" -p COM4 -b 115200
I've got sucsess message :
#####################
Activating new firmware
Device programmed.
but devise is frozen.

Could you please help me to understand how it should be flashed?

P.S.
What bootloader version is on your MeshPocket? I'm flashing successfully with adafruit-nrfutil (or direct upload uf2-file) but firmware doesn't start. The device still shows old screen. Do I need to update the bootloader first?

P.P.S.
Do I need to flash SoftDevice S140 before flashing your firmware? My MeshPocket has Meshtastic bootloader. The manifest.json shows softdevice_req: [182]

@TheBeadster
Copy link
Copy Markdown
Author

I used the Arduino CLI to flash it, Claude should help you do that.
also if you leave it connected on the usb Claude may be able to read the debug logs to see why it stopped.
the screen should start with 'Device Starting' then move to the normal screen. you can go back to the meshtastic any time to check the device is OK.
bd

@AlexSkorni
Copy link
Copy Markdown

I've tried to apply your FW by arduino-cli, but finally got the same issue :
after the FW has been successfully applied, the node is not started and frozen.

Would you please either provide exact instructions (commands) for flashing or share uf2-file instead?

@TheBeadster
Copy link
Copy Markdown
Author

This file works on both my Meshpocket 10000mAh devices.
ask claude to install it.
MeshPocket-test.zip

bd

@AlexSkorni
Copy link
Copy Markdown

Thank you!
It is not rocket science for me to copy uf2 to my Meshpocket :-)
However , last your zip-file I didn't manage to install even with Claude support :-(

@TheBeadster
Copy link
Copy Markdown
Author

:-) sorry for the talking down.

I am still fighting a BLE issue and ran out of time, then my rpi3 that I am using to test messages decided it's had enough of the real world, and a SSD hdd on my PC joined into the protest so I have to spent some time with
A. my wife.
B. my PC .
C. my remote Pi.

hopefully will get back on the meshpocket later in the week.

bd

@shortwavesurfer2009
Copy link
Copy Markdown

@AlexSkorni you do realize the zip file contains a uf2, right? You can just extract it.

@AlexSkorni
Copy link
Copy Markdown

AlexSkorni commented Apr 8, 2026

@shortwavesurfer2009 ,
sure, I've copied the file (after unzip it) to my Meshpocket - HT-n5262 (disck D:), but no luck - the same issue:

  • Screen on my Meshpocket is still frozen
  • Script python -c "import serial, time; s = serial.Serial('COM8', 115200, timeout=15); time.sleep(3); data = s.read(4000); print(repr(data)); s.close()"
    Show me jut b''

I had to come back to Meshtastic FW

@shortwavesurfer2009
Copy link
Copy Markdown

@AlexSkorni okay, just had to be sure. I know in a lot of cases, OTA things require the zip file, and direct installs from a computer require the UF2, and so I wasn't certain if you were trying to install the zip directly.

@shortwavesurfer2009
Copy link
Copy Markdown

I am also assuming that you are using a flash erase uf2 first such as the one provided by meshtastic or meshcore.

@shortwavesurfer2009
Copy link
Copy Markdown

shortwavesurfer2009 commented Apr 8, 2026

Right, it half worked for me.

meshPocket 10,000 mAh (HT-n5262)
Linux Mint Debian 7

I did the following:

  1. Download the test zip above from @TheBeadster
  2. Extract the uf2 from the zip
  3. Connect the node to the computer with the supplied cable.
  4. Enter DFU mode by quickly double pressing the reset button.
  5. Coppy nrf_erase2.uf2 (supplied by meshtastic flasher) to device by using file manager
  6. Device will disconnect.
  7. Re-enter DFU mode by pressing reset twice quickly on the node.
  8. Copy the test uf2 from @TheBeadster extracted in step 2 above to the device using the file manager.
    Node screen loads and eventually shows the following.
    2026-04-08-05-41-58-811

However, I can't get any farther than this as when I scan for an Rnode on Columba it does not show anything.

@AlexSkorni
Copy link
Copy Markdown

@shortwavesurfer2009 , oh, I skipped the step with erasing as I did't know abt that.
Thanks, let me follow your guide

@AlexSkorni
Copy link
Copy Markdown

AlexSkorni commented Apr 8, 2026

@TheBeadster , @shortwavesurfer2009 , myself along with Claude have managed to flash the FW, provided @TheBeadster.
Finally I've got the node worked (in spite of the display still show message "Missing config").
Please find instruction attached.
MeshPocket_RNode_Guide_EN.docx

Thank you all for your valuable help !

@shortwavesurfer2009
Copy link
Copy Markdown

@TheBeadster , @shortwavesurfer2009 , myself along with Claude have managed to flash the FW, provided @TheBeadster. Finally I've got the node worked (in spite of the display still show message "Missing config"). Please find instruction attached. MeshPocket_RNode_Guide_EN.docx

Thank you all for your valuable help !

Could you not have saved it out as a PDF or some other file format that's not some proprietary crapware?

@AlexSkorni
Copy link
Copy Markdown

AlexSkorni commented Apr 8, 2026

Here it is
MeshPocket_RNode_Guide_EN.pdf

However, radio is not initialized. Seems I've missed some specific parameters.
Try to continue

@AlexSkorni
Copy link
Copy Markdown

AlexSkorni commented Apr 8, 2026

@TheBeadster , @shortwavesurfer2009 , we with Claude have managed to fix all issues and upload firmware.
So display looks well
IMG_20260408_202103

New guide is also attached
MeshPocket_RNode_Guide_v2_EN.pdf

Thank you very much !

@TheBeadster
Copy link
Copy Markdown
Author

Hi Alex

config : I have been so deep in this and other stuff I forgot about the need for configuring it like other rnodes, did you find the device ID etc I set?

radio problems : yes, the version you have is midway in my fix for this issue, i tried to optimize the radio and broke it.
I am working on the new version

bd

@AlexSkorni
Copy link
Copy Markdown

config : I have been so deep in this and other stuff I forgot about the need for configuring it like other rnodes, did you find the device ID etc I set?

Yes, I've got it from begin of this topic and fed it to Claude. It provided me the config :-)

@jacobeva
Copy link
Copy Markdown

@TheBeadster Please commit your changes once you've completed the new version. Looking forward to it, good work so far!

@TheBeadster
Copy link
Copy Markdown
Author

Done lot more work and now have it at a place I think is OK. please test. I have been using it with Columba, however Columba does have some minor BLE issues which I have raised with Torlando. so bear that in mind.
meshpocket_meshnode_firmware_1.75_2026-05-08.zip

@TheBeadster
Copy link
Copy Markdown
Author

TheBeadster commented May 8, 2026

some instructions : the USR button on the right. hold for 3 seconds then you get a menu. to move to the next item is small press, to select the choice is long press. when it is sleeping the reset button will wake it. the sleeping screen has the ID on it so you don't have to turn it on to see which it is.
To Me - 2026-05-08 10 00 46
To Me - 2026-05-08 10 00 43

bd

@TheBeadster
Copy link
Copy Markdown
Author

The screen is also at a very low refresh rate, don't expect OLED type scrolling of the waterfall. be patient. the phone app give the best up to date info
bd

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.

5 participants