Featured

BuffaLoRa Meetup January – Join us!

📅 Sunday, January 11th @ 1:00pm – 3:00pm
📍Panera Bread – 1747 Sheridan Dr, Tonawanda, NY 14223
✉️ RSVP to hello@buffalora.org

Hope to see you there!

In the meantime connect with the community on LongFast or on Discord:

Featured

BuffaLoRa Meetup next week – Join us!

📅 Sunday, December 7 @ 1:00pm – 3:00pm
📍TBD – Please propose a location
✉️ RSVP to hello@snydermesh.com

Community feedback on date/time/location welcome. Join us on Discord to discuss:

Featured

Inexpensive Homemade Outdoor Solar Node

You can build your own Solar powered Meshtastic Node for less than $23. This project was inspired by the exceptional post on the official Meshtastic Blog: RAK WisBlock Harbor Breeze Solar Light Enclosure Hack.

Bill of Materials

Build materials
Disassembled Solar Light and build materials

Build instructions:

  1. Flash the Node with the latest version of the Meshtastic Firmware at Meshtastic Web Flasher
  2. Confirm that each component is working as expected before further assembly
  3. Disassemble the Solar Light by removing 4 screws
  4. Temporarily remove the 18650 Battery
  5. Separate the two boards of the Seed Xaio Kit
  6. Solder the wires to the corresponding battery contacts on the Seeed Xaio
  7. Optional: Swap out the LoRa antenna IPEX pigtail connector for the Optional SMA pigtail connector if using an external antenna
  8. Reassemble the Seed Xaio Kit
  9. Solder the other ends of the wires to the battery contacts being sure to respect the positive (+) and negative (-) terminal polarity.
  10. Optional: drill a hole in the Solar Light enclosure to allow for the installation of an SMA antenna connector pigtail and also install the LoRa antenna
  11. Secure the Seeed Xaio Kit and wires inside of the Solar enclosure. Be sure to route wires so they do not get pinched or damaged during re-assembly
  12. Reinstall the 18650 Battery being sure to respect the + and – terminal polarity.
  13. Test that the Solar light functionality works. The switch can be used to test the led lights. Make sure to cover the solar panel to simulate dark conditions
  14. Test that the Seeed Xaio Kit is functional in your chosen Meshtastic app over Bluetooth
  15. Optional: Add a dab of Waterproof Silicone Caulk to seal the hole made for the antenna connector and anywhere else water could intrude
  16. Reassemble the solar enclosure using the 4 screws and the two gutter/fence brackets and thumb screws
  17. Deploy somewhere with a good view of the sky and as high as possible for optimal LoRa range and Solar power, and enjoy!

You can toggle the Solar Light function on or off depending on your requirements.

UPDATE: Because of concerns about potentially no solar charging occurring with the light switch in the off position, I leave my node enclosure in the on position and snip the wire leading to the LED board to prevent lighting while still allowing for optimal Meshtastic battery performance. The battery will provide about a week of power for the node even without very sunny days. A few hours of full sun per week will keep the node running indefinitely. I have confirmed that I get daytime solar charging with limited overnight power draw since no lights are running.

Building the Backbone: Setting Up Your First MeshCore Repeater

Hey BuffaLoRa community!

Unlike the often-discouraged repeater devices in Meshtastic, repeaters are the lifeblood of a MeshCore network. Because MeshCore companion devices don’t rebroadcast, repeaters are essential for bridging your traffic across the network. While this requires more nodes overall to build out the map, MeshCore compensates by allowing up to 64 hops between nodes, among other benefits.

Plus, these repeater nodes don’t need to be the powerhouses we typically think of in a Meshtastic network. MeshCore repeaters can use the exact same hardware you may have previously used as simple clients. If you’re interested in helping build out our WNY MeshCore network, I’ve put together this guide to get you started.

Ready? Let’s dive in.

