MeshCore — buenas prácticas

Para recordar

  1. Acercarse a los grupos locales

    Ante todo, busca los grupos MeshCore de tu ciudad, tu región o tu país. Ellos sostienen la malla.

  2. La misma radio que la malla

    Usa el preajuste de tu comunidad. En Europa y el Reino Unido suele ser EU/UK (Narrow).

  3. Hops de 2 bytes

    En la app, pon la cabecera de ruta en 2 bytes (32 saltos) cuando la malla a tu alrededor esté en 1.14+.

Esta página está hecha para viajar por el aire. Una URL corta, sin cuenta, y no depende de un solo municipio. La ley de radio de tu país manda. Los nombres de región y el preajuste exacto son los de tu comunidad, no una norma mundial única.

Firmware útil: 1.14+ para hops de varios bytes, 1.17+ para el CAD. App MeshCore reciente (1.41+ para hops, 1.49+ para los menús de red descritos aquí).

Comunidad

El consejo más útil: acércate a los grupos MeshCore de tu ciudad, tu región o tu país. El preajuste de radio, los nombres de región, los canales y la ubicación de los repetidores se deciden allí. Un nodo aislado, aunque bien configurado, puede perjudicar la malla si ignora las decisiones locales.

Radio

Todos los nodos de la misma malla deben compartir la misma frecuencia, ancho de banda, factor de dispersión y tasa de codificación. Un preajuste distinto y no oyes a nadie.

Elige el preajuste en Ajustes → Ajustes de radio (o al flashear). En Europa y el Reino Unido el preajuste recomendado es EU/UK (Narrow): 869,618 MHz, 62,5 kHz, SF8, CR8. Suiza publica las mismas cifras. Otros países tienen su propia línea en la app. No copies un preajuste extranjero «porque llega más lejos».

El hardware debe coincidir con la banda legal: 868 MHz en Europa y el Reino Unido, 915 MHz en Estados Unidos, Canadá, Australia y Nueva Zelanda. Una radio 868 no se vuelve legal en EE. UU. cambiando un menú.

Preajustes vistos en la app oficial (instantánea comunitaria, enero 2026; la app sigue siendo la referencia):

Zona Preajuste Frecuencia SF BW CR
UE / UK EU/UK (Narrow) 869,618 MHz 8 62,5 kHz 8
Suiza Switzerland 869,618 MHz 8 62,5 kHz 8
Chequia Czech Republic (Narrow) 869,525 MHz 7 62,5 kHz 5
Portugal 868 Portugal 868 869,618 MHz 7 62,5 kHz 6
EE. UU. / Canadá USA/Canada (Recommended) 910,525 MHz 7 62,5 kHz 5
Australia Australia 915,800 MHz 10 250 kHz 5
Victoria (AU) Australia: Victoria 916,575 MHz 7 62,5 kHz 8
Nueva Zelanda New Zealand (Narrow) 917,375 MHz 7 62,5 kHz 5
Vietnam Vietnam 920,250 MHz 11 250 kHz 5

Subbanda europea 869,4–869,65 MHz: en general 500 mW PRE y ciclo de trabajo del 10 %. Con una antena de ganancia, baja la potencia de emisión. En Estados Unidos, la FCC 15.247 es otra: no hay un 10 % europeo. Consulta la autoridad local.

Hops de 2 bytes

La ruta de un paquete puede codificar repetidores en 1, 2 o 3 bytes. Un byte sigue funcionando en firmware viejo, pero las colisiones de identificador son frecuentes. 2 bytes (65 536 identificadores, 32 saltos como máximo) es el buen compromiso cuando hay suficientes repetidores en 1.14+. Los nodos más antiguos tiran los paquetes de varios bytes. Tres bytes (21 saltos) es para despliegues muy grandes.

En el compañero: ⚙ Ajustes → Ajustes de red → tamaño de cabecera por defecto 2 bytes, o ⚙ Ajustes → Ajustes experimentales (según la versión).

Compañero

Nombra el nodo en ⚙ Ajustes → Información pública. El prefijo país ISO + subdivisión se usa en todos los nodos, compañeros incluidos: ES-MD-Ana, ES-B-Pablo.

En Ajustes de red: cabecera 2 bytes, región por defecto = tu país (es, fr, gb…). Añade los canales hashtag de tu comunidad (a menudo #país, #emergency solo para urgencias, #info, #meteo, #test, más el local). Luego fija el ámbito de región en cada canal.

No inventes un preajuste de radio «para ganar alcance» si la malla de tu entorno ya está fijada.

Lista de comprobación

  1. Acercarte a los grupos MeshCore de tu ciudad, región o país.
  2. Banda y preajuste iguales a la malla local (EU/UK Narrow en Europa / UK, salvo decisión local).
  3. Firmware 1.17+ en todos los nodos.
  4. Cabecera / hops a 2 bytes en la app.
Tengo un repetidor

Regiones en jerarquía

Sin región, un mensaje de vecinos puede cruzar un país entero y saturar el canal. Una región es una etiqueta del paquete. El repetidor solo reenvía si esa etiqueta está en su lista. La coincidencia es exacta: es no es es-md. Por eso la jerarquía, y por eso hay que listar cada región útil.

Convención habitual: minúsculas, a-z, 0-9, guiones, 29 bytes como máximo.

continente → país → zona → local
eu         → es   → es-md → es-mad
eu         → fr   → fr-pac → fr-06
eu         → gb   → gb-eng → gb-nwk
us         → us-fl → us-fl-cfl
au         → au-nsw → au-nsw-syd

Los nombres exactos son los de tu comunidad. Descúbrelos en la app: abrir un canal → ⋮ → definir el ámbito → descubrir regiones.

Ejemplo de cadena en un repetidor (adáptala):

region def eu es es-md es-mad
region default es
region home es
region save

region def crea una cadena padre → hijo y permite el flood. region put hijo padre hace lo mismo paso a paso. region default es el ámbito de los paquetes que este nodo origina. region home indica dónde está. region save escribe en flash. Un repetidor que solo tiene * no filtra lo local: muchas comunidades no se fían.

En el compañero, vincula cada canal a una región. Un esquema, no una lista obligatoria:

Canal Región típica
Público continente (eu, a veces el país)
#país (#es, #fr) país
#emergency, #info, #meteo, #test zona
canal local (municipio, provincia) local

Un mensaje local con ámbito es-mad se detiene en el primer repetidor que no tenga es-mad. Es lo deseado. Usa nombres de lugar completos y guiones para evitar duplicados.

Repetidor

Nómbralo PAÍS-DPT-Ciudad-Barrio-libre. Las cuatro primeras letras de la ciudad van en mayúsculas, el resto en minúsculas. El barrio es opcional; el último segmento es libre (lugar, dueño). Ejemplo: ES-MD-MADRid-Centro-Ana. Colócalo alto, con alimentación continua, antena acordada y cable corto. Añade un contacto público. Deja la telemetría abierta a los invitados: sin contraseña de invitado. Sincroniza el reloj (clock sync desde el compañero).

CLI típica, adáptala (ciclo de trabajo 10 sobre todo en Europa en 869,4–869,65 MHz; en otro sitio, la ley local). Algunas comunidades desactivan el anuncio de 0 saltos (set advert.interval 0):

set advert.interval 240
set flood.advert.interval 24
set flood.max.advert 6
set flood.max.unscoped 5
set multi.acks 1
set path.hash.mode 1
set loop.detect minimal
set dutycycle 10
set agc.reset.interval 4
set cad on
set repeat on
region def eu es es-xx es-yy
region default es
region home es
region save
reboot
clock sync
Comando Función
advert.interval 240 Anuncio de 0 saltos cada 4 h, para vecinos cercanos.
flood.advert.interval 24 Descubrimiento de red una vez al día.
flood.max.advert 6 Los anuncios flood no se alejan demasiado.
flood.max.unscoped 5 Los mensajes sin región se quedan locales.
multi.acks 1 Más acuses de recibo, más fiabilidad.
path.hash.mode 1 Anuncios del repetidor en 2 bytes.
loop.detect minimal Corta bucles (umbrales según 1, 2 o 3 bytes).
dutycycle 10 Tope del 10 % (UE típica). 100 = sin límite de software.
agc.reset.interval 4 Recalibra la ganancia automática.
cad on Escucha el canal antes de emitir (firmware 1.17+).
repeat on Reenvío activado.

Firmware 1.17+ recomendado para CAD + hops de 2 bytes + regiones.

CAD

CAD (Channel Activity Detection): la radio escucha el canal antes de emitir y espera si está ocupado. En un repetidor o room server 1.17+:

set cad on

Está apagado por defecto.

En un emplazamiento muy ruidoso, el CAD puede retrasar una emisión unos segundos. Habla con la comunidad antes de apagarlo. En los compañeros, el CAD hardware aún no es un ajuste estable de la app: el gesto útil es set cad on en el repetidor.

  1. Regiones jerárquicas listadas una a una; canales vinculados; region save.
  2. Anuncios sobrios, multi-ACK, ciclo de trabajo legal, reloj en hora, repeat on.
  3. set cad on (1.17+).
  4. Nombre en formato PAÍS-DPT-Ciudad… (4 letras de ciudad en mayúsculas), contacto público, telemetría abierta a invitados, antena y alimentación cuidadas.

Fuentes

Adaptado del guía de los Alpes Marítimos para todos los países. Comandos: CLI MeshCore. Hops: FAQ MeshCore. Radio UE: MeshCore Europe. Preajustes: LetsMesh. CAD: notas 1.17.0. Proyecto: meshcore.io.