MeshCore — buenas prácticas
Para recordar
Acercarse a los grupos locales
Ante todo, acércate a los grupos MeshCore de tu ciudad, tu región o tu país. Ellos harán vivir la red contigo.
Ajustes
Toma el preajuste de tu comunidad. En Europa y el Reino Unido suele ser EU/UK (Narrow).
Hops de 2 bytes
En la app, pon la cabecera de ruta en 2 bytes (32 saltos). Así evitas perder la ruta de los mensajes y no poder responder.
¿Necesitas consejo?
Pide ayuda en el canal de tu país, en el peor caso en Public, y para los usuarios de Meshloom en el canal #Meshloom!
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 red 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 usa los mismos ajustes. Otros países tienen su propia línea en la app. No copies un preajuste extranjero «porque parece mejor».
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 que ofrece la app oficial de MeshCore (consultados en octubre de 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,432 MHz | 7 | 62,5 kHz | 5 |
| Hungría | Hungary | 869,618 MHz | 7 | 62,5 kHz | 5 |
| Países Bajos | Netherlands | 869,618 MHz | 7 | 62,5 kHz | 5 |
| Países Bajos (Limburgo) | Netherlands (Limburg) | 869,618 MHz | 8 | 62,5 kHz | 8 |
| Portugal 868 | Portugal 868 | 869,618 MHz | 7 | 62,5 kHz | 6 |
| Eslovaquia | Slovakia | 869,618 MHz | 7 | 62,5 kHz | 5 |
| EE. UU. | USA | 910,525 MHz | 7 | 62,5 kHz | 5 |
| Canadá | Canada | 910,525 MHz | 7 | 62,5 kHz | 5 |
| Australia | Australia | 915,800 MHz | 10 | 250 kHz | 5 |
| Australia (Narrow) | Australia (Narrow) | 916,575 MHz | 7 | 62,5 kHz | 7 |
| Nueva Zelanda | New Zealand (Narrow) | 917,375 MHz | 7 | 62,5 kHz | 5 |
| Vietnam | Vietnam (Narrow) | 920,250 MHz | 8 | 62,5 kHz | 5 |
Algunos preajustes proponen saltos más anchos: 2 bytes para Chequia, Hungría, Eslovaquia, Países Bajos (Limburgo) y Nueva Zelanda, 3 bytes para Canadá. La app también ofrece otros preajustes que no aparecen aquí (433 MHz, Brasil, Costa Rica, otras regiones de Australia, Nueva Zelanda (Gisborne), el sur de California). Las entradas marcadas «Deprecated» (EU/UK, Vietnam) son ajustes antiguos que MeshCore ha abandonado: úsalas solo si tu mesh local todavía las usa.
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 para permanecer en el límite. En Estados Unidos, la FCC 15.247 es otra: no hay un 10 % europeo. Consulta la autoridad local (SETELECO, ANFR, Ofcom, BNetzA, FCC, ACMA…).
Hops de 2 bytes
La ruta de un paquete puede codificar la dirección de los repetidores en 1, 2 o 3 bytes. Un byte basta para firmware viejo, pero las colisiones de identificador son frecuentes: el mensaje sale y llega a sus destinatarios, que luego ya no pueden responderte. 2 bytes (65 536 identificadores, 32 saltos como máximo) es el buen compromiso. Los repetidores con firmware anterior a 1.14 descartan sin avisar los paquetes de 2 o 3 bytes: comprueba que los de tu zona estén actualizados antes de cambiar.
En el compañero: ⚙ Ajustes → Ajustes de red → tamaño de cabecera por defecto 2 bytes.
Compañero
Nombra el nodo en ⚙ Ajustes → Información pública. El prefijo país ISO + provincia se usa en todos los nodos, compañeros incluidos: ESMD-Ana, ESB-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 #es, #emergency solo para urgencias, #info, #meteo, #test, más el local). Luego, canal por canal, fija el ámbito de región.
Lista de comprobación
- Acercarte a los grupos MeshCore de tu ciudad, región o país.
- Banda y preajuste iguales a la malla local (EU/UK Narrow en Europa / UK, salvo decisión local).
- Firmware 1.17+ en todos los nodos.
- 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 la red. Una región es una etiqueta del paquete. El repetidor solo reenvía si esa etiqueta está en su lista.
Convención habitual: minúsculas, a-z, 0-9, guiones, 30 caracteres como máximo (límite del firmware; un nombre más largo se corta).
| 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 pieza a pieza. 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, #nl) |
país |
| #urgencia, #info, #meteo, #test | zona |
| canal local (municipio, provincia) | local |
Un mensaje #madrid con ámbito es-md se detiene en el primer repetidor que no tenga es-md. Es lo deseado. Usa nombres de municipio completos, con guiones, para evitar duplicados (#las-rozas).
Repetidor
Nómbralo PAÍS-PROV-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: ESMD-MADRid-Centro-Ana. El firmware solo conserva los 31 primeros caracteres del nombre de un nodo: sé breve. 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, sin ahogar el canal. |
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, útil en un entorno ruidoso. |
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 firmware actual deja siempre el CAD apagado y no ofrece ningún ajuste: el gesto útil es set cad on en el repetidor.
- Regiones jerárquicas listadas una a una;
region save. - Anuncios sobrios, multi-ACK, ciclo de trabajo legal, reloj en hora,
repeat on. set path.hash.mode 1(1.14+) yset cad on(1.17+).- Nombre en formato
PAÍS-PROV-Ciudad…(4 letras de ciudad en mayúsculas), contacto público, telemetría abierta a invitados, antena y alimentación cuidadas.
Fuentes
Inspirado en la guía de los Alpes Marítimos.
Comandos: CLI MeshCore.
Hops: FAQ MeshCore.
Radio UE: MeshCore Europe.
Preajustes: preajustes de radio de MeshCore.
CAD: notas 1.17.0.
Proyecto: meshcore.io.