What you will need:

  • A LoRa radio: (RAK, Heltec, Seeed, LILYGO, etc.). Almost all devices supported by Meshtastic will work with MeshCore.
  • A semi-permanent location: MeshCore repeaters should be stationary.
  • A reliable power source: USB, 5V, batteries, or solar.

Flashing:

MeshCores web flasher in my experience is the easiest method of flashing the MeshCore firmware on your device.

1) Plug your device into a computer running Chrome or a Chromium-based browser (like Edge) and visit https://flasher.meshcore.co.uk/.

2) Select your device type. I usually start by typing the manufacturer’s name and then picking the specific board.

3) Choose “Repeater”

4) Flash your device. (Depending on your hardware, you may need to enter DFU mode first). Occasionally, you might get an error and need to repeat the process. The one time a flash failed for me, I just re-enabled DFU and tried again, and it worked perfectly the second time.

5) Note: MeshCore repeaters are not configured via Bluetooth! Select “Configure via USB.”

6) Configure your initial settings:

  • Change the preset to “USA/Canada.”
  • Give it a Name.
  • Set an Admin password. This is how you will manage the device going forward.
  • Send Advert (this helps your companion device find the new repeater).

7) Congratulations you now have a functional Meshcore Repeater!!

Next we will will cover some settings I recommend.

Recommended Settings

In order to configure a MeshCore Repeater, you must use a Meshcore core compaion device, or you can configure the node via USB using https://app.meshcore.nz/.

Start by selecting Settings and using the the Refresh icon to pull your device info. Check to ensure your Frequency is set to 910.525 MHz, and that you have your name set as your choosing.

Owner Info

Owner Info is visible if a repeater is configured with a blank “Guest Password.” I choose to include my Call Sign and email address so that if there’s ever an issue with my repeater, other MeshCore users can notify me. This is completely up to you

Advert Intervals

MeshCore is very light on flooding the network with announcements. Since we still have relatively few MeshCore Repeaters online in the spring of 2026, my recommendation is to set Zero Hop to 120 minutes, and Flood to 6 Hours.

Position

Whether you list your repeater’s position is your call. If you opt to set a position to help other Core users find your node, I have a few tips:

  • Use the map rather than a GPS module. GPS modules constantly drain energy, so I opt to leave them off my repeaters and set my position to a general vicinity rather than a precise location. Just select the Map, zoom into your area, pick a spot, and click the checkmark to save.

Sync Clock

Sometimes you need to reboot your device several times and re-sync to get the clock correct. (Don’t worry, this is a known issue).

Repeat Settings

To actually help build the network, I highly recommend you ensure “Repeat Mode” is enabled.

Those are my standard recommendations, though your final config may vary depending on your specific hardware and deployment location. If at any time you run into issues with MeshCore, please don’t hesitate to reach out to me on Discord at @Sid-NY.

Meshtastic vs. MeshCore

Meshtastic vs. MeshCore:

By Ehren Reynolds aka @Sid-NY on discord

Working in technology support and IT direction for over 16 years, I’ve seen countless network topologies succeed and fail. When it comes to building a resilient, off-grid communication backbone for Western New York, the challenge is unique. We need a system that can handle our notorious lake-effect weather, cover expansive terrain, and remain reliable when traditional grids go down.

Within the BuffaLora community, we frequently get asked: Which is better, Meshtastic or MeshCore? The truth is, neither is inherently superior—it completely depends on how you plan to use it. That is exactly why BuffaLora fully supports both platforms.

As we gear up this spring to deploy new solar-powered nodes across public properties and county parks, understanding the differences between these two protocols is crucial. Here is the breakdown.

Meshtastic: The Ad-Hoc Explorer

Meshtastic is the undisputed king of accessibility and ad-hoc networking. It is built on a dynamic, peer-to-peer architecture where every single node on the network (even the one in your pocket) can act as a relay to bounce messages.

  • Best For: Mobile groups, hiking, biking, or events where the network topology is constantly shifting.
  • Routing: It utilizes a managed flood routing protocol, meaning messages are broadcasted out and repeated by participating nodes to ensure delivery.
  • Hop Limits: By default, it uses 3 hops, with a maximum configuration of 7 hops.
  • The Vibe: It is incredibly fun for beginners. You flash a radio, open the app, and instantly become part of a living, breathing mesh, collecting node contacts as you move around.

MeshCore: The Infrastructure Backbone

While Meshtastic is fantastic for mobile groups, a dense network of moving nodes can eventually lead to congested airwaves. This is where MeshCore steps in. MeshCore adopts a structured, hierarchical network design. Instead of every device rebroadcasting, MeshCore uses fixed, dedicated “Repeater” nodes to handle the heavy lifting. The radios we carry—called “Companion” nodes—do not relay traffic, keeping the airwaves clear.

  • Best For: Fixed, static deployments like the solar repeaters we are mounting on rooftops and park structures across the 716.
  • Routing: MeshCore utilizes static path optimization; it floods the network to discover a route, embeds that specific path, and only falls back to flooding if the direct route fails.
  • Hop Limits: MeshCore can support an incredible 64 hops. This makes it vastly superior for covering the entire Buffalo metro area and beyond.
  • Airtime Efficiency: MeshCore is intentionally less “chatty.” It rarely pushes telemetry data (like battery or temperature) unless manually requested, dedicating more airtime to actual text messages.

Why BuffaLora Supports Both

We recognize that the 716 needs both types of connectivity. If you are heading out to the gorge with a group of friends and need an instant, portable network, Meshtastic is your best bet.

However, if you want to connect to a highly reliable, city-wide backbone that functions more like standard SMS—powered by the stationary, solar repeaters we are actively deploying—MeshCore is the future of our regional infrastructure.

No matter which firmware you choose to run on your LoRa hardware, there is a place for you in our grid.

Learn More

If you are curious about the technical reasons behind this shift for infrastructure, check out this excellent breakdown from EmComm Solutions:

This video discusses the differences between the two platforms and what you should consider before picking the right one for your environment and use case.

Infosec 716 January Virtual Meetup

For InfoSec 716’s first meetup of the new year, they are thrilled to announce featured speaker SnyderMesh, presenting “Meshtastic – Decentralized Community-Wide Off-Grid Messaging”. Come learn about some cool mesh radio stuff, along with security news, the Dumpster Fire Of The Month, and all the other usual shenanigans!

PLEASE NOTE: This will be a HYBRID EVENT. If InfoSec 716 members would like to join us in person, we’ll be meeting at the Bit Haven hacker space, suite 351 in the Tri Main Building. We will also be streaming the meetup via Discord and Twitch. Whatever works for you, I hope you can join us!

📅 Wednesday, Jan 21 from 6:00pm to 8:00pm

📍 Online registration: https://www.meetup.com/infosec-716/events/312130046/

📼 Recording: https://youtu.be/_DsATlXy814?si=xp2z07R0YDAao90v

📉 Materials: https://docs.google.com/presentation/d/1VVVoQMXMgPYCw-R4lRBwmBVR-49oiXRfKXbuCuBd8Vw/edit?usp=drivesdk

We look forward to the opportunity to make further partnerships in the Western New York region, connecting new nodes but most importantly connecting people.

Enabling Internet Messaging & MeshMap Position Sharing in Meshtastic

How BuffaLoRa nodes connect to the wider mesh

One of the most powerful features of Meshtastic is its ability to bridge local LoRa meshes to the Internet using MQTT (Message Queuing Telemetry Transport). This allows geographically separated meshes to interoperate and enables global visualization tools like MeshMap.net.

This guide walks through configuring a Meshtastic node to:

  • Connect to the official Meshtastic MQTT broker
  • Share node metadata and position reports
  • Appear on MeshMap while respecting privacy controls

The examples shown are from the Meshtastic mobile app, but the same concepts apply across platforms. For authoritative reference, see the official Meshtastic documentation:
https://meshtastic.org/docs/software/mqtt/


What Is MQTT in Meshtastic?

MQTT is a lightweight publish/subscribe protocol commonly used in IoT systems. In Meshtastic, MQTT allows:

  • Bridging messages between distant LoRa meshes
  • Relaying node telemetry and metadata
  • Publishing anonymized node locations for mapping

MQTT is completely optional. BuffaLoRa supports both RF-only operation and hybrid RF + Internet bridging. Each node operator controls how their node participates.


Step 1: Verify LoRa Configuration

Before enabling MQTT, confirm your LoRa settings are correct under Settings → LoRa Config.

  • Region: United States
  • Use Preset: ✅ Enabled
  • Preset: Long Range – Fast (BuffaLoRa default)
  • Transmit Enabled: ✅ On
  • Number of Hops: Set appropriately for your area

MQTT-Related LoRa Options

  • Ignore MQTT: ❌ Disabled
  • Ok to MQTT: ✅ Enabled

These settings explicitly allow your node’s traffic and metadata to be forwarded over MQTT when applicable.


Step 2: Enable MQTT

Navigate to Settings → MQTT Config and enable the following:

  • Enabled: ✅ On
  • MQTT Client Proxy: ✅ On
  • Connect to MQTT via Proxy: ✅ On
  • Encryption Enabled: ✅ On

Using the MQTT Client Proxy allows your phone’s Internet connection to act as the gateway, which is ideal for mobile and testing scenarios.


Step 3: Enable Map Reporting (MeshMap)

MeshMap.net relies on periodic MQTT map reports sent by participating nodes. To enable this:

  • Map Report: ✅ Enabled
  • Consent to Share Unencrypted Node Data: ✅ Enabled
  • Map Publish Interval: One Hour (recommended)

Map reports include node ID, name, hardware model, firmware version, LoRa region, modem preset, and approximate location. This data is one-way and does not allow remote control of your node.


Step 4: Configure Location Privacy

To balance visibility and privacy, Meshtastic allows you to share an approximate location instead of an exact GPS fix.

  • Approximate Location: ✅ Enabled
  • Location Radius: 1–2 miles recommended

Your node will appear on MeshMap near its actual position without revealing an exact address. BuffaLoRa strongly recommends this setting for personal or residential nodes.


Step 5: Confirm MQTT Server and Topic

Verify the MQTT connection details:

  • Server Address: mqtt.meshtastic.org
  • Root Topic: msh/US/NY/WNY

This topic structure places your node in the Western New York namespace, allowing regional grouping on MeshMap and other MQTT-based tools.

📌 Note: For MQTT message bridging (beyond map reporting), uplink and downlink must also be enabled on the desired channels.
Map reporting works independently.


Step 6: Enable MQTT Uplink and Downlink on Your Channel

Enabling MQTT globally allows your node to connect to the broker, but
message bridging requires per-channel configuration.
Each channel you want to bridge must explicitly allow MQTT uplink and/or downlink.

Navigate to Settings → Channels → (Select Channel).

  • MQTT Uplink: ✅ Enabled — publishes LoRa messages to MQTT
  • MQTT Downlink: ✅ Enabled — injects MQTT messages into the local mesh

With both enabled, messages can flow from local LoRa meshes to remote mesh users over the Internet.

⚠️ Important: Default MQTT Channel Zero-Hop Policy

By design, the default MQTT channel uses a zero-hop policy.

  • Messages arriving from MQTT are received by Internet connected mesh nodes on the same MQTT root topic
  • They are not re-transmitted beyond the receiving node
  • Downlinked messages are delivered locally but are not forwarded further over LoRa

This behavior prevents routing loops, limits congestion, and keeps MQTT bridging predictable. Multi-hop propagation of MQTT-originated traffic should only be enabled intentionally and with care.

Best Practices

  • Enable MQTT only on channels intended for wide-area use
  • Leave private or local-only channels unbridged
  • Be mindful that bridged traffic increases message volume

Note: MQTT uplink and downlink are not required for MeshMap position reporting. Map reports are configured separately under MQTT settings.

When Should You Use MQTT?

MQTT is especially useful for:

  • Linking with Internet connected BuffaLoRa nodes
  • Operating gateway or relay nodes
  • Visualizing regional coverage on MeshMap
  • Event, emergency, and coordination scenarios

For grid-down or RF-only operation, MQTT can be disabled at any time without affecting local LoRa functionality.


Final Thoughts

MQTT extends Meshtastic from a local LoRa chat network into a globally aware, loosely federated mesh while preserving user choice and privacy.

By following the configuration outlined above, your node will:

  • Participate in BuffaLoRa’s regional MQTT fabric
  • Appear on MeshMap.net with privacy controls
  • Strengthen situational awareness across Western New York

🦬 📡 BuffaLoRa — Building resilient mesh communications for Western New York

Building Resilient Communications for Grid-Down and Backcountry Scenarios

When the power goes out, cell towers fail, or connectivity simply doesn’t exist, communication quickly becomes the most critical resource. Whether you’re preparing for severe weather, extended grid outages, or heading deep into the backcountry, Meshtastic offers a proven, low-power, community-driven solution for staying connected when traditional networks aren’t available.

Originally developed with backcountry hiking and adventure travel in mind, Meshtastic has evolved into a powerful tool for emergency preparedness, disaster response, and community resilience.

Why Meshtastic Works When Everything Else Doesn’t

Meshtastic uses LoRa (Long Range) radio to create a self-healing mesh network. Each node acts as both a user device and a relay, passing messages onward to extend coverage well beyond what a single radio could reach.

  • No cell towers
  • No internet backbone
  • No subscriptions or SIM cards

As more nodes join the network, the mesh becomes
stronger, more redundant, and more reliable. This decentralized design is exactly what makes Meshtastic so effective during grid failures and in remote environments.

Proven in Real-World Disasters

Meshtastic is not theoretical — it has already been used in real emergencies:

  • Hurricanes in Florida — Community members deployed nodes
    to share information when cellular networks were overloaded or offline.
  • Eastern Tennessee / Asheville region — Mesh networks helped maintain local communications during storm-related outages.
  • Iberian Peninsula power outage — Large-scale grid failure highlighted the need for citizen-deployable, infrastructure-independent communications.

In each case, Meshtastic helped fill the gap left by centralized systems, allowing communities to coordinate, share status updates, and maintain
situational awareness.

GPS Tracking, Position Beacons, and ATAK Integration

One of Meshtastic’s most powerful features is GPS position beaconing. Many devices include built-in GPS and periodically transmit their location
across the mesh.

  • Group tracking for hikes and expeditions
  • Accountability during emergencies
  • Real-time visibility of active nodes

For advanced use cases, Meshtastic integrates with
ATAK (Android Tactical Assault Kit), allowing mesh-based chat and GPS data to appear directly on shared maps. This dramatically improves situational awareness for coordinated teams.

Beyond Messaging: Turning Mesh into a Local Service Network

When Meshtastic is paired with a low-power computer such as a Raspberry Pi, small x86 system, or Docker container, the mesh becomes far more than just a messaging platform.

Mesh-Connected BBS and Local Services

  • Store-and-forward messaging
  • Community message boards
  • Surveys and voting
  • Check-in / check-out systems
  • Inventory tracking and basic transactions

Online When Available, Offline When Needed

When internet access is intermittently available, a mesh-connected BBS node can pull in weather alerts and forecasts and redistribute them locally across the mesh.

When completely offline, store-and-forward messaging continues to function, ensuring critical information is never lost.

Offline Knowledge and AI Tools

With sufficient storage, mesh-connected systems can also provide:

  • Offline Wikipedia summaries using Kiwix
  • Cached documents and local reference libraries
  • Local AI chat and search tools using open large language models, enabling information access without the internet

Power Efficiency and Everyday Carry Devices

Meshtastic devices are designed for ultra-low power consumption, making daily carry and regular use practical.

  • Seeed T1000-E and RAK WisMesh devices
    typically achieve 2–3 days of battery life
  • Heltec PocketMesh devices with e-ink displays can operate
    for 2–3 weeks on a single charge

Some devices also offer everyday utility features such as e-ink status displays and MagSafe / Qi phone charging, making them useful even outside of emergencies.

Solar Nodes: Affordable, Durable, and Always On

Permanent mesh infrastructure does not have to be expensive. DIY solar nodes can be built using hardware-store outdoor solar lights as enclosures,
18650 lithium batteries, and low-power LoRa radios.

These nodes can run for a week or more without sun and recharge fully in about one day of good sunlight.

For turnkey solutions, prebuilt solar nodes from vendors such as Seeed and PeakMesh are available starting around $100 and up.

The Most Important Prep: Community and Partnership

Technology alone does not create resilience – people do. The BuffaLoRa mesh has already grown substantially, expanding coverage and strengthening regional preparedness.

We are deeply grateful for partnerships with BARRA and the opportunity to interconnect key sites such as
Cole Road and Kimball Hall repeater locations.
These collaborations are critical to building a resilient communications network.

Stronger Together

Meshtastic empowers individuals, but it thrives through collective effort. Whether you are preparing for emergencies, exploring the backcountry, or experimenting with decentralized communications,
joining and using the mesh makes everyone stronger.

Preparedness isn’t just gear — it’s community.
And community is what makes the mesh strong.

Success! Performing an OTA Bluetooth Firmware Update on a Meshtastic Node

One of the questions that comes up frequently in the BuffaLoRa community is: “How hard is it to update Meshtastic firmware over Bluetooth?” This week, I finally took the plunge and successfully performed an OTA (Over-The-Air) Bluetooth firmware update on one of my nRF52 based Meshtastic nodes (RAK WisMesh Tag) from iOS—and I’m happy to report that it worked exactly as advertised.

This post walks through the experience, highlights a few practical tips, and shows what the process looks like in the real world.

Why OTA Updates Matter

OTA firmware updates are a big deal for Meshtastic deployments, especially for:

  • Nodes mounted in hard-to-reach places
  • Solar or remote installations
  • Community mesh infrastructure where physical access is limited

Being able to update firmware wirelessly over Bluetooth saves time, reduces risk, and lowers the barrier to keeping nodes secure and up to date.

Following the Official Meshtastic Guide

I followed the official Meshtastic documentation for nRF52 OTA updates, which you can find here:
👉 https://meshtastic.org/docs/getting-started/flashing-firmware/nrf52/ota/

The guide is clear and well-structured, and it closely matches what you’ll see in the Meshtastic tooling.

Step 1: Download the Latest Stable Firmware

Before opening any mobile apps, I first downloaded the latest stable Meshtastic firmware for my hardware.

I navigated to the official Meshtastic downloads page:
👉 https://meshtastic.org/downloads/

From there, I followed the link to the Official Meshtastic GitHub releases and downloaded the appropriate firmware ZIP file for my node.

For my device (an nRF52840-based node), the correct file was:

firmware-nrf52840-2.7.15.567b8ea.zip

I downloaded the ZIP file locally on my phone so it would be available to select during the OTA update process.

I then used the Files app to open and “unzip” this file, allowing access to the device specific ZIP files within.

Click the ZIP file to unzip contents to a folder of the same name

Step 2: Launch the nRF Device Firmware Update App

All subsequent steps were performed using Nordic Semiconductor’s nRF Device Firmware Update app, which is required for Bluetooth DFU.

The app is available on the Apple App Store:
nRF Device Firmware Update (iOS)

Once installed, I opened the app and saw that I landed on the Firmware Upgrade screen.

Step 3: DFU Settings Changes

Before starting the update, I clicked on Settings to review and edited the DFU settings in the app:

  • Packets receipt notification: Enabled
  • Number of Packets: 5 (Reduce from defaults)
  • Alternate Advertising Name: Enabled
  • Disable resume: Left off
  • Force scanning: Enabled
  • External MCU DFU: Enabled

DFU settings screen, which closely matches the options described in the Meshtastic documentation

It is critical to change the “Number of Packets” setting to a lower number. This ensures that less data is sent to the device over Bluetooth at a time between confirmations during the OTA update process. The other default settings worked perfectly for my node—no additional tuning required.

Click back to the Firmware Upgrade screen to save the changes.

Step 4: Selecting the Firmware and Device

Within the nRF Device Firmware Update app screen, I selected:

  • The unzipped folder created from the downloaded firmware ZIP file (firmware-nrf52840-2.7.15.567b8ea) and navigated within to select an embedded ZIP file specific to my device (firmware-rak_wismesh_tag-2.7.15.567b8ea.zip)
  • The target device (shown as Meshtastic_65c2)

At this point, the app verified the file and prepared the device for DFU (Device Firmware Update) mode.

Step 5: DFU Initialization and Upload

I then clicked Upload. Once initiated, the app walked through the DFU process automatically:

  • ✅ Bootloader enabled
  • ✅ DFU initialized
  • ⬆️ Uploading firmware

The progress bar advanced steadily, and the app provided real-time feedback, including transfer speed. In my case, the upload ran at about 1.5 kB/s, which is normal for Bluetooth LE DFU.


Firmware Upgrade screen shows the firmware file selected, the device identified, and the update process beginning.

Tip: Avoid backgrounding the app or letting your phone lock during the upload.

Completion and Results

Once the firmware upload completed, the node rebooted and reconnected normally. After reconnecting:

  • The node reported the new firmware version
  • Existing configuration and channels were preserved
  • No manual recovery steps were required

In short: a smooth, successful OTA update.

The OTA Firmware Update was a success!

⚠️ Common DFU Pitfalls (and How to Avoid Them)

  • Using the wrong firmware file:
    Always confirm the firmware matches your hardware (e.g., nrf52840 vs nrf52832). Flashing the wrong target can result in a non-booting node.
  • Unzipping the firmware:
    The nRF Device Firmware Update app expects the ZIP file for your device. You will need to unzip the downloaded file for the release but do not also extract the device specific one too before selecting it in the app.
  • Letting your phone lock or background the app:
    Bluetooth DFU is sensitive to interruptions. Keep the screen on and the app in the foreground until the upload completes.
  • Low battery on the node:
    Make sure your Meshtastic node has sufficient power (or is plugged in). A power loss mid-update can require recovery flashing over USB.
  • Bluetooth range issues:
    Stay physically close to the node during DFU. Even moderate interference or distance can slow transfers or cause failures.
  • Impatience during slow uploads:
    Transfer speeds of 1–2 kB/s are normal for BLE DFU. Slow does not mean stuck—give it time.
  • Forgetting to reconnect after reboot:
    After DFU completes, the node may briefly disappear from Bluetooth. Simply rescan and reconnect once it finishes rebooting.

Takeaways for the BuffaLoRa Community

  • ✅ OTA Bluetooth updates are possible for Meshtastic nRF52 nodes on iOS
  • 🧭 Using the official firmware and tools minimizes risk
  • 📱The nRF Device Firmware Update app provides excellent visibility
  • 🗺️ This process is well-suited for remote or elevated deployments

If you’ve done an OTA update—or are planning one—consider sharing your experience with the BuffaLoRa community. The more we document real-world workflows, the easier it becomes for everyone to grow the mesh.

📡 Stay connected, and keep the mesh strong.