<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Meshcore on Philly Mesh</title><link>https://prm.boda.dev/tags/meshcore/</link><description>Philly Mesh (Meshcore)</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><lastBuildDate>Fri, 02 Oct 2026 00:00:01 +0000</lastBuildDate><atom:link href="https://prm.boda.dev/tags/meshcore/index.xml" rel="self" type="application/rss+xml"/><item><title>Meshcore 500 Changes</title><link>https://prm.boda.dev/2026/10/02/mc-500-changes/</link><pubDate>Fri, 02 Oct 2026 00:00:01 +0000</pubDate><author>RightSizedAlpaca</author><guid>https://prm.boda.dev/2026/10/02/mc-500-changes/</guid><description>&lt;p>&lt;strong>(tl;dr - Based on Philly testing, in Philly for MeshCore (primary mesh) we will move to freq=919.500, bw=500, sf=10, cr=5. In Philly for Meshtastic (secondary mesh) we will stay on LongTurbo-0.)&lt;/strong>&lt;/p>
&lt;a href="https://prm.boda.dev/2026/10/02/mc-500-changes/FreqChange.png">&lt;img src="https://prm.boda.dev/2026/10/02/mc-500-changes/FreqChange_hu_ac5a859629c276c9.webp" alt="Philly Mesh Frequency Change Summary">
&lt;/a>&lt;p>Hey Philly Mesh nerds (affectionate),&lt;/p>
&lt;p>We&amp;rsquo;ve been on MC500 for the past month, and the mesh itself has been working amazingly well with the community on board. It was a hurdle for many of us to get nodes flashed to new firmware, install new apps, learn new lingo, and just overall change everything. Change is hard, change is tiring, but y&amp;rsquo;all have also made change fun. So thank you for that.&lt;/p>
&lt;p>We have gotten a LOT of outside-of-the-mesh feedback on our change as well. There is a raging debate as to whether the previous 62.5 kHz (MeshCore) or 250 kHz (Meshtastic) settings are actually non-compliant (we&amp;rsquo;re not lawyers but we think they are), whether the FCC will enforce the regs (still doesn&amp;rsquo;t change the non-compliance), whether we should care (we do), and whether the changes are good for the nationwide mesh (we don&amp;rsquo;t know, our work and decisions were focused on Philly alone).&lt;/p>
&lt;p>Our &lt;a href="https://prm.boda.dev/2026/09/02/fcc-regulations">9/4/2026 post and proposed change&lt;/a> was for the local PhillyMesh community, and we didn&amp;rsquo;t expect people to think we were trying to propose a new nationwide standard. We still believe one default frequency for everyone in the US on MeshCore at the 500 kHz bandwidth isn&amp;rsquo;t feasible (more about that below), but we love folks from all over the country popping in to discuss what we&amp;rsquo;ve found on Discord.&lt;/p>
&lt;p>There are two very important points that have been brought up to us that are significant and need to be addressed. In our initial rush to become FCC compliant, we missed the mark, and because of that, we &lt;em>will&lt;/em> have to move frequencies one more time. Additionally, we made a region-wide recommendation on a timeline that left no room to hear objections from the community, or from each other. We should have asked first, and we&amp;rsquo;d likely have caught some of this if we had.&lt;/p>
&lt;a href="https://prm.boda.dev/2026/10/02/mc-500-changes/Changes.jpg">&lt;img src="https://prm.boda.dev/2026/10/02/mc-500-changes/Changes_hu_df8ece2d3db11848.webp" alt="Memes for Philly Mesh Unintentionally Being Drama Llamas">
&lt;/a>&lt;h2 id="issue-1-were-not-alone-eerie-alien-static" >Issue 1: We&amp;rsquo;re Not Alone *eerie alien static*
&lt;span>
&lt;a href="#issue-1-were-not-alone-eerie-alien-static" title="Direct Link to Issue 1: We&amp;rsquo;re Not Alone *eerie alien static*">
&lt;svg viewBox="0 0 28 23" height="100%" width="19" alt="" xmlns="http://www.w3.org/2000/svg">&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;/svg>
&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>Okay, so we don&amp;rsquo;t share the airwaves with extraterrestrials (that we know of) but we do share them with Amateur Radio Operators, affectionately known as hams. The 902-928 ISM Band that we&amp;rsquo;ve been using for Meshtastic and MeshCore is also known as the 33cm Amateur Radio Band. We knew this when we picked the new frequency and we listened and listened and we heard no one using the frequency we picked for MC500. BUT, we have since learned, the frequency we picked is where hams do &amp;ldquo;weak signal work&amp;rdquo; aka the worst possible place for us to add interference. It&amp;rsquo;s also in conflict with a repeater uplink frequency that &amp;ndash; while infrequently used in the Philly area &amp;ndash; is rude of us to knowingly interfere with now that we know it&amp;rsquo;s there. The hams in OpsDiv also had a misunderstanding of prioritization of the band: we thought Amateur Radio and unlicensed mesh activities were both secondary on the ISM band, when in fact Amateur Radio is secondary and unlicensed activity is last priority.&lt;/p>
&lt;p>&lt;em>We messed this up in our original frequency pick, but we&amp;rsquo;ve put a lot more work and outreach into the new choice&lt;/em>, and we&amp;rsquo;ve reached out to other ham clubs that operate in 33cm (and everywhere else) for better coordination with our new frequency selection. We&amp;rsquo;re also getting their input to make sure there aren&amp;rsquo;t any other *Rumsfeld voice* &amp;ldquo;unknown unknowns&amp;rdquo; since none of the hams in PRM OpsDiv regularly work the 33cm band.&lt;/p>
&lt;a href="https://prm.boda.dev/2026/10/02/mc-500-changes/33cmBand.jpg">&lt;img src="https://prm.boda.dev/2026/10/02/mc-500-changes/33cmBand_hu_d9db1af6d2ecf6e2.webp" alt="Memes for Philly Mesh Not Respecting the 33cm Amateur Radio Band">
&lt;/a>&lt;h2 id="issue-2-our-radios-are-dirtier-than-a-phl-terminal-e-restroom" >Issue 2: Our Radios Are Dirtier Than a PHL Terminal E Restroom
&lt;span>
&lt;a href="#issue-2-our-radios-are-dirtier-than-a-phl-terminal-e-restroom" title="Direct Link to Issue 2: Our Radios Are Dirtier Than a PHL Terminal E Restroom">
&lt;svg viewBox="0 0 28 23" height="100%" width="19" alt="" xmlns="http://www.w3.org/2000/svg">&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;/svg>
&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>This one caught us off guard, pun intended. There is &lt;a href="https://beala.substack.com/p/the-fcc-want-me-to-use-more-bandwidth">a great writeup here&lt;/a> that describes the issue (and our folly) nicely and fairly.&lt;/p>
&lt;p>We had assumed that the channelization of Meshtastic meant that operating within those channels on devices that are FCC approved was safe and legal. Kinda like when you get a walkie talkie (aka FRS radio) and it&amp;rsquo;s got channels 1 through 14, you can operate on channel 1 without issue.&lt;/p>
&lt;p>We improperly put that trust in the firmware and we have since learned that the hardware has been found in testing to NOT be clean enough to run like this. Some radios aren&amp;rsquo;t too dirty, some are very dirty. This means Meshtastic Frequency Slot 1 and 2 (or just Slot 1 on LongTurbo) is transmitting outside of the 902-928 ISM Band on some radios, which is against FCC regs. So yeah, we assumed using MeshCore at these same frequencies was okay but &lt;em>we messed this up too and we apologize.&lt;/em>&lt;/p>
&lt;p>This is a problem we knew ham radios have, but they&amp;rsquo;re blasting 20, 100, 1500W of output power on an antenna not perfectly tuned for the frequency. We didn&amp;rsquo;t know, say, a teeeeeny tiny lil&amp;rsquo; Seeed Xiao radio outputting 0.125W on a perfect SWR antenna also has this problem. And it&amp;rsquo;s exacerbated by the wider bandwidth we&amp;rsquo;re using. So yeah, we moved to 902.250 to be complaint (compared to previous bandwidth settings) and yet even after that some radios are still on the edge of non-compliance.&lt;/p>
&lt;h2 id="what-were-doing-about-it" >What We&amp;rsquo;re Doing About It
&lt;span>
&lt;a href="#what-were-doing-about-it" title="Direct Link to What We&amp;rsquo;re Doing About It">
&lt;svg viewBox="0 0 28 23" height="100%" width="19" alt="" xmlns="http://www.w3.org/2000/svg">&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;/svg>
&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>As described in Issue #1, we&amp;rsquo;ve already reached out to more ham clubs. We had already received input from GCARC, but now we&amp;rsquo;ve reached out to the clubs that operate the 33cm band repeaters in Philly too with not a lot of response back. If you&amp;rsquo;re operating or using a 33cm repeater - and reading this and you&amp;rsquo;ve got input, send us an email at &lt;a href="mailto:hello@phillymesh.net">hello@phillymesh.net&lt;/a> or join our &lt;a href="https://discord.gg/MWWbAkRR9v">Discord&lt;/a> to chat. Regardless, to proactively avoid interfering with 33cm usage, the best spot in the band plan is middle-ish of the 902-928 ISM Band (which also fixes Issue #2 because we&amp;rsquo;re far away from the band edge).&lt;/p>
&lt;p>In the Philly area, we have spent a LOT of time this past month listening to SDRs, comparing where interference is bad in the Philly area vs where it isn&amp;rsquo;t, and then putting those observations into action by trying a few of the promising spots. Many of the potential &amp;ldquo;national presets&amp;rdquo; being discussed, including using the existing 910.525 at 500 kHz bandwidth, have been proven by our testing to NOT work well in the Philly area.&lt;/p>
&lt;p>After our testing, we have a few changes that we will be making for where/how we operate our mesh going forward.&lt;/p>
&lt;ol>
&lt;li>
&lt;p>&lt;strong>Frequency:&lt;/strong> Based on the issues with being on the band edge and in the weak-signal-work zone of the 902-928 ISM Band, we looked for a spot in the middle of the 902-928 ISM Band and &lt;strong>we have landed on 919.500 MHz&lt;/strong> for a center frequency. We have confirmed that there are no listed conflicts with hams at this specific spot via RepeaterBook and the ham clubs we&amp;rsquo;re in contact with. Again if there is something we missed, PLEASE reach out to us.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Spreading Factor:&lt;/strong> Also abbreviated to SF, this is a parameter that describes how a LoRa transmission encodes its signal over time. High number SFs mean that the chirp signal is spread over a longer duration, so the data rate is lower but can travel farther. Lower number SFs mean the signal is compressed into a shorter duration, so the data rate is higher but it typically results in shorter ranges.&lt;/p>
&lt;ul>
&lt;li>Our assumption when moving to 500 kHz bandwidth (and corroborated by some of the MeshCore and Meshtastic blogs) was that we would have to use SF11 for links to survive the wider bandwidth (which impacts range) as well as the higher interference. Basically &amp;ldquo;talk slower to be better understood&amp;rdquo;&lt;/li>
&lt;li>That assumption was proven incorrect based on our testing. Faster SF10 (instead of slower SF11) has shown to work best with our settings. Our theory is that the longer SF11 transmit time means that there is more likelihood that the packet will get interfered with by 902-928 ISM Band noise. Finishing the transmission quicker using SF10 means less opportunity for random 902-928 ISM Band noise to interfere. This is a balance because moving even lower in SF does indeed degrade link quality. This balance is something we&amp;rsquo;re going to continue to monitor and OpsDiv may prescribe additional testing in the future. For now we believe we&amp;rsquo;ve struck the right balance for the mesh we have now with SF10.&lt;/li>
&lt;li>A nice upside of this SF pick is that it is noticeably faster and &amp;ldquo;snappier&amp;rdquo; for the end-user to manage repeaters over LoRa.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Hashtag Channels:&lt;/strong> To help keep the future mesh&amp;rsquo;s conversations and messages organized, we are asking all MeshCore users to make a behavior change from the previous Meshtastic &amp;ldquo;post everything on LongFast&amp;rdquo;. MeshCore lets you add &amp;ldquo;hashtag&amp;rdquo; channels, aka you don&amp;rsquo;t need a PSK like in Meshtastic.&lt;/p>
&lt;ul>
&lt;li>Public - This is the default channel that is pre-setup (you don&amp;rsquo;t need to add this). Also the one most likely to be used by neighboring meshes once we interconnect.&lt;/li>
&lt;li>#prm - Please add this one and use it as the main channel to talk within the Philly metro area. The mindset here is if neighboring meshes use the same MeshCore preset/settings, the Public channel may get busy with wide-area traffic and may inhibit some of the great local conversations we had when testing a Philly-only mesh.&lt;/li>
&lt;li>#test - For the &amp;ldquo;Can you hear me now?&amp;rdquo; that inevitably comes with setting up a new node, traveling, etc. Quarantining it in a separate channel prevents those tests from distracting the #prm conversations, as well as letting you spam &amp;ldquo;CENTRAL JERSEY ACK&amp;rdquo; as many times as you want. There are also bots setup in several places in the mesh to auto-respond to messages in this channel. In other words, please do not type &amp;ldquo;testing&amp;rdquo;, &amp;ldquo;test 123&amp;rdquo;, &amp;ldquo;can anyone hear me?&amp;rdquo;, etc into either Public or #prm. This also allows folks to setup per-channel notification settings and mute this channel.&lt;/li>
&lt;li>Other commonly used (but totally optional) hashtag channels are listed in this pinned post on the Discord &lt;a href="https://discord.com/channels/1350649001313173526/1546522444603326544/1547250444223643820">here&lt;/a>.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>MeshCore vs Meshtastic:&lt;/strong> We&amp;rsquo;ve fielded a lot of questions about our plans for Meshtastic going forward. &amp;ldquo;Are you abandoning Meshtastic?&amp;rdquo; &amp;ldquo;What if I want to keep using Meshtastic?&amp;rdquo; We&amp;rsquo;ll try to answer them below:&lt;/p>
&lt;ul>
&lt;li>We are shifting to a &lt;code>MeshCore = Primary Network … Meshtastic = Secondary Network&lt;/code> strategy due to MeshCore&amp;rsquo;s &amp;ldquo;messaging first&amp;rdquo; basis and Meshtastic&amp;rsquo;s &lt;a href="https://prm.boda.dev/2026/08/12/freq-testing-report">LongTurbo challenges we experienced during testing&lt;/a>. &lt;strong>We are not abandoning Meshtastic.&lt;/strong>&lt;/li>
&lt;li>We will continue to support Meshtastic on dual-radio infrastructure nodes as we can (especially going forward).&lt;/li>
&lt;li>We will only use Meshtastic on its LongTurbo default FreqSlot of 0. We have no plans of doing a similar frequency search for something non-default. Nor will we support presets that are not FCC-compliant on our infrastructure.&lt;/li>
&lt;li>Many of us will continue running both MeshCore and Meshtastic in our home setups. We encourage others to as well, each has its pros/cons and uses!&lt;/li>
&lt;li>Our previous stance against the &amp;ldquo;us versus them&amp;rdquo; tribalism some communities exhibited will continue to be the policy of PhillyMesh. We think both protocols have different use cases and understand how different people could gravitate towards one or the other. Just because we chose MeshCore as our primary network does not mean we will &amp;ldquo;peer pressure&amp;rdquo; folks to move from Meshtastic if they don&amp;rsquo;t want to. If you want to use Meshtastic, please do! And you&amp;rsquo;ll continue to get our same help and support to set up and run your node.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ol>
&lt;p>&lt;strong>We will be moving the mesh to these new settings first thing on Friday 10/2/26. We are all incredibly appreciative for the mesh community&amp;rsquo;s help with all of the SDR inputs/listening, testing, and feedback this past month. We are all looking forward to moving to a home that works for the entire community (including non-mesh stakeholders like ham 33cm band users) and shifting our focus to infrastructure buildout to continue making Philly Mesh more reliable and connected for all in the area.&lt;/strong>&lt;/p>
&lt;h2 id="how-we-determined-our-new-frequencysettings" >How We Determined Our New Frequency/Settings
&lt;span>
&lt;a href="#how-we-determined-our-new-frequencysettings" title="Direct Link to How We Determined Our New Frequency/Settings">
&lt;svg viewBox="0 0 28 23" height="100%" width="19" alt="" xmlns="http://www.w3.org/2000/svg">&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;/svg>
&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>A quick summary of Philly&amp;rsquo;s methodology is below:&lt;/p>
&lt;ol>
&lt;li>RTL-SDR data collection across region&lt;/li>
&lt;li>Data analysis for lowest noise floors&lt;/li>
&lt;li>Automated Lora packet delivery testing&lt;/li>
&lt;li>Validation of results with hands-on SDR monitoring to select final proposed frequency&lt;/li>
&lt;li>Mesh-wide test of new settings with end-users&lt;/li>
&lt;/ol>
&lt;h3 id="1-rtl-sdr-data-collection" >1) RTL-SDR data collection
&lt;span>
&lt;a href="#1-rtl-sdr-data-collection" title="Direct Link to 1) RTL-SDR data collection">
&lt;svg viewBox="0 0 28 23" height="100%" width="19" alt="" xmlns="http://www.w3.org/2000/svg">&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;/svg>
&lt;/a>
&lt;/span>
&lt;/h3>
&lt;p>In the MeshCore Discord, some of our members and others from outside started trying to find ways to collect data, locally and even on a larger scale. We knew it wouldn&amp;rsquo;t be perfect, and we knew others would have opinions on better methods, now and in the future. But we had to start SOMEWHERE with a unified data set. One of the ways we did that was with a scripted version of RTL_POWER, something that can be run with a cheap RPi and RTL-SDR dongle.&lt;/p>
&lt;pre tabindex="0">&lt;code>rtl_power -f 902M:928M:5k -i 5 -e 30m -g 32
902M:928M Scan the entire 902-928 MHz band
5k Target roughly 5 kHz frequency-bin resolution
-i 5 Complete/report a sweep every 5 seconds
-e 30m Keep collecting for 30 minutes
-g 32 Fixed RTL-SDR gain of 32 dB
&lt;/code>&lt;/pre>&lt;p>The downside to lots of collections across multiple regions, was that the larger meshcore community went from not enough data, to waaaaaaaaaaaaay too much data, and everyone had different opinions on how to wrangle it.&lt;/p>
&lt;a href="https://prm.boda.dev/2026/10/02/mc-500-changes/Interference.jpg">&lt;img src="https://prm.boda.dev/2026/10/02/mc-500-changes/Interference_hu_ef0f51a31461129e.webp" alt="Memes for Interference">
&lt;/a>&lt;h3 id="2-data-analysis-for-lowest-noise-floors" >2) Data analysis for lowest noise floors
&lt;span>
&lt;a href="#2-data-analysis-for-lowest-noise-floors" title="Direct Link to 2) Data analysis for lowest noise floors">
&lt;svg viewBox="0 0 28 23" height="100%" width="19" alt="" xmlns="http://www.w3.org/2000/svg">&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;/svg>
&lt;/a>
&lt;/span>
&lt;/h3>
&lt;p>For PhillyMesh, after going crazy looking at the data specific to our region every which way, we decided to combine a lot of our previous methods. We took a top-down approach, using the simplest tools already at our members&amp;rsquo; disposal and trying not to over complicate or re-invent things that were already accessible. With so much information, it&amp;rsquo;s easy to get overwhelmed.&lt;/p>
&lt;p>We took all the RTL_POWER data and looked for the regions with the lowest noise floors in general. And then manually scoped them with our SDRs and tossed any false positives from compression/artifacts/skewed data. (Another flaw we later found in the data collection method, thanks again to the &lt;a href="https://beala.substack.com/p/searching-for-a-new-frequency-and">great post by Alex Beal describing this in further detail&lt;/a>.)&lt;/p>
&lt;p>Our next step was to have people spread out across the region manually look at their SDRs in the three areas with the lowest noise floors identified above. The goal was to try and find region-wide low-interference spots we have here in Philly.&lt;/p>
&lt;a href="https://prm.boda.dev/2026/10/02/mc-500-changes/LongingFor902.jpg">&lt;img src="https://prm.boda.dev/2026/10/02/mc-500-changes/LongingFor902_hu_ada088a35ea629c5.webp" alt="Philly Mesh Longing For The Quiet of 902.250" style="max-height: 500px;">
&lt;/a>&lt;h3 id="3-automated-lora-packet-delivery-testing" >3) Automated Lora packet delivery testing
&lt;span>
&lt;a href="#3-automated-lora-packet-delivery-testing" title="Direct Link to 3) Automated Lora packet delivery testing">
&lt;svg viewBox="0 0 28 23" height="100%" width="19" alt="" xmlns="http://www.w3.org/2000/svg">&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;/svg>
&lt;/a>
&lt;/span>
&lt;/h3>
&lt;p>After we distilled it down to 3-4 top areas, we ran a &lt;a href="https://github.com/dustyheatsink/prm-lorasweep">custom packet test script&lt;/a> based on the awesome concept from &lt;a href="https://github.com/Cisien/meshcore-snr-sweep">cisien on the MeshCore discord&lt;/a>, tweaked to match our Pi-based infrastructure, using two nodes that had line of sight: one at our worst location (in terms of interference) and our best.&lt;/p>
&lt;p>At its core, the script automated the testing of small, medium, and large packets between the two sites. The two devices linked via TCP so they knew when to start, when to expect packets, etc. The script fired off 20 packets of each size from one site to another and then recorded how many LoRa packets arrived successfully, which ones produced CRC/header errors, and how many were missed. Obviously, you want the best delivery rate with zero errors and misses, but everything is relative.&lt;/p>
&lt;p>The custom script loaded a CSV with frequencies and SFs to test. At first it was just general areas on the 902-928 ISM Band, then slowly it was dialed in to slide the centers around slightly. Every test began with testing our current 902.25 MHz frequency, so you were always comparing apples to apples in terms of general interference/conditions and propagation. The idea behind it was sometimes RF sucks, weather sucks, interference sucks, but if we always started with what we were on NOW and were messaging successfully with, you always knew how to stack the others against it.&lt;/p>
&lt;h3 id="4-validation-of-results-with-hands-on-sdr-monitoring-to-select-final-proposed-frequency" >4) Validation of results with hands-on SDR monitoring to select final proposed frequency
&lt;span>
&lt;a href="#4-validation-of-results-with-hands-on-sdr-monitoring-to-select-final-proposed-frequency" title="Direct Link to 4) Validation of results with hands-on SDR monitoring to select final proposed frequency">
&lt;svg viewBox="0 0 28 23" height="100%" width="19" alt="" xmlns="http://www.w3.org/2000/svg">&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;/svg>
&lt;/a>
&lt;/span>
&lt;/h3>
&lt;p>Our top pick that came out of all of that was 919.5 MHz. It had the best symmetry on RX/TX between the two sites that were 7 miles apart (one of our longer links), and that was traversing a region we know has heavy interference due to known RFID sources. The idea being if it can work passing through that RF hellscape, it should probably be pretty damn good in areas without it.&lt;/p>
&lt;p>One thing to note: we also had members check for Philly-specific conflicts with repeater inputs/output and coordinated systems, and talked to our local ARCs (Amateur Radio Clubs) about our proposed new settings. We want to make sure we&amp;rsquo;re good neighbors on the airwaves and not knowingly (or unknowingly) causing interference.&lt;/p>
&lt;h3 id="5-mesh-wide-test-of-new-settings-with-end-users" >5) Mesh-wide test of new settings with end-users
&lt;span>
&lt;a href="#5-mesh-wide-test-of-new-settings-with-end-users" title="Direct Link to 5) Mesh-wide test of new settings with end-users">
&lt;svg viewBox="0 0 28 23" height="100%" width="19" alt="" xmlns="http://www.w3.org/2000/svg">&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;/svg>
&lt;/a>
&lt;/span>
&lt;/h3>
&lt;p>But at the end of the day, theoretical picture-perfect packets and delivery rates mean little, compared to the metric of &amp;ldquo;can an end user message, and be heard&amp;rdquo;? So it came down to actually testing with real nodes and people.&lt;/p>
&lt;p>After some quick checking to ensure the data lined up with reality between 3 devices over the long link, we shared the available options with the community for larger scale testing, one frequency at a time. For each test, a meaningful number of nodes changed their repeater settings for hours at a time to test if they could message each other as they could before on 902.250. Use of the &lt;a href="https://corescope500.phlm.sh/#/packets">PhillyMesh CoreScope&lt;/a> aided greatly in users being able to see the reach of their messages during these tests and what messages they may be missing.&lt;/p>
&lt;p>Our awesome community members jumped in and really did an amazing job putting them all through their paces. In the end, the top pick across the data held true. 919.5 MHz SF10 was the best candidate for our real-world mesh testing and communications.&lt;/p>
&lt;a href="https://prm.boda.dev/2026/10/02/mc-500-changes/LearningLessons.jpg">&lt;img src="https://prm.boda.dev/2026/10/02/mc-500-changes/LearningLessons_hu_905f2a7f65385c62.webp" alt="Philly Mesh Drinking Lesson Learning Juice" style="max-height: 500px;">
&lt;/a></description></item><item><title>FCC Regulations and MeshCore 500</title><link>https://prm.boda.dev/2026/09/02/fcc-regulations/</link><pubDate>Wed, 02 Sep 2026 00:00:01 +0000</pubDate><author>Emily Boda</author><guid>https://prm.boda.dev/2026/09/02/fcc-regulations/</guid><description>&lt;h1 id="2026-09-10-clarification" >2026-09-10 Clarification
&lt;span>
&lt;a href="#2026-09-10-clarification" title="Direct Link to 2026-09-10 Clarification">
&lt;svg viewBox="0 0 28 23" height="100%" width="19" alt="" xmlns="http://www.w3.org/2000/svg">&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;/svg>
&lt;/a>
&lt;/span>
&lt;/h1>
&lt;p>This document is only for sharing what in our experience works best for the immediate area around Philadelphia, PA. During our testing we found no traffic; using this preset in other areas may cause interference in the 33cm band, and we argue that it should not be a national preset for Meshcore or Meshtastic - please do not use without testing.&lt;/p>
&lt;p>Please use proper tools, such as a software defined radio, to identify the quietest part of the band. Additionally, reach out to your local 33cm amateur radio groups and frequency coordinators to confirm no interference occurs while testing. The center of the band is less likely to interfere with their operations, but other sources of interference may impact performance.&lt;/p>
&lt;p>We do not see a change in FCC regulations or a new mesh band being created as realistic; more on that in our &lt;a href="https://prm.boda.dev/2026/09/02/fcc-regulations/#is-there-a-chance-the-fcc-will-change-their-regulations">FAQ&lt;/a>.&lt;/p>
&lt;p>&lt;em>Also, as a quick disclaimer, none of the Operations Division are lawyers, and none of us play lawyers on TV. Even though we discuss FCC regulations throughout this document, nothing in this document or FAQ is legal analysis or legal advice to anyone reading it. Please, for the love of heaven, always consult an actual lawyer when you have questions about the law, or FCC regulations.&lt;/em>&lt;/p>
&lt;h1 id="hey-phillymesh-community" >Hey PhillyMesh community,
&lt;span>
&lt;a href="#hey-phillymesh-community" title="Direct Link to Hey PhillyMesh community,">
&lt;svg viewBox="0 0 28 23" height="100%" width="19" alt="" xmlns="http://www.w3.org/2000/svg">&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;/svg>
&lt;/a>
&lt;/span>
&lt;/h1>
&lt;h2 id="our-mesh-is-about-to-become-a-lot-more-fragmented" >Our mesh is about to become a lot more fragmented
&lt;span>
&lt;a href="#our-mesh-is-about-to-become-a-lot-more-fragmented" title="Direct Link to Our mesh is about to become a lot more fragmented">
&lt;svg viewBox="0 0 28 23" height="100%" width="19" alt="" xmlns="http://www.w3.org/2000/svg">&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;/svg>
&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>We, (along with many in the Meshtastic community) recently found out that &lt;strong>most of Meshtastic&amp;rsquo;s presets are not in compliance with the FCC&lt;/strong> when the newest build of the Meshtastic app changed the USA default preset to LongTurbo. We don&amp;rsquo;t yet have any official word from the Meshtastic developers about this, but the following is our understanding.&lt;/p>
&lt;p>Meshtastic uses a 250 kHz bandwidth by default, and &lt;a href="https://www.ecfr.gov/current/title-47/part-15/section-15.247#p-15.247(a)(2)">FCC regulations state&lt;/a> that devices in the 900 MHz ISM frequency band (that&amp;rsquo;s us) must use a bandwidth of 500 kHz or higher. The only Meshtastic preset that is in compliance and potentially viable for this area is LongTurbo, which we have tested extensively and determined doesn&amp;rsquo;t work well for long distance mesh communication in Philly. &lt;a href="https://github.com/meshcore-dev/MeshCore/issues/945#issuecomment-3408847889">Other metro areas&lt;/a> &lt;a href="https://github.com/meshcore-dev/MeshCore/issues/945#issuecomment-3408643590">have corroborated this&lt;/a>; &lt;strong>LongTurbo doesn&amp;rsquo;t work well just about anywhere&lt;/strong>.&lt;/p>
&lt;p>We have a &lt;a href="https://phillymesh.net/2026/08/12/freq-testing-report/">blog post&lt;/a> with all details of our LongTurbo test, but the summary is that there is a lot of interference within the ISM band, much of which is concentrated every 250 kHz (so, on .000, .250, .500, and .750 on each MHz frequency, with the worst of it being on .250/.750). Using only a 250 kHz slice of bandwidth (for example, from 915.000 to 915.250 MHz) allowed us to keep that interference on the edge of our communication spectrum. However, if we have to use 500 kHz bandwidth, we can&amp;rsquo;t avoid that interference (we&amp;rsquo;ve looked all over the ISM Band) and &lt;strong>we confirmed (with your help in this summer&amp;rsquo;s tests) that our ability to communicate with Meshtastic is severely compromised&lt;/strong>.&lt;/p>
&lt;h2 id="so-what-are-we-going-to-do" >So, what are we going to do?
&lt;span>
&lt;a href="#so-what-are-we-going-to-do" title="Direct Link to So, what are we going to do?">
&lt;svg viewBox="0 0 28 23" height="100%" width="19" alt="" xmlns="http://www.w3.org/2000/svg">&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;/svg>
&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>&lt;strong>We&amp;rsquo;re wrapping up our LF910 test and now moving to compliant presets&lt;/strong>. Because our Meshtastic LongTurbo testing went so poorly, the OpsDiv started scrambling to find options that might work better to achieve the goal of a Philadelphia-area-wide mesh network that allows us to communicate from the city to the burbs. &lt;strong>We started informally testing some custom settings for MeshCore at 500 kHz (we&amp;rsquo;re calling it &amp;ldquo;MeshCore 500&amp;rdquo;) and found that it worked surprisingly well&lt;/strong>.&lt;/p>
&lt;p>One of the biggest reasons we&amp;rsquo;ve seen better results with MeshCore is because it is more resilient due to its message-prioritized routing. The settings we&amp;rsquo;ve been tweaking during this summer&amp;rsquo;s testing period to try to improve Meshtastic&amp;rsquo;s performance (reducing position, telemetry, nodeinfo announcements, and more) are pre-baked into the MeshCore firmware. The additional hops MeshCore allows should mitigate the loss of reach/distance nodes that is caused by operating with a bandwidth that has more interference.&lt;/p>
&lt;p>Based on that testing, going forward, &lt;strong>the handful of PhillyMesh infrastructure nodes that are currently installed will be tuned to MeshCore 500&lt;/strong> because we believe this gives us a better chance to create a Philadelphia-area-wide network. Additionally, we have leads on installing several dual-radio nodes at high sites and &lt;strong>these will feature both Meshtastic LongTurbo and MeshCore 500&lt;/strong>. We expect that given time, Meshtastic LongTurbo may become a more viable short-distance mesh network, especially as Meshtastic firmware matures and resolves some of the issues with overly-frequent position/telemetry/nodeinfo reports. However, MeshCore 500 is currently performing much better and will likely always be better for long-distance mesh communication. As has always been the case, &lt;strong>you&amp;rsquo;re welcome to install whatever preset and mesh technology you&amp;rsquo;re comfortable with running on your personal nodes&lt;/strong>.&lt;/p>
&lt;p>We considered announcing MeshCore 500 as a test, but we&amp;rsquo;ve been doing a lot of testing this summer and, honestly, a week-long test for something we already know initially shows promise won&amp;rsquo;t get us the results we need. We decided to announce this as a transition (kind of like our indefinite LF910 test) and let the people decide if they want to participate. If things go poorly with MeshCore 500 or the technology changes in six months or a year (or the Meshtastic project sorts this whole thing out next week and makes LongFast FCC-compliant in a way that doesn&amp;rsquo;t nuke its effectiveness) we might just go back to Meshtastic LongFast as our default. But we wanted to make one unified recommendation for right now, for those who want to test out something new with us, since we won&amp;rsquo;t be able to use LongFast for the foreseeable future. Plus, trying new mesh networks is fun!&lt;/p>
&lt;p>Unfortunately, &lt;strong>the days of defaulting to Meshtastic LongFast and everyone being on the same mesh network are likely behind us&lt;/strong>. We expect some people will stay on Meshtastic LongFast, and once Meshtastic&amp;rsquo;s default preset becomes LongTurbo, we expect many people new to the hobby (an estimated 20 people per week in our area) to be on LongTurbo. We also expect many of those who have been dabbling in MeshCore and seeing how well it performs to keep tinkering with MeshCore 500. There will likely not be one consensus network going forward, but we hope that you&amp;rsquo;ll try out MeshCore 500 with us.&lt;/p>
&lt;p>&lt;strong>&lt;u>You do not have to buy new hardware to try out MeshCore 500&lt;/u>: almost all Meshtastic node hardware models are compatible with MeshCore and you can flash between the two as easily as you can flash between versions of the Meshtastic firmware&lt;/strong>. If you try MeshCore and want to go back to Meshtastic, it&amp;rsquo;s completely and easily reversible in a minute or so. After reading the guide to flashing your node below, if you have any questions about converting your node and changing settings, please reach out on the #meshcore-philly channel in the Discord. We are happy to help guide folks through this transition!&lt;/p>
&lt;p>&amp;ldquo;But I thought this was a Meshtastic server?&amp;rdquo; Technically, the server name is just &amp;ldquo;Philly Radio &amp;amp; Mesh&amp;rdquo;&amp;hellip; and if you take a look at the PhillyMesh website, you&amp;rsquo;ll see posts as far back as 2016 (before Meshtastic was invented) exploring mesh networks in the Philadelphia area. Meshtastic has been a focus lately because it&amp;rsquo;s been more popular in the Philadelphia area. We&amp;rsquo;re here to have a good time with all kinds of mesh networks.&lt;/p>
&lt;h2 id="fractured-phillymesh-on-the-airwaves-unified-phillymesh-in-our-hearts" >Fractured PhillyMesh on the airwaves, unified PhillyMesh in our hearts
&lt;span>
&lt;a href="#fractured-phillymesh-on-the-airwaves-unified-phillymesh-in-our-hearts" title="Direct Link to Fractured PhillyMesh on the airwaves, unified PhillyMesh in our hearts">
&lt;svg viewBox="0 0 28 23" height="100%" width="19" alt="" xmlns="http://www.w3.org/2000/svg">&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;/svg>
&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>This is not a change we&amp;rsquo;re introducing lightly. Many of us have poured time, energy, passion, tears, and money into testing Meshtastic nodes and settings. We want to ensure that you (the mesh users), the PRM Ops Division, and especially the gracious hosts of our infrastructure nodes do not run astray of FCC regulations.&lt;/p>
&lt;p>Large mesh networks like PhillyMesh rely on the power of numbers and agreement between its users to work. We each rely on each other&amp;rsquo;s nodes to relay our messages. Most of us remember the days when you&amp;rsquo;d leave a node in your window and not see another node for weeks. &lt;strong>We knew a default preset change was coming and that it would cause our mesh to become fragmented, whether we wanted it to or not&lt;/strong>.&lt;/p>
&lt;p>We had been preparing for that preset change, like many other metro areas have been doing, by testing to find a preset that works best for our area.
With our better understanding of the rules, we realize that our previous choice of the best preset is no longer an option.
&lt;strong>We think that our best hope for FCC-compliant survival in the short term is MeshCore 500&lt;/strong>.&lt;/p>
&lt;p>Love,&lt;/p>
&lt;p>The PhillyMesh Operations Division&lt;/p>
&lt;h1 id="meshcore-and-meshtastic-fcc-compliant-settings" >MeshCore and Meshtastic FCC-Compliant Settings
&lt;span>
&lt;a href="#meshcore-and-meshtastic-fcc-compliant-settings" title="Direct Link to MeshCore and Meshtastic FCC-Compliant Settings">
&lt;svg viewBox="0 0 28 23" height="100%" width="19" alt="" xmlns="http://www.w3.org/2000/svg">&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;/svg>
&lt;/a>
&lt;/span>
&lt;/h1>
&lt;h2 id="meshcore" >MeshCore
&lt;span>
&lt;a href="#meshcore" title="Direct Link to MeshCore">
&lt;svg viewBox="0 0 28 23" height="100%" width="19" alt="" xmlns="http://www.w3.org/2000/svg">&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;/svg>
&lt;/a>
&lt;/span>
&lt;/h2>
&lt;ul>
&lt;li>&lt;a href="https://prm.boda.dev/2026/09/02/meshcore-intro">What you need to know about MeshCore coming from Meshtastic&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://prm.boda.dev/2026/09/02/how-to-flash-meshcore">How to flash MeshCore coming from Meshtastic&lt;/a>&lt;/li>
&lt;/ul>
&lt;h2 id="meshtastic" >Meshtastic
&lt;span>
&lt;a href="#meshtastic" title="Direct Link to Meshtastic">
&lt;svg viewBox="0 0 28 23" height="100%" width="19" alt="" xmlns="http://www.w3.org/2000/svg">&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;/svg>
&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>&lt;em>These are the new default, FCC-compliant settings, that the Meshtastic project recommends for the US. Please update your firmware to the latest stable/beta version first!&lt;/em>&lt;/p>
&lt;ul>
&lt;li>Frequency: &lt;code>908.75 MHz&lt;/code> (this is the default slot, which you can enter as &lt;code>0&lt;/code> or &lt;code>14&lt;/code>)&lt;/li>
&lt;li>Preset: &lt;code>LongTurbo&lt;/code>&lt;/li>
&lt;/ul>
&lt;h2 id="faq" >FAQ
&lt;span>
&lt;a href="#faq" title="Direct Link to FAQ">
&lt;svg viewBox="0 0 28 23" height="100%" width="19" alt="" xmlns="http://www.w3.org/2000/svg">&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;/svg>
&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>I&amp;rsquo;m sure you have a lot more questions! Hopefully we answer a good number of them below, otherwise please ask/vent/grieve the loss of 250 kHz bandwidth in the Discord.&lt;/p>
&lt;h3 id="what-is-this-phillymesh-operations-divisionopsdiv-just-who-the-heck-are-you-folks" >What is this &amp;ldquo;PhillyMesh Operations Division&amp;rdquo;/&amp;ldquo;OpsDiv&amp;rdquo;? Just who the heck are you folks?
&lt;span>
&lt;a href="#what-is-this-phillymesh-operations-divisionopsdiv-just-who-the-heck-are-you-folks" title="Direct Link to What is this &amp;ldquo;PhillyMesh Operations Division&amp;rdquo;/&amp;ldquo;OpsDiv&amp;rdquo;? Just who the heck are you folks?">
&lt;svg viewBox="0 0 28 23" height="100%" width="19" alt="" xmlns="http://www.w3.org/2000/svg">&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;/svg>
&lt;/a>
&lt;/span>
&lt;/h3>
&lt;p>The PhillyMesh Operations Division is some of the OGs from the Philly Radio &amp;amp; Mesh Discord server. The name &amp;ldquo;Operations Division&amp;rdquo; came about because the server admin is a Trekkie, and she couldn&amp;rsquo;t resist the name. If you&amp;rsquo;ve seen anyone teach a class about Meshtastic, foot the bill for the website, table for the group at a local event, organize a PhillyMesh happy hour, or coordinate an infrastructure node install with another local org; that was one of the Ops folks. Feel free to bribe us with good node locations, bad puns, and Malort.&lt;/p>
&lt;h3 id="what-are-presets-and-what-is-longfast" >What are presets and what is LongFast?
&lt;span>
&lt;a href="#what-are-presets-and-what-is-longfast" title="Direct Link to What are presets and what is LongFast?">
&lt;svg viewBox="0 0 28 23" height="100%" width="19" alt="" xmlns="http://www.w3.org/2000/svg">&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;/svg>
&lt;/a>
&lt;/span>
&lt;/h3>
&lt;p>Meshtastic has many settings that allow you to change what slice of frequency you send messages in. You can customize these settings almost indefinitely, but most of the time people choose between a few different presets which are a standardized set of settings. Other Meshtastic users must (for the most part) have the same settings as you in order to receive your messages and be on the same mesh network.&lt;/p>
&lt;p>Meshtastic&amp;rsquo;s default settings are a preset called LongFast. This preset uses a bandwidth of 250 kHz, which we now know is in violation of FCC regulations.&lt;/p>
&lt;h3 id="can-you-tell-me-more-about-this-bandwidth-thing" >Can you tell me more about this bandwidth thing?
&lt;span>
&lt;a href="#can-you-tell-me-more-about-this-bandwidth-thing" title="Direct Link to Can you tell me more about this bandwidth thing?">
&lt;svg viewBox="0 0 28 23" height="100%" width="19" alt="" xmlns="http://www.w3.org/2000/svg">&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;/svg>
&lt;/a>
&lt;/span>
&lt;/h3>
&lt;p>Meshtastic (and MeshCore) packets are sent across a frequency spectrum. That spectrum is determined by choosing a starting frequency (or, with Meshtastic, you often choose a &amp;ldquo;Frequency Slot&amp;rdquo; and the firmware uses that to &lt;a href="https://meshtastic.org/docs/overview/radio-settings/">calculate your starting frequency&lt;/a>) and then setting a bandwidth which determines how large the range of the spectrum will be. The frequency you set is the middle of your range. For example, if your frequency is 906.500 MHz and your bandwidth is 250 kHz (0.250 MHz), you will be transmitting from 906.375 MHz to 906.625 MHz.&lt;/p>
&lt;p>The only presets that uses a 500 kHz or higher bandwidth are LongTurbo and ShortTurbo, the rest use 250 kHz. In our region there is a lot of interference put off by devices using RFID, among many other things. The interference exists every 250 kHz (at the .000, .250, .500, and .750 points of each frequency) and is strongest at .250 and .750. Using a smaller bandwidth like 250 kHz, Meshtastic packets are able to keep that interference at the edges and not be affected too much by it. However, because the Turbo presets use 500 kHz, no matter what starting frequency is chosen, it will always overlap with some of the interference.&lt;/p>
&lt;h3 id="who-is-the-fcc-and-why-do-i-care-about-them" >Who is the FCC and why do I care about them?
&lt;span>
&lt;a href="#who-is-the-fcc-and-why-do-i-care-about-them" title="Direct Link to Who is the FCC and why do I care about them?">
&lt;svg viewBox="0 0 28 23" height="100%" width="19" alt="" xmlns="http://www.w3.org/2000/svg">&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;/svg>
&lt;/a>
&lt;/span>
&lt;/h3>
&lt;p>The FCC makes and enforces the regulations regarding which frequency bands people and companies can use and what the rules are for the packets they send. As with all regulations in the US, it&amp;rsquo;s possible to get in trouble for unknowingly violating them (regardless of motive/intent), and that&amp;rsquo;s what we&amp;rsquo;ve all been doing while using Meshtastic on LongFast.&lt;/p>
&lt;p>The FCC requires all packets sent in the ISM band (the band Meshtastic and MeshCore use) to have a bandwidth of 500 kHz or more. The only Meshtastic presets that uses a 500 kHz bandwidth are LongTurbo and ShortTurbo (LongTurbo is the only viable one for long distance communication), and LongTurbo is now what the Meshtastic project will be suggesting as the default in the US. The default MeshCore setting uses a 62.5 kHz bandwidth and is even less compliant, hence the custom settings to use a 500 kHz bandwidth.&lt;/p>
&lt;h3 id="is-this-a-new-fcc-regulation" >Is this a new FCC regulation?
&lt;span>
&lt;a href="#is-this-a-new-fcc-regulation" title="Direct Link to Is this a new FCC regulation?">
&lt;svg viewBox="0 0 28 23" height="100%" width="19" alt="" xmlns="http://www.w3.org/2000/svg">&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;/svg>
&lt;/a>
&lt;/span>
&lt;/h3>
&lt;p>No. It seems that most people did not understand the FCC regulations. This includes Meshtastic devs, MeshCore devs, and device manufacturers selling devices where the default settings were out of compliance.&lt;/p>
&lt;p>There was a misunderstanding among users that did read the regulations about how Meshtastic was operating, FHSS mode vs DTS mode, and the regulations are different for each. Those users who didn&amp;rsquo;t read the regulations figured if a project as big as this one was not in compliance with the FCC, we&amp;rsquo;d know about it. Well, now we know.&lt;/p>
&lt;h3 id="does-the-fcc-even-care-if-we-keep-using-meshtastic-longfast" >Does the FCC even care if we keep using Meshtastic LongFast?
&lt;span>
&lt;a href="#does-the-fcc-even-care-if-we-keep-using-meshtastic-longfast" title="Direct Link to Does the FCC even care if we keep using Meshtastic LongFast?">
&lt;svg viewBox="0 0 28 23" height="100%" width="19" alt="" xmlns="http://www.w3.org/2000/svg">&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;/svg>
&lt;/a>
&lt;/span>
&lt;/h3>
&lt;p>At this point we don&amp;rsquo;t know what enforcement the FCC will have for these regulations. You, as an individual, can make your own determination if you want to continue to operate on Meshtastic LongFast and be in violation of FCC regulations. It is important to note that if you are a licensed ham radio operator your license could be at risk for knowingly operating devices in violation of FCC regulations. The risk of punishment for past actions is probably low in this case, however, you are now aware and must make your own decisions going forward.&lt;/p>
&lt;p>As the group that is Philly Radio &amp;amp; Mesh, we feel it is important to stay in compliance for many reasons. Besides the obvious fact that violating FCC regulations is illegal, we have been partnering with non-profits such as Philly Community Wireless to host nodes, and we don&amp;rsquo;t want to get them or any of the building owners in legal trouble. We&amp;rsquo;ve been asked by local businesses and libraries to do talks about Meshtastic; we can&amp;rsquo;t in good conscience encourage new users to try something that we now know is illegal, and if people think we&amp;rsquo;re doing that, we won&amp;rsquo;t be asked back. Many of us are also licensed ham radio operators, and don&amp;rsquo;t want that hobby to be put into jeopardy by affiliation with this group. Even for non-hams, using the ISM band irresponsibly could result in the privilege of using that spectrum being revoked for everyone, especially in today&amp;rsquo;s environment of companies looking for spectrum to pivot to cellular 5G use.&lt;/p>
&lt;h3 id="what-is-meshcore" >What is MeshCore?
&lt;span>
&lt;a href="#what-is-meshcore" title="Direct Link to What is MeshCore?">
&lt;svg viewBox="0 0 28 23" height="100%" width="19" alt="" xmlns="http://www.w3.org/2000/svg">&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;/svg>
&lt;/a>
&lt;/span>
&lt;/h3>
&lt;p>Meshtastic is a project that allows you to send messages over LoRa. There are other projects that do the same thing, one of which is MeshCore.&lt;/p>
&lt;p>MeshCore and Meshtastic have recently grown side by side, learning and improving based on the other&amp;rsquo;s work. In general, MeshCore has been optimized for nodes to be placed in a stationary routing and learns what the most efficient way to route messages between nodes is to get the furthest reach. Meshtastic has historically assumed that all nodes are mobile and hasn&amp;rsquo;t added that routing part until recently.&lt;/p>
&lt;p>In Philadelphia, Meshtastic has historically been more popular. In other areas, such as NE PA, MeshCore is more popular. And as an individual, it&amp;rsquo;s always more fun to join a mesh network that has more people on it, so the popularity is self-perpetuating.&lt;/p>
&lt;p>More details about why we think MeshCore 500 is performing better than Meshtastic LongTurbo are in another FAQ below.&lt;/p>
&lt;h3 id="what-is-meshcore-500" >What is MeshCore 500?
&lt;span>
&lt;a href="#what-is-meshcore-500" title="Direct Link to What is MeshCore 500?">
&lt;svg viewBox="0 0 28 23" height="100%" width="19" alt="" xmlns="http://www.w3.org/2000/svg">&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;/svg>
&lt;/a>
&lt;/span>
&lt;/h3>
&lt;p>Most people on MeshCore operate at a 62.5 kHz bandwidth (these are the USA default settings), which, it turns out, is also in violation of those pesky FCC regulations, but the technology supports a 500 kHz bandwidth just like Meshtastic does. We have been calling using MeshCore at 500 kHz &amp;ldquo;MeshCore 500&amp;rdquo; to differentiate it from the usual MeshCore at 62.5 kHz settings that most people are currently using.&lt;/p>
&lt;h3 id="i-dont-want-to-try-out-meshcore-but-i-do-want-to-make-sure-im-in-compliance-with-the-fcc-what-should-i-do" >I don&amp;rsquo;t want to try out MeshCore, but I do want to make sure I&amp;rsquo;m in compliance with the FCC. What should I do?
&lt;span>
&lt;a href="#i-dont-want-to-try-out-meshcore-but-i-do-want-to-make-sure-im-in-compliance-with-the-fcc-what-should-i-do" title="Direct Link to I don&amp;rsquo;t want to try out MeshCore, but I do want to make sure I&amp;rsquo;m in compliance with the FCC. What should I do?">
&lt;svg viewBox="0 0 28 23" height="100%" width="19" alt="" xmlns="http://www.w3.org/2000/svg">&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;/svg>
&lt;/a>
&lt;/span>
&lt;/h3>
&lt;p>You should switch your Meshtastic node&amp;rsquo;s preset to LongTurbo. We recommend leaving your other frequency settings at default, so you can see as many other people on LongTurbo as possible. You will soon also see our dual-radio infrastructure nodes on Meshtastic LongTurbo as well, but the single-radio nodes will be on MeshCore 500.&lt;/p>
&lt;h3 id="do-i-have-to-pay-to-use-meshcore" >Do I have to pay to use MeshCore?
&lt;span>
&lt;a href="#do-i-have-to-pay-to-use-meshcore" title="Direct Link to Do I have to pay to use MeshCore?">
&lt;svg viewBox="0 0 28 23" height="100%" width="19" alt="" xmlns="http://www.w3.org/2000/svg">&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;/svg>
&lt;/a>
&lt;/span>
&lt;/h3>
&lt;p>No. MeshCore, unlike Meshtastic, has many third-party apps you can use to interface with your nodes. Some are paid and some have paid features, but there are some great ones you can use that are entirely free.&lt;/p>
&lt;p>Dusty, who has been using MeshCore for a while, recommends the apps &lt;a href="https://apps.apple.com/us/app/meshcore-one/id6757419477">MeshCore One&lt;/a> for iOS and &lt;a href="https://play.google.com/store/apps/details?id=com.meshcore.meshcore_open">MeshCore Open&lt;/a> for Android. Both are entirely free to use.&lt;/p>
&lt;p>If you&amp;rsquo;re a power user, &lt;a href="https://github.com/jkingsman/Remote-Terminal-for-MeshCore">RemoteTerm&lt;/a> is a docker app like MeshMonitor and Kyle Yank has set up an instance of &lt;a href="https://corescope500.phlm.sh/#/packets">CoreScope&lt;/a>, which is like Malla. Feel free to turn MQTT on and contribute (as long as you&amp;rsquo;re on 500 kHz).&lt;/p>
&lt;h3 id="can-licensed-amateur-radio-operators-continue-to-use-meshtastic-and-meshcore-at-250-khz" >Can licensed amateur radio operators continue to use Meshtastic and MeshCore at 250 kHz?
&lt;span>
&lt;a href="#can-licensed-amateur-radio-operators-continue-to-use-meshtastic-and-meshcore-at-250-khz" title="Direct Link to Can licensed amateur radio operators continue to use Meshtastic and MeshCore at 250 kHz?">
&lt;svg viewBox="0 0 28 23" height="100%" width="19" alt="" xmlns="http://www.w3.org/2000/svg">&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;/svg>
&lt;/a>
&lt;/span>
&lt;/h3>
&lt;p>Yes. However, using Meshtastic as a licensed amateur radio operator requires you to not use encryption which means dropping packets from private channels and only using the default public channel (with the published key of AQ==). Setting your node to &amp;ldquo;ham mode&amp;rdquo; will do all of these things.&lt;/p>
&lt;p>This is not compatible with the default Meshtastic network and won&amp;rsquo;t allow you to chat with non-licensed users on LongFast. If you&amp;rsquo;re intersted in getting your ham radio license, JawnCon, Philly&amp;rsquo;s local cybersecurity conference in October, has free classes and exams most years.&lt;/p>
&lt;p>Amateur radio has several alternatives to the ISM band that have similar messaging functionality, including normal VHF APRS, UHF, LoRa APRS, FT8 (and derivatives), JS8 Call, VARA modes, Winlink, etc. Ask your friendly neighborhood ham in #amateur-radio in our Discord to learn more.&lt;/p>
&lt;h3 id="what-settings-are-being-recommended-for-meshcore-500" >What settings are being recommended for MeshCore 500?
&lt;span>
&lt;a href="#what-settings-are-being-recommended-for-meshcore-500" title="Direct Link to What settings are being recommended for MeshCore 500?">
&lt;svg viewBox="0 0 28 23" height="100%" width="19" alt="" xmlns="http://www.w3.org/2000/svg">&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;/svg>
&lt;/a>
&lt;/span>
&lt;/h3>
&lt;p>Some MeshCore apps have recommended presets and some don&amp;rsquo;t, but there are generally agreed upon default settings that most people use so they can communicate with each other. Those settings use 62.5 kHz as the bandwidth, which is in violation of FCC regulations.&lt;/p>
&lt;p>We have outlined our custom settings in the next section below, which use a 500 kHz bandwidth. This means that, for the time being, the only other MeshCore nodes you&amp;rsquo;ll be able to communicate with are folks who heard about these settings from PhillyMesh. We do anticipate that once word gets out about the FCC regulations, we will see some current MeshCore users transition to 500 kHz bandwidth and find us. We are not making this change to be isolated or exclusionary, we are making this change for FCC compliance and sharing the settings that worked best in hopes of re-connecting with neighboring meshes again.&lt;/p>
&lt;p>MeshCore&amp;rsquo;s reach is much wider than Meshtastic LongFast; the current most widely used (and non-FCC-compliant) settings result in Philly being reachable from as far north as New Hampshire and as far south as Kentucky, depending on the weather (check &lt;a href="https://corescope.mesh.yankani.ch/#/home">Kyle&amp;rsquo;s instance of CoreScope that uses MeshCore&amp;rsquo;s default settings&lt;/a> to see all the repeaters he&amp;rsquo;s seen recently and you&amp;rsquo;ll get an idea of the reach). In order to keep the community we&amp;rsquo;ve had on Meshtastic LongFast together, we recommend everyone joins the #prm channel and uses that as the default comms channel. Once other meshes join our settings and the Public channel gets busy again, #prm can be a way to ensure our area&amp;rsquo;s unique culture has a home.&lt;/p>
&lt;h3 id="why-do-we-expect-meshcore-to-perform-better-at-500-khz-than-meshtastic-does" >Why do we expect MeshCore to perform better at 500 kHz than Meshtastic does?
&lt;span>
&lt;a href="#why-do-we-expect-meshcore-to-perform-better-at-500-khz-than-meshtastic-does" title="Direct Link to Why do we expect MeshCore to perform better at 500 kHz than Meshtastic does?">
&lt;svg viewBox="0 0 28 23" height="100%" width="19" alt="" xmlns="http://www.w3.org/2000/svg">&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;/svg>
&lt;/a>
&lt;/span>
&lt;/h3>
&lt;p>MeshCore has some key benefits compared to Meshtastic that will increase chances of success at this wider, more interference-heavy bandwidth.&lt;/p>
&lt;ul>
&lt;li>&lt;em>Reduced Non-Message Traffic&lt;/em>. Baked into the firmware are the settings we were asking Meshtastic users to change as part of this summer&amp;rsquo;s tests to reduce position reporting, telemetry, NodeInfo, etc. Without these packets clogging the mesh, there is more room for messages to reliably flow.&lt;/li>
&lt;li>&lt;em>Higher Hop Limit&lt;/em>. Where Meshtastic had a hop limit of 7 (and realistically only 4-5ish hops were viable), MeshCore has a hop limit of 64. We won&amp;rsquo;t need all 64 of those hops to talk across the Philly Mesh, but we know we will need more than the 4-5ish viable hops Meshtastic had. An increased hop limit will increase the functionality of the mesh to counter the degradation of node transmit/receive distance at 500 kHz bandwidth.&lt;/li>
&lt;li>&lt;em>Better Routing&lt;/em>. MeshCore prioritizes static routing compared to Meshtastic&amp;rsquo;s ad-hoc flood routing. There is still flood routing in MeshCore, but it uses it sparingly and instead focuses on building stable paths from router-to-router to reduce unnecessary retransmits. This means many nodes, especially in Center City who can reach a repeater, can stay in Bluetooth Companion mode (the equivalent of CLIENT_MUTE in Meshtastic). The reduction in unnecessary rebroadcasting also helps reduce packet collisions and noise floor, also mitigating the impacts of the higher interference on the 500 kHz bandwidth.&lt;/li>
&lt;li>&lt;em>Better Battery Life&lt;/em>. Because most nodes in Center City can stay in Bluetooth Companion mode, they won&amp;rsquo;t unnecessarily waste battery life rebroadcasting. This is a significant win for battery-run nodes, pocket nodes, small solar nodes, etc as they will live longer.&lt;/li>
&lt;/ul>
&lt;p>And we&amp;rsquo;ve seen this in practice. Compare our &lt;a href="https://api.phillymesh.net/map">Malla instance (Meshtastic)&lt;/a> to Kyle&amp;rsquo;s &lt;a href="https://corescope.mesh.yankani.ch/#/map">CoreScope instance (MeshCore)&lt;/a>. While on Meshtastic we see a couple of nodes further away, these are likely to be airplane nodes, or nodes that had their location incorrect. On MeshCore we see hundreds of repeaters further north than New York City and a handful down in North Carolina.&lt;/p>
&lt;h3 id="could-we-just-roll-our-own-meshtastic-firmware-to-make-meshtastic-on-500-khz-perform-better" >Could we just roll our own Meshtastic firmware to make Meshtastic on 500 kHz perform better?
&lt;span>
&lt;a href="#could-we-just-roll-our-own-meshtastic-firmware-to-make-meshtastic-on-500-khz-perform-better" title="Direct Link to Could we just roll our own Meshtastic firmware to make Meshtastic on 500 kHz perform better?">
&lt;svg viewBox="0 0 28 23" height="100%" width="19" alt="" xmlns="http://www.w3.org/2000/svg">&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;/svg>
&lt;/a>
&lt;/span>
&lt;/h3>
&lt;p>We actually thought about this; we&amp;rsquo;ve been joking about making MalortCore for a while. However, in order to make Meshtastic on 500 kHz perform better we&amp;rsquo;d be doing things like increasing the number of allowed hops and improving routing, and we&amp;rsquo;d basically just be recreating MeshCore. We&amp;rsquo;d rather spend our energy building out local infrastructure that will benefit everyone in the area, instead of developing and administrating a third competing LoRa mesh project, which would just serve to further fragment the PhillyMesh.&lt;/p>
&lt;h3 id="i-havent-seen-anything-about-a-new-meshtastic-preset-whats-your-sourcing-on-this" >I haven&amp;rsquo;t seen anything about a new Meshtastic preset. What&amp;rsquo;s your sourcing on this?
&lt;span>
&lt;a href="#i-havent-seen-anything-about-a-new-meshtastic-preset-whats-your-sourcing-on-this" title="Direct Link to I haven&amp;rsquo;t seen anything about a new Meshtastic preset. What&amp;rsquo;s your sourcing on this?">
&lt;svg viewBox="0 0 28 23" height="100%" width="19" alt="" xmlns="http://www.w3.org/2000/svg">&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;/svg>
&lt;/a>
&lt;/span>
&lt;/h3>
&lt;p>It seems a lot of this discussion has been happening in private Discords, so sourcing this is hard. However, it became clear when we saw that starting in Meshtastic version 2.8, the Meshtastic firmware will &lt;a href="https://github.com/meshtastic/firmware/pull/11637">default to LongTurbo for users in the US&lt;/a>. Mobile apps will warn users on the LongFast preset that their preset is violating FCC regulations and push them to move to LongTurbo. We believe this will cause many Meshtastic users, especially new ones, to use Meshtastic LongTurbo and effectively kill the current default Meshtastic LongFast network.&lt;/p>
&lt;p>Meshtastic&amp;rsquo;s leadership has discussed on other Discords that further &amp;ldquo;friction&amp;rdquo; will come in version 3.0 and later.&lt;/p>
&lt;h3 id="did-some-people-know-about-this-its-suspicious-that-we-did-longturbo-tests-a-month-before-we-found-out-that-longturbo-will-be-the-new-default" >Did some people know about this? It&amp;rsquo;s suspicious that we did LongTurbo tests a month before we found out that LongTurbo will be the new default.
&lt;span>
&lt;a href="#did-some-people-know-about-this-its-suspicious-that-we-did-longturbo-tests-a-month-before-we-found-out-that-longturbo-will-be-the-new-default" title="Direct Link to Did some people know about this? It&amp;rsquo;s suspicious that we did LongTurbo tests a month before we found out that LongTurbo will be the new default.">
&lt;svg viewBox="0 0 28 23" height="100%" width="19" alt="" xmlns="http://www.w3.org/2000/svg">&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;/svg>
&lt;/a>
&lt;/span>
&lt;/h3>
&lt;p>Some folks who follow the Meshtastic firmware GitHub repo and are part of other Meshtastic Discords had heard rumors that the default preset might be changing. No one knew why; we&amp;rsquo;re not even sure if the default preset change was because of the FCC regulations or because of &lt;a href="https://meshtastic.org/blog/why-your-mesh-should-switch-from-longfast/">this meshtastic.org post&lt;/a> about LongFast not being the best default for cities.&lt;/p>
&lt;p>We realized this default change would fracture the mesh significantly and our Discord would play a key role in informing users about the changes and helping support users change their existing nodes. We thought about it and decided to take the opportunity to not blindly trust the new recommended default, but to find a preset and custom settings that would actually improve PhillyMesh&amp;rsquo;s performance.&lt;/p>
&lt;p>It wasn&amp;rsquo;t until we saw &lt;a href="https://github.com/meshtastic/firmware/pull/11637">version 2.8&lt;/a> and &lt;a href="https://github.com/meshcore-dev/MeshCore/issues/945">this heated discussion in the MeshCore Github&lt;/a> that the violation of FCC regulations became clear. This resulted in a few days of waiting to see if the Meshtastic project would say anything about it before we decided to stop waiting and make this post ourselves.&lt;/p>
&lt;h3 id="shouldnt-someone-be-fixing-this" >Shouldn&amp;rsquo;t someone be fixing this?
&lt;span>
&lt;a href="#shouldnt-someone-be-fixing-this" title="Direct Link to Shouldn&amp;rsquo;t someone be fixing this?">
&lt;svg viewBox="0 0 28 23" height="100%" width="19" alt="" xmlns="http://www.w3.org/2000/svg">&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;/svg>
&lt;/a>
&lt;/span>
&lt;/h3>
&lt;p>Meshtastic is a global project. Many of the developers are based in Europe, where the regulations are actually the opposite (in their 433 MHz frequency band the bandwidth must be less than 500 kHz). Only a small subset of the devices that hardware manufacturers sell are being used for Meshtastic, so they leave it up to the users to make sure their devices are in compliance. If there is a better solution to this issue, such as a different frequency band to use in North America for Meshtastic, we don&amp;rsquo;t see it arriving quickly.&lt;/p>
&lt;h3 id="could-lowering-the-power-on-meshtastic-transmissions-allow-us-to-still-have-a-bandwidth-of-250-khz-and-be-fcc-compliant" >Could lowering the power on Meshtastic transmissions allow us to still have a bandwidth of 250 kHz and be FCC-compliant?
&lt;span>
&lt;a href="#could-lowering-the-power-on-meshtastic-transmissions-allow-us-to-still-have-a-bandwidth-of-250-khz-and-be-fcc-compliant" title="Direct Link to Could lowering the power on Meshtastic transmissions allow us to still have a bandwidth of 250 kHz and be FCC-compliant?">
&lt;svg viewBox="0 0 28 23" height="100%" width="19" alt="" xmlns="http://www.w3.org/2000/svg">&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;/svg>
&lt;/a>
&lt;/span>
&lt;/h3>
&lt;p>Yes, but we&amp;rsquo;re pretty sure it would have to be lowered so much that Meshtastic LongFast would be completely useless. Some math by one of our members, KT3H, says that the power would be limited to something like 0.0006 Watts, which is tiny compared to the ~1 Watt we have been using. Lowering the power on Meshtastic LongFast that much would severely compromise our ability to communicate using Meshtastic. Messages wouldn&amp;rsquo;t be able to travel as far and the mesh would perform significantly worse. Using Meshtastic LongFast at a fraction of the power would be even worse than using Meshtastic LongTurbo.&lt;/p>
&lt;h3 id="that-00006-watt-number-is-very-specific-how-did-you-calculate-it-also-what-are-the-actual-regulations-were-discussing-here" >That 0.0006 Watt number is very specific, how did you calculate it? Also, what are the actual regulations we&amp;rsquo;re discussing here?
&lt;span>
&lt;a href="#that-00006-watt-number-is-very-specific-how-did-you-calculate-it-also-what-are-the-actual-regulations-were-discussing-here" title="Direct Link to That 0.0006 Watt number is very specific, how did you calculate it? Also, what are the actual regulations we&amp;rsquo;re discussing here?">
&lt;svg viewBox="0 0 28 23" height="100%" width="19" alt="" xmlns="http://www.w3.org/2000/svg">&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;/svg>
&lt;/a>
&lt;/span>
&lt;/h3>
&lt;p>Our understanding of the regulation is as follows (with the usual caveat that we are not lawyers and are awaiting official word on guidance): Unlicensed operation in the 902 MHz band is governed by 47 CFR Part 15 Subpart C. There are two sections that apply, and you must pick one to operate under. Under §15.247 the bandwidth must be no less than 500 kHz, but the power can be up to 1 Watt. Under §15.247 there is no bandwidth restriction, but the maximum field strength is 50 mV/m at a distance of 3 meters. This is equivalent to an output power of 0.0006 Watts.&lt;/p>
&lt;h3 id="can-we-move-to-another-frequency-band-that-has-different-regulations" >Can we move to another frequency band that has different regulations?
&lt;span>
&lt;a href="#can-we-move-to-another-frequency-band-that-has-different-regulations" title="Direct Link to Can we move to another frequency band that has different regulations?">
&lt;svg viewBox="0 0 28 23" height="100%" width="19" alt="" xmlns="http://www.w3.org/2000/svg">&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;/svg>
&lt;/a>
&lt;/span>
&lt;/h3>
&lt;p>Potentially. But that would require, first, a research effort to find one compatible with the Meshtastic project. Second, it would almost certainly require purchasing new antennas for all our nodes. And third, it would likely require us to purchase entirely new nodes (which would first need to be designed and manufactured) that are compatible with the new frequency. Unfortunately, we don&amp;rsquo;t see that happening anytime soon.&lt;/p>
&lt;h3 id="is-there-a-chance-the-fcc-will-change-their-regulations" >Is there a chance the FCC will change their regulations?
&lt;span>
&lt;a href="#is-there-a-chance-the-fcc-will-change-their-regulations" title="Direct Link to Is there a chance the FCC will change their regulations?">
&lt;svg viewBox="0 0 28 23" height="100%" width="19" alt="" xmlns="http://www.w3.org/2000/svg">&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;/svg>
&lt;/a>
&lt;/span>
&lt;/h3>
&lt;p>The FCC is largely concerned with regulating the frequency bands that they license for commercial use. While using amateur bands brings us nerds a lot of joy, it actually results in less money in licensing for the government. Furthermore, &lt;a href="https://meshtastic.org/blog/meshtastic-opposition-to-nextnav-proposed-changes/">NextNav has been lobbying the FCC&lt;/a> to further restrict amateur usage of the 900 MHz ISM band and reserve parts of it for commercial use. We consider ourselves lucky that NextNav hasn&amp;rsquo;t succeeded thus far, and unless an independently wealthy Meshtastic user wants to fund their own lobbying campaign, we see a change in FCC regulation to be unlikely.&lt;/p>
&lt;h3 id="do-we-expect-meshtastic-longturbo-to-perform-better-in-the-future-than-it-did-during-our-testing" >Do we expect Meshtastic LongTurbo to perform better in the future than it did during our testing?
&lt;span>
&lt;a href="#do-we-expect-meshtastic-longturbo-to-perform-better-in-the-future-than-it-did-during-our-testing" title="Direct Link to Do we expect Meshtastic LongTurbo to perform better in the future than it did during our testing?">
&lt;svg viewBox="0 0 28 23" height="100%" width="19" alt="" xmlns="http://www.w3.org/2000/svg">&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;/svg>
&lt;/a>
&lt;/span>
&lt;/h3>
&lt;p>We do expect Meshtastic LongTurbo to perform marginally better once more people switch over to it. We didn&amp;rsquo;t have a large number of nodes participating in this test, and because LongTurbo messages don&amp;rsquo;t go very far we needed more nodes than we had to get a proper mesh going. We expect that as Meshtastic LongTurbo adoption increases (and as we install more well-placed infrastructure dual-radio nodes that support LongTurbo) we will be able to communicate better over short distances using LongTurbo. The reason we&amp;rsquo;re also focusing on building out MeshCore at 500 kHz is because those messages seem to be able to go a lot further, and that gives us the best shot to be able to communicate across our wide metro area, from Jersey to Delco and beyond.&lt;/p>
&lt;p>A core goal of the group is to be accessible to those who are new to mesh networks and be in touch with whatever is most used in our area. That&amp;rsquo;s why our dual-radio infrastructure nodes will have one radio tuned to whatever the current Meshtastic default preset is (as long as it&amp;rsquo;s FCC-compliant) and the other will be on MeshCore at 500 kHz. We may move somewhere else in the future, but that&amp;rsquo;s what we expect to be using until the next big revelation or new technology release.&lt;/p>
&lt;h3 id="i-have-a-good-place-for-a-node-or-a-resourceskill-i-can-bring-to-phillymesh" >I have a good place for a node, or a resource/skill I can bring to PhillyMesh!
&lt;span>
&lt;a href="#i-have-a-good-place-for-a-node-or-a-resourceskill-i-can-bring-to-phillymesh" title="Direct Link to I have a good place for a node, or a resource/skill I can bring to PhillyMesh!">
&lt;svg viewBox="0 0 28 23" height="100%" width="19" alt="" xmlns="http://www.w3.org/2000/svg">&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;/svg>
&lt;/a>
&lt;/span>
&lt;/h3>
&lt;p>Please let the Ops Division know by tagging @PhillyMesh Operations Division on Discord! For node locations to be officially associated with PhillyMesh, you must have explicit permission from the property owner to install the node, and if you have internet and/or power at the location that&amp;rsquo;s a huge plus.&lt;/p></description></item><item><title>How to Flash MeshCore</title><link>https://prm.boda.dev/2026/09/02/how-to-flash-meshcore/</link><pubDate>Wed, 02 Sep 2026 00:00:01 +0000</pubDate><author>RightSizedAlpaca</author><guid>https://prm.boda.dev/2026/09/02/how-to-flash-meshcore/</guid><description>&lt;h1 id="how-to-flash-a-meshtastic-node-to-meshcore" >How to flash a Meshtastic node to MeshCore
&lt;span>
&lt;a href="#how-to-flash-a-meshtastic-node-to-meshcore" title="Direct Link to How to flash a Meshtastic node to MeshCore">
&lt;svg viewBox="0 0 28 23" height="100%" width="19" alt="" xmlns="http://www.w3.org/2000/svg">&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;/svg>
&lt;/a>
&lt;/span>
&lt;/h1>
&lt;h2 id="1-back-up-your-previous-meshtastic-settings" >1. Back up your previous Meshtastic settings
&lt;span>
&lt;a href="#1-back-up-your-previous-meshtastic-settings" title="Direct Link to 1. Back up your previous Meshtastic settings">
&lt;svg viewBox="0 0 28 23" height="100%" width="19" alt="" xmlns="http://www.w3.org/2000/svg">&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;/svg>
&lt;/a>
&lt;/span>
&lt;/h2>
&lt;ul>
&lt;li>Before doing anything, it is recommended to backup your current Meshtastic node config.&lt;/li>
&lt;li>From your phone app while connected to your Meshtastic node, go to Settings &amp;gt; Export Configuration, select all toggles, and then save that .cfg file somewhere safe.&lt;/li>
&lt;li>If ever you want to change your node back to Meshtastic, you can use this config file with the &amp;ldquo;Import Configuration&amp;rdquo; to more quickly return it to its current state.&lt;/li>
&lt;/ul>
&lt;h2 id="2-grab-your-node-and-a-good-data-enabled-usb-cable" >2. Grab your node and a GOOD data-enabled USB cable
&lt;span>
&lt;a href="#2-grab-your-node-and-a-good-data-enabled-usb-cable" title="Direct Link to 2. Grab your node and a GOOD data-enabled USB cable">
&lt;svg viewBox="0 0 28 23" height="100%" width="19" alt="" xmlns="http://www.w3.org/2000/svg">&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;/svg>
&lt;/a>
&lt;/span>
&lt;/h2>
&lt;ul>
&lt;li>Just like when doing firmware updates via serial, you&amp;rsquo;re going to want a good cable that enables data transmission (many cables are charge-only).
&lt;ul>
&lt;li>If you have a cable that worked for Meshtastic flashing, it should work for MeshCore as well.&lt;/li>
&lt;li>So many instances of &amp;ldquo;flashing failed&amp;rdquo; are cable-related. If the thing is old, wobbly, been chewed on by your cat, filled with lint, been through the washing machine, been used by Gritty, etc&amp;hellip; get a better cable, otherwise you&amp;rsquo;re gonna have a bad time.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;h2 id="3-connect-your-node-to-your-computer" >3. Connect your node to your computer
&lt;span>
&lt;a href="#3-connect-your-node-to-your-computer" title="Direct Link to 3. Connect your node to your computer">
&lt;svg viewBox="0 0 28 23" height="100%" width="19" alt="" xmlns="http://www.w3.org/2000/svg">&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;/svg>
&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>If it&amp;rsquo;s USB-A, it&amp;rsquo;s upside-down, flip it. Now flip it again.
GUESS WHAT, IT WAS RIGHT THE FIRST TIME, flip it one more time.&lt;/p>
&lt;h2 id="4-open-the-meshcore-flasher" >4. Open the MeshCore Flasher
&lt;span>
&lt;a href="#4-open-the-meshcore-flasher" title="Direct Link to 4. Open the MeshCore Flasher">
&lt;svg viewBox="0 0 28 23" height="100%" width="19" alt="" xmlns="http://www.w3.org/2000/svg">&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;/svg>
&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>Go to &lt;a href="https://flasher.meshcore.io/">https://flasher.meshcore.io/&lt;/a>&lt;/p>
&lt;p>Note that you&amp;rsquo;ll need to use a Chromium-based browser, like Chrome or Edge.
Firefox isn&amp;rsquo;t going to work.&lt;/p>
&lt;h2 id="5-select-device-type" >5. Select Device Type
&lt;span>
&lt;a href="#5-select-device-type" title="Direct Link to 5. Select Device Type">
&lt;svg viewBox="0 0 28 23" height="100%" width="19" alt="" xmlns="http://www.w3.org/2000/svg">&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;/svg>
&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>Find your exact node (exact model) and click on it.&lt;/p>
&lt;p>If you can&amp;rsquo;t find your exact model, ask in the Discord.&lt;/p>
&lt;h2 id="6-select-device-role" >6. Select Device Role
&lt;span>
&lt;a href="#6-select-device-role" title="Direct Link to 6. Select Device Role">
&lt;svg viewBox="0 0 28 23" height="100%" width="19" alt="" xmlns="http://www.w3.org/2000/svg">&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;/svg>
&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>Unlike Meshtastic where you could change between CLIENT and CLIENT_MUTE in the app, MeshCore requires specific firmware for each role.&lt;/p>
&lt;ul>
&lt;li>If you only have one single device/node, select &amp;ldquo;Companion Bluetooth&amp;rdquo;.&lt;/li>
&lt;li>If you have a multi-node setup
&lt;ul>
&lt;li>Select &amp;ldquo;Companion Bluetooth&amp;rdquo; for your pocket node.&lt;/li>
&lt;li>Select &amp;ldquo;Repeater&amp;rdquo; for the powerful/stationary node (the node on your roof, in your tree, in your attic, etc.)
&lt;ul>
&lt;li>Note that repeater nodes cannot be configured via bluetooth, but once configured over USB you can make changes from your companion node.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;h2 id="7-flash-the-meshcore-firmware" >7. Flash the MeshCore Firmware
&lt;span>
&lt;a href="#7-flash-the-meshcore-firmware" title="Direct Link to 7. Flash the MeshCore Firmware">
&lt;svg viewBox="0 0 28 23" height="100%" width="19" alt="" xmlns="http://www.w3.org/2000/svg">&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;/svg>
&lt;/a>
&lt;/span>
&lt;/h2>
&lt;h3 id="for-nrf-based-nodes" >For NRF-based nodes
&lt;span>
&lt;a href="#for-nrf-based-nodes" title="Direct Link to For NRF-based nodes">
&lt;svg viewBox="0 0 28 23" height="100%" width="19" alt="" xmlns="http://www.w3.org/2000/svg">&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;/svg>
&lt;/a>
&lt;/span>
&lt;/h3>
&lt;ul>
&lt;li>There is a warning at the top that says &amp;ldquo;We strongly recommend installing OTAFIX BOOTLOADER … for more reliable Bluetooth OTA DFU.&amp;rdquo; Click on &amp;ldquo;OTAFIX BOOTLOADER&amp;rdquo; and it will download a .uf2 file that does this. Follow the instructions here: &lt;a href="https://blog.meshcore.io/2026/04/06/otafix-bootloader">Installing the OTAFix Bootloader - MeshCore Blog&lt;/a>. When it comes time to update the node, you will be happy you did this.&lt;/li>
&lt;li>Click &amp;ldquo;Enter DFU Mode&amp;rdquo; (in theory there is no need to double click the reset button anymore). If nothing happens (no pop up), ensure you are using a Chromium based browser like Chrome or Edge.&lt;/li>
&lt;li>When the pop-up with devices shows up, select the COM port of your device. It is typically something like &amp;ldquo;nRF Serial&amp;rdquo; but may be something different depending on your device. When it is connected, the previous &amp;ldquo;Enter DFU Mode&amp;rdquo; button will now have a check and say &amp;ldquo;DFU Mode Active&amp;rdquo;.&lt;/li>
&lt;li>Click &amp;ldquo;Erase Flash&amp;rdquo;. When complete, a popup will show &amp;ldquo;Device erase firmware has been flashed and flash has been erased. You can flash MeshCore now.&amp;rdquo; Click OK.&lt;/li>
&lt;li>Click the Flash button. A similar popup with COM ports will allow you to select the device. A warning that the COM port number and/or device name may have changed now that it has been erased.&lt;/li>
&lt;/ul>
&lt;h3 id="for-esp32-based-nodes" >For ESP32-based nodes
&lt;span>
&lt;a href="#for-esp32-based-nodes" title="Direct Link to For ESP32-based nodes">
&lt;svg viewBox="0 0 28 23" height="100%" width="19" alt="" xmlns="http://www.w3.org/2000/svg">&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;/svg>
&lt;/a>
&lt;/span>
&lt;/h3>
&lt;ul>
&lt;li>Select &amp;ldquo;Erase Device&amp;rdquo; because the current firmware on your node is Meshtastic and must be erased.&lt;/li>
&lt;li>Click &amp;ldquo;Flash&amp;rdquo;&lt;/li>
&lt;li>In the pop-up, select your node based on the COM port. Click OK.&lt;/li>
&lt;li>Watch the progress. Beware that erasing flash may take some time (minutes) where it appears little progress is occurring, then it will then progress to flashing.&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>DON&amp;rsquo;T CLOSE THE WINDOW OR DISCONNECT THE DEVICE YET&lt;/strong>&lt;/p>
&lt;h2 id="8-configure-your-new-meshcore-node" >8. Configure your new MeshCore Node
&lt;span>
&lt;a href="#8-configure-your-new-meshcore-node" title="Direct Link to 8. Configure your new MeshCore Node">
&lt;svg viewBox="0 0 28 23" height="100%" width="19" alt="" xmlns="http://www.w3.org/2000/svg">&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;/svg>
&lt;/a>
&lt;/span>
&lt;/h2>
&lt;h3 id="for-companion-nodes" >For Companion Nodes
&lt;span>
&lt;a href="#for-companion-nodes" title="Direct Link to For Companion Nodes">
&lt;svg viewBox="0 0 28 23" height="100%" width="19" alt="" xmlns="http://www.w3.org/2000/svg">&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;/svg>
&lt;/a>
&lt;/span>
&lt;/h3>
&lt;ul>
&lt;li>After flashing in step 7, disconnect the node from your computer and pair it to your phone using Bluetooth.
&lt;ul>
&lt;li>If the device has a screen, the PIN is displayed there as a randomized six digit number.&lt;/li>
&lt;li>If the device has no screen, 123456 is the default PIN.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Configure the radio to match the settings listed in &lt;a href="https://prm.boda.dev/2026/09/02/fcc-regulations/#meshcore-and-meshtastic-fcc-compliant-settings">our post about &amp;ldquo;MeshCore500&amp;rdquo;&lt;/a>&lt;/li>
&lt;/ul>
&lt;h3 id="for-repeater-nodes" >For Repeater Nodes
&lt;span>
&lt;a href="#for-repeater-nodes" title="Direct Link to For Repeater Nodes">
&lt;svg viewBox="0 0 28 23" height="100%" width="19" alt="" xmlns="http://www.w3.org/2000/svg">&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;/svg>
&lt;/a>
&lt;/span>
&lt;/h3>
&lt;ul>
&lt;li>After flashing in step 7, DO NOT DISCONNECT the node from your computer. Initial settings must be made over serial first!&lt;/li>
&lt;li>Click on &amp;ldquo;Configure via USB&amp;rdquo;.&lt;/li>
&lt;li>A new window will pop up. Click &amp;ldquo;Connect&amp;rdquo; in the top right. Yet another pop up will let you select the device via COM port, and yet again the number and/or name may have changed.&lt;/li>
&lt;li>The repeater setup page has a few settings you MUST setup before you disconnect, we&amp;rsquo;ll start with those:
&lt;ul>
&lt;li>Under ACCESS, create a new admin password and keep it somewhere safe. This is how you will access your repeater via LoRa. If you lose this, you can&amp;rsquo;t get back into the repeater without plugging it back into your computer again.&lt;/li>
&lt;li>Under RADIO SETTINGS, change the settings to match the settings listed in &lt;a href="https://prm.boda.dev/2026/09/02/fcc-regulations/#meshcore-and-meshtastic-fcc-compliant-settings">our post about &amp;ldquo;MeshCore500&amp;rdquo;&lt;/a>. These settings (freq, bandwidth, SF, coding rate) must match your companion node for the two to see each other and the rest of the mesh.&lt;/li>
&lt;li>Click SAVE SETTINGS at the bottom. A toast message with &amp;ldquo;Data successfully saved&amp;rdquo; should pop up for a second.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>At this point you can disconnect your repeater and configure the rest over LoRa (using the password you just set), or finish setting it up here on a bigger screen while you&amp;rsquo;re already connected.
&lt;ul>
&lt;li>Copy the Public and Private keys and keep them somewhere safe.&lt;/li>
&lt;li>In NAME &amp;amp; LOCATION, at least change the name to something unique. A warning that when you set the location (now or later on) it will truncate the name from 32 bytes to 24 bytes.&lt;/li>
&lt;li>Under ADVERTISING, change the Advert Interval to 240. Leave the Flood Advert at 47.&lt;/li>
&lt;li>In Owner Info, feel free to put in your Discord username or Ham call sign or leave it blank, whatever you&amp;rsquo;re comfortable with!&lt;/li>
&lt;li>Click on the SHOW ADVANCED SETTINGS checkbox and change LOOP DETECTION to Minimal. Change PATH HASH MODE from 1-byte (0) to 2-byte (1).&lt;/li>
&lt;li>Hit SAVE SETTINGS in the bottom left.&lt;/li>
&lt;li>Hit Reboot in the top middle (some of the settings don&amp;rsquo;t take effect until after a reboot). Rebooting also has the effect of disconnecting the device from the computer. You can now unplug and place the repeater back into its strategic location!&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Your repeater should now be automatically repeating packets, and when you send a message using your companion node, you should see your repeater as the first hop out.&lt;/li>
&lt;/ul>
&lt;h3 id="update-time-and-location" >Update Time and Location
&lt;span>
&lt;a href="#update-time-and-location" title="Direct Link to Update Time and Location">
&lt;svg viewBox="0 0 28 23" height="100%" width="19" alt="" xmlns="http://www.w3.org/2000/svg">&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;/svg>
&lt;/a>
&lt;/span>
&lt;/h3>
&lt;p>Look for a setting similar to &amp;ldquo;sync/set device clock to phone time&amp;rdquo; and click it.&lt;/p>
&lt;ul>
&lt;li>MeshCore can be weird with time settings, it is a good practice to occasionally do this so your node&amp;rsquo;s clock doesn&amp;rsquo;t become too out-of-sync with the mesh.&lt;/li>
&lt;li>Some apps have a setting to sync automatically.&lt;/li>
&lt;/ul>
&lt;p>Set a location for your node, especially if it&amp;rsquo;s a repeater.&lt;/p>
&lt;ul>
&lt;li>The easiest way to do this is from the map view, where you can select a location and set it as your node location.&lt;/li>
&lt;li>Note that the location does not get &amp;ldquo;fuzzed&amp;rdquo; like in Meshtastic, please do not use your exact home address if you are not comfortable doing so.&lt;/li>
&lt;/ul>
&lt;h2 id="so-im-on-meshcore-what-now" >So I&amp;rsquo;m on MeshCore&amp;hellip; What now?
&lt;span>
&lt;a href="#so-im-on-meshcore-what-now" title="Direct Link to So I&amp;rsquo;m on MeshCore&amp;hellip; What now?">
&lt;svg viewBox="0 0 28 23" height="100%" width="19" alt="" xmlns="http://www.w3.org/2000/svg">&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;/svg>
&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>First, let us be the first to welcome you to the mesh!&lt;/p>
&lt;ul>
&lt;li>It may seem a bit empty at first, remember the default advertising intervals are much longer than on a Meshtastic mesh!&lt;/li>
&lt;li>If you are on or near PhillyMesh open our &lt;a href="https://corescope500.phlm.sh/#/live">Live CoreScope Map&lt;/a> to watch the current mesh traffic.&lt;/li>
&lt;li>If you are on your companion you should manually send out a flood &amp;amp; zero hop advertisement.&lt;/li>
&lt;li>Under your tools or settings menu (depending on app) there should be a &amp;ldquo;Discover Nearby Nodes&amp;rdquo; option, click that.&lt;/li>
&lt;li>Try saying hello in the public channel!&lt;/li>
&lt;li>Add your first hashtag channel &amp;ldquo;#test&amp;rdquo; and try sending out a message with &amp;ldquo;test&amp;rdquo; or &amp;ldquo;ping&amp;rdquo; in it. We have members running bots in there that should reply if they hear your message.&lt;/li>
&lt;li>Be patient! The first day can take a while for your map to fill in and local devices to discover your new devices and their routes!&lt;/li>
&lt;/ul>
&lt;h2 id="done-unless" >Done! Unless&amp;hellip;
&lt;span>
&lt;a href="#done-unless" title="Direct Link to Done! Unless&amp;hellip;">
&lt;svg viewBox="0 0 28 23" height="100%" width="19" alt="" xmlns="http://www.w3.org/2000/svg">&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;/svg>
&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>For any step, when in doubt, feel free to reach out! We&amp;rsquo;re happy to help on the Discord.&lt;/p></description></item></channel></rss>