Skip to content

Repository files navigation

NeonPocketMC pocket mesh logo

NeonPocketMC

One bright interface for pocket-sized MeshCore radios.

One release catalog for the NeonPocketMC firmware family. This repository pins the exact released source for every supported RadioCore build and links to each product-owned download.

Choose by exact hardware and role. There is no universal image. Never cross-flash D1L, RC52, RCC6, Heltec V3, or Heltec V4 firmware. Attach a suitable LoRa antenna before transmitting.

Guided Web Flasher

Open flasher.canadaverse.org in Chrome or Edge to choose exact hardware, transport, role, screen, WebUI, observer, repeater, or Room Server features. It detects the connected device family, verifies every release checksum, flashes without a whole-chip erase, checks the reboot, and guides supported server onboarding before USB is disconnected.

The Pi-hosted interface proxies immutable binaries from their owning GitHub releases; it does not keep a second firmware archive. Native-USB companion images use the standard binary MeshCore companion protocol and are separate from BLE or Wi-Fi images.

Demo-scene boot

NeonPocketMC animated demo-scene boot sequence

The TFT builds open with a 3.2-second procedural NeonPocketMC sequence: vector-pocket reveal, mesh nodes, chromatic title glitch, star field, raster beam, specular sweep, staged link status, and a final MESH READY lockup. This GIF contains 27 checksum-verified frames captured directly from the RCC6 framebuffer—not a mockup. RC52 companions and TFT Room Servers use the same visual language with role-specific status text.

Capture provenance and checksums are recorded in docs/images/demoscene/README.md.

RCC6 Ultimate companion UI

Ultimate keeps the radio useful without a phone: unread-first Home, complete paged messages, recent-node context, live radio health, device tools, and the one-button composer. These are direct 220×128 framebuffer captures from the connected RCC6 production renderer—not browser mockups.

RCC6 Ultimate unread-first Home
Home
RCC6 Ultimate paged Inbox
Inbox
RCC6 Ultimate Network Explorer
Network Explorer
RCC6 Ultimate Radio analytics
Radio analytics
RCC6 Ultimate Tools
Tools
RCC6 Ultimate Power confirmation
Power
RCC6 Ultimate one-button target picker
Target picker
RCC6 Ultimate one-button phrase composer
Quick composer

Capture provenance is recorded in docs/images/rcc6-ultimate/README.md.

RCC6 classic UI

These are direct, pixel-for-pixel captures of the 220×128 framebuffer running on an RCC6—not mockups. They were captured from a temporary diagnostics build based on the exact v1.2.0-rc.1 source; the capture hook is not included in public firmware.

RCC6 NeonPocketMC Home dashboard
Home
RCC6 NeonPocketMC Nearby page
Nearby
RCC6 NeonPocketMC Radio statistics
Radio statistics
RCC6 NeonPocketMC Advert action
Mesh advert
RCC6 NeonPocketMC Quick Reply page
One-button Quick Reply
RCC6 NeonPocketMC Diagnostics page
Diagnostics
RCC6 NeonPocketMC Power confirmation
Power confirmation

Capture provenance and checksums are recorded in docs/images/rcc6-ui/README.md.

RCC6 Ultimate service dashboards

The Ultimate Observer and full Room Server share a responsive local dashboard for field status, radio health, MQTT visibility, and recently heard mesh activity. These are real browser captures from the released RCC6 server firmware, not design mockups.

RCC6 Ultimate Observer overview dashboard
Live overview
RCC6 Ultimate Observer radio metrics
Radio metrics
RCC6 Ultimate Observer MQTT dashboard
MQTT status
RCC6 Ultimate Observer recently heard mesh map
Recently heard mesh

Capture provenance and checksums are recorded in docs/images/rcc6-server/README.md.

Live Heltec OLED UI

These frames were captured from the OLED framebuffer running on the physical Heltec V3 qualification unit. The Heltec V4 uses the same compact NeonPocket interaction model with its own board and radio-power implementation.

NeonPocketMC demo-scene boot captured from the Heltec V3 OLED

Heltec V3 NeonPocket Home
Home
Heltec V3 NeonPocket Bluetooth
Bluetooth
Heltec V3 NeonPocket Advert
Advert
Heltec V3 NeonPocket Power
Power

Heltec V4/V4.3

NeonPocketMC demo-scene boot captured from the Heltec V4 OLED

Heltec V4 NeonPocket Home
Home
Heltec V4 NeonPocket Nearby
Nearby
Heltec V4 NeonPocket Radio
Radio
Heltec V4 NeonPocket Bluetooth
Bluetooth
Heltec V4 NeonPocket Advert
Advert
Heltec V4 NeonPocket Power
Power

Capture provenance and checksums are recorded with each device gallery under docs/images.

ULP Solar Repeaters

NeonPocketMC ULP Solar Repeaters are experimental MeshCore 1.17.1 builds for Heltec V3/V4, RAK4631, RAK3401 1 W, Xiao ESP32-S3, Xiao nRF52840, RCC6, and RC52. RCC6 and RC52 each have separate headless and 220×128 TFT images.

Power saving is ON by default on new installs. The recommended balanced profile combines MCU sleep with SX1262 receive duty cycling; the simple USB configurator handles name, radio preset, transmit power, admin password, and the ULP level before deployment. This work is based on and fully attributes IoTThinks' EasySkyMesh power-saving implementation.

RX duty cycling trades receive availability for energy savings and can miss packets. Solar deployments still require a protected battery and an external MPPT/charge controller matched to the panel and cell—never connect a raw panel directly to VBAT or USB.

Current builds

Each product release is pinned to an exact source commit and artifact checksum in catalog.json. Board-specific bootloaders, partitions, displays, and radio power paths remain separate.

Hardware Role Current release Normal install
Heltec WiFi LoRa 32 V3 + OLED BLE, native-USB, Ultimate Web companion, or Ultimate Repeater WebUI v2.0.0-rc.1 Flash the selected app .bin at 0x10000
Heltec WiFi LoRa 32 V4 + OLED BLE, native-USB, Ultimate Web companion, or Ultimate Repeater WebUI v2.0.0-rc.1 Flash the selected app .bin at 0x10000
RC52-L62 + NV3001B TFT BLE or native-USB companion with NeonPocket UI v1.1.0-rc.4 Copy the selected .uf2 to the RC52 bootloader drive
RC52-L62 without TFT Screenless BLE companion; pairing PIN 123456 v1.0.0-rc.1 Copy the BLE .uf2 to the RC52 bootloader drive
RC52-L62 Headless low-power repeater v1.1.0-rc.2 Copy the repeater .uf2 to the RC52 bootloader drive
RC52-L62 Headless Room Server v1.1.0-rc.2 Copy the headless Room Server .uf2
RC52-L62 + NV3001B TFT Room Server with local dashboard v1.1.0-rc.2 Copy the TFT Room Server .uf2
RCC6 + NV3001B TFT Ultimate BLE, native-USB, or Wi-Fi Web companion v2.3.0-rc.5 Flash the selected app .bin at 0x10000
RCC6 without TFT Screenless BLE, native-USB, or Wi-Fi Web/TCP companion v1.0.0-rc.3 Flash the selected app .bin at 0x10000
RCC6 Ultimate MQTT observer/repeater with setup WebUI v1.3.0-rc.3 Flash the observer app at 0x10000, then run the configurator
RCC6, TFT optional Ultimate minimal or full Room Server v1.3.0-rc.3 Pick minimal/full and headless/TFT, then flash its app at 0x10000
V3, V4, RAK4631, RAK3401 1 W, Xiao ESP32-S3/nRF52840, RCC6, RC52 Experimental ULP Solar Repeater; RCC6/RC52 headless or TFT v1.0.0-rc.2 Pick the exact board image; use app-only .bin at 0x10000 or matching nRF52 .uf2
SenseCAP Indicator D1L DeskOS touch companion with repeater and room management v1.7.9 Existing DeskOS: app at 0x20000; fresh install: full 8 MB image at 0x0

The RCC6 Web companion and networked service builds now use human-first dashboards with traffic bars, delivery and signal analytics, nearby-radio freshness, and coordinate-backed maps that never invent node locations. The MQTT observer/repeater defaults to 3-byte packet hash mode. Its Windows/Linux configurator covers node name, radio preset and custom radio values, Wi-Fi, MQTT broker selection, and post-setup IP discovery. The preferred public brokers are mqtt1.meshcore.ca and mqtt2.meshcore.ca; the other upstream-compatible brokers remain selectable/configurable.

Download the suite

Use the newest NeonPocketMC suite release as the index. It carries the machine-readable catalog and checksum for the catalog; the product repositories above remain the single owners of their firmware binaries and setup packages.

Exact install filenames, sizes, SHA-256 values, release links, and source commits for every installable file are recorded in catalog.json.

Source layout

The ten firmware histories intentionally remain separate because they target different chips, bootloaders, transports, displays, and deployment roles. This repository indexes them as pinned Git submodules:

firmware/
  heltec-v3-companion/
  heltec-v4-companion/
  rc52-companion/
  rc52-headless-companion/
  rc52-repeater/
  rcc6-companion/
  rcc6-headless-companion/
  rcc6-mqtt-repeater/
  ulp-solar-repeaters/
  deskos-meshcore/

Clone the exact suite source with:

git clone --recurse-submodules https://github.com/n30nex/NeonPocketMC.git

If already cloned:

git submodule update --init --recursive

Important hardware notes

  • RC52: use the UF2 bootloader path for normal installs. Do not replace the SoftDevice or bootloader. The dedicated screenless BLE build uses fixed pairing PIN 123456.
  • Heltec V3/V4: use the matching app image at 0x10000 for normal updates. Do not erase the whole flash; full-chip backups can contain private MeshCore identity material.
  • RCC6: use the app image at 0x10000 for normal updates. Use a merged recovery image at 0x0 only when bootloader/partition recovery is required. Do not erase the whole flash.
  • SenseCAP Indicator D1L: use the DeskOS update image at 0x20000 on an existing install. The full 8 MB image at 0x0 is destructive and only for a fresh or unrecoverable device. The RP2040 SD bridge uses a separate UF2/BOOTSEL step; neither path formats the SD card.
  • RCC6 merged recovery images stop well before SPIFFS and preserve MeshCore identity, contacts, channels, and preferences; they reset NVS-backed BLE bonds and saved Wi-Fi.
  • The RC52 and RCC6 boards do not contain an MPPT controller suitable for an unregulated solar panel. Outdoor solar installs need an external regulator/charger matched to the panel and protected 1-cell battery.
  • ULP Solar Repeaters are community builds based on IoTThinks EasySkyMesh power-saving work; they are not official IoTThinks, Heltec, RAKwireless, Seeed Studio, or MeshCore firmware.

See FLASHING.md for practical install and recovery instructions.

Room Server profiles, animated companion startup, RCC6 Diagnostics, and one-button Quick Reply are now shipped as prerelease candidates. Remaining improvements are tracked in docs/STACK_ROADMAP.md.

Verification

scripts/verify_catalog.py confirms each Git submodule pin, release URL, digest, and catalog invariant. Product repositories retain their own exact-target build workflows and hardware-specific release evidence.

Root documentation and catalog code are MIT licensed. Each of the ten firmware submodules retains its own upstream and third-party licenses.

About

Unified NeonPocketMC catalog for companion, service, and ULP solar MeshCore firmware across RC52, RCC6, Heltec, RAK, and Xiao radios

Topics

Resources

Contributing

Security policy

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages