Un módulo LoRa Ebyte E22P-868M30S de 1 W en cualquier puerto USB
49,22 × 63,54 mm · dos capas · puente CH341F · listo para meshtasticd
Un adaptador USB-SPI que lleva un Ebyte E22P-868M30S — un SX1262 con amplificador de potencia, hasta 30 dBm — a meshtasticd en cualquier PC o Raspberry Pi, sin necesidad de pines GPIO. El puente es un CH341F en modo UIO, que es el que entiende el driver libch341-spi-userspace de Meshtastic.
El CH341 expone sus líneas de datos como pines UIO D0–D7. Así es como llegan al módulo LoRa, y cómo los nombra meshtasticd:
| Pin CH341 | Línea UIO | Pin E22P | config.yaml | Dirección |
|---|---|---|---|---|
| 15 | D0 | 19 NSS | CS: 0 | salida |
| 16 | D1 | 6 EN | RXen: 1 | salida |
| 17 | D2 | 15 NRST | Reset: 2 | salida |
| 18 | D3 | 18 SCK | — | salida |
| 19 | D4 | 14 BUSY | Busy: 4 | entrada |
| 20 | D5 | 17 MOSI | — | salida |
| 21 | D6 | 13 DIO1 | IRQ: 6 | entrada (fija) |
| 22 | D7 | 16 MISO | — | entrada (fija) |
En modo UIO la dirección de D0–D5 la fija el software; D6 y D7 son siempre entradas. Por eso MISO y la interrupción de paquete están en las dos últimas líneas. El pin DIO2 del módulo está puenteado a su T/R CTRL, de modo que la radio gobierna su propio conmutador de RF — que es lo que habilita DIO2_AS_RF_SWITCH.
| Ref | Componente | Encapsulado | LCSC | Función |
|---|---|---|---|---|
| U1 | CH341F | QFN-28 | C412870 | Puente USB a SPI |
| U2 | 24C02 | SOT-23-5 | C18723540 | EEPROM de configuración (VID/PID/modo) |
| U3 | E22P-868M30S | SMD module | — | Radio LoRa SX1262 con PA |
| U4 | XC6206P332MR | SOT-23-3 | C5148692 | LDO de 3,3 V para el puente |
| U5 | TPS2115ADRBT | SON-8 | C2863458 | Multiplexor de alimentación, USB o jack DC |
| U6 | DC-005-2.5A | THT | C2880544 | Jack de 5 V con contacto de conmutación |
| U7 | H7VHD3UA | SOD-323 | C20615807 | TVS en VBUS |
| D2 | TPD4E05U06 | USON-10 | C138714 | Protección ESD del USB |
| USB1 | KH-TYPE-C-16P | SMD | C709357 | Conector USB-C |
| X1 | 12 MHz | 3.2 × 2.5 mm | C9002 | Cristal del puente |
| C5 | 470 µF / 16 V | Ø6.3 mm | C42436549 | Polímero sólido, 28 mΩ — reserva de corriente para TX |
Los pasivos genéricos se dejan sin referencia a propósito, para que el ensamblador los tome de su stock. El módulo LoRa y el conector SMA se compran aparte.
El módulo consume 600–670 mA transmitiendo a 30 dBm, más de lo que un puerto USB está obligado a entregar. Así que la placa toma corriente de cualquiera de las dos fuentes y conmuta entre ellas con una regla que no depende de cuál tenga más tensión:
| USB | Jack | Fuente activa | LED |
|---|---|---|---|
| ✅ | ❌ | USB — usar potencia reducida | apagado |
| ✅ | ✅ | Jack — plena potencia | encendido |
| ❌ | ✅ | ninguna, salida en alta impedancia | — |
| ❌ | ❌ | ninguna, salida en alta impedancia | — |
El contacto de conmutación del jack gobierna uno de los pines de control del multiplexor, con su resistencia de pull-up referida a VBUS. Ese detalle hace que la señal signifique hay jack Y hay USB, y de ahí salen dos cosas: con el jack puesto siempre manda el jack, y con el host desconectado la radio se queda sin alimentar en vez de quedar viva junto a un puente muerto.
Cuelga del pin de estado del multiplexor, que es de drenador abierto y se pone a nivel bajo cuando la entrada conmutada es la del jack. Un LED encendido significa que la radio come del jack y puede transmitir a plena potencia; apagado, que está en USB.
El lado USB lleva un TVS en VBUS y un supresor ESD de cuatro canales en D+, D−, CC1 y CC2. El jack DC no lleva ninguno de los dos. El módulo se daña por encima de 5,5 V y el multiplexor tiene un máximo absoluto de 6 V, así que un alimentador de 9 o 12 V, o de centro negativo, destruye ambos. Usa sólo 5 V y comprueba la polaridad.
| Tamaño de placa | 49.22 × 63.54 mm |
| Capas | 2, FR4 de 1,6 mm |
| Vías | 0.6 / 0.3 mm |
| Acabado superficial | HASL o ENIG |
| Archivos | Gerbers, taladros, BOM y posiciones en el repositorio |
Nada de la placa se sale de los límites de fabricación estándar. La comprobación de reglas de diseño sale limpia, pero ten en cuenta que aún nadie ha soldado una — mira el aviso de arriba.
El proyecto completo de KiCad 10, los archivos de fabricación y la documentación están publicados en GitHub. KiCad embebe símbolos y huellas en los propios ficheros del proyecto, así que se abre en cualquier equipo sin instalar librerías.
El mapa de pines coincide con el preset oficial lora-usb-meshtoad-e22.yaml, así que sirve una configuración estándar:
Lora:
Module: sx1262
CS: 0
RXen: 1
Reset: 2
Busy: 4
IRQ: 6
spidev: ch341
DIO2_AS_RF_SWITCH: true
DIO3_TCXO_VOLTAGE: true
USB_VID: 0x1A86
USB_PID: 0x5512
# On USB alone, keep the port within its budget:
# SX126X_MAX_POWER: 10
Algo que conviene saber antes de enchufarla: la EEPROM tiene que estar programada con el modo 0x12, o el puente se enumera como puerto serie en vez del dispositivo paralelo/síncrono que espera el driver. Se graba por USB con CH341CFG o IMSProg.
meshtasticd no puede saber si el jack está conectado, así que SX126X_MAX_POWER es un ajuste fijo y no algo que el demonio adapte. Si la placa va a vivir sólo con USB, bájalo.