I am running the following software versions:
python 3.13.5
meshtastic 2.7.7
pyserial 3.5
pypubsub 4.0.7
paho-mqtt 2.1.0
I am running the following software versions:
python 3.13.5
meshtastic 2.7.7
pyserial 3.5
pypubsub 4.0.7
paho-mqtt 2.1.0
<!-- github-comment-id:3807769293 -->
The bridge starts up and messages can be sent from MeshCore to Meshtastic but they are displayed in hexadecimal:
MC_BIN: 3e210080db4639467c5bbc38439dcefcdd0073d8d76c5ab11eef9c1d9d925931192d7990
Sending from MeshTastic to MeshCore is not working. No message is visible in MC, however it is visible in the log
026-01-29 15:41:08 - MainThread - INFO - ammb.api - Bridge API server started on http://127.0.0.1:8080
2026-01-29 15:41:08 - MainThread - INFO - ammb.bridge - Bridge background tasks started. Running... (Press Ctrl+C to stop)
2026-01-29 15:41:26 - SerialReceiver - DEBUG - ammb.meshcore_handler - Serial RAW RX: b'>8\x00\x880\xe6\x15\x00\x11\xa3\r\x01\x0b`a\xe0\xf0J\xf5\xd7\x8bRC\x89\x05\xa9c\xa9~\x87\x03\x91\xa1\x82\x89/\x9f\x87\xf2\x95\x06G[\xb7\xa4\xee@\xa8\x1d1\xc2\x86\xd6\xee\x95;\xd5=?>\x01\x00\x83'
2026-01-29 15:41:26 - SerialReceiver - INFO - ammb.meshcore_handler - Queued message for Meshtastic ^all
2026-01-29 15:41:26 - MeshtasticSender - INFO - ammb.meshtastic_handler - Meshtastic TX -> Dest: ^all, Payload: 'MC_BIN: 3e38008830e6150011a30d010b6061e0f04af5d78b52438905a963a97e870391a182892f9f87f29506475bb7a4ee...'
2026-01-29 15:42:09 - publishing - INFO - ammb.meshtastic_handler - Meshtastic RX <TEXT_MESSAGE_APP> From !6f47ffc: 'from meshtastic'
2026-01-29 15:42:09 - publishing - DEBUG - ammb.meshtastic_handler - Queued message from !6f47ffc for external handler.
2026-01-29 15:42:09 - SerialSender - INFO - ammb.meshcore_handler - Serial TX port /dev/ttyACM0 payload b'from meshtastic'
2026-01-29 15:42:37 - HealthMonitor - WARNING - ammb.health - Component meshtastic health check is stale
2026-01-29 15:42:37 - HealthMonitor - WARNING - ammb.health - Component external health check is stale
2026-01-29 15:43:07 - HealthMonitor - WARNING - ammb.health - Component meshtastic health check is stale
2026-01-29 15:43:07 - HealthMonitor - WARNING - ammb.health - Component external health check is stale
Now we're talking!
The bridge starts up and messages can be sent from MeshCore to Meshtastic but they are displayed in hexadecimal:
MC_BIN: 3e210080db4639467c5bbc38439dcefcdd0073d8d76c5ab11eef9c1d9d925931192d7990
Sending from MeshTastic to MeshCore is not working. No message is visible in MC, however it is visible in the log
026-01-29 15:41:08 - MainThread - INFO - ammb.api - Bridge API server started on http://127.0.0.1:8080
2026-01-29 15:41:08 - MainThread - INFO - ammb.bridge - Bridge background tasks started. Running... (Press Ctrl+C to stop)
2026-01-29 15:41:26 - SerialReceiver - DEBUG - ammb.meshcore_handler - Serial RAW RX: b'>8\x00\x880\xe6\x15\x00\x11\xa3\r\x01\x0b`a\xe0\xf0J\xf5\xd7\x8bRC\x89\x05\xa9c\xa9~\x87\x03\x91\xa1\x82\x89/\x9f\x87\xf2\x95\x06G[\xb7\xa4\xee@\xa8\x1d1\xc2\x86\xd6\xee\x95;\xd5=?>\x01\x00\x83'
2026-01-29 15:41:26 - SerialReceiver - INFO - ammb.meshcore_handler - Queued message for Meshtastic ^all
2026-01-29 15:41:26 - MeshtasticSender - INFO - ammb.meshtastic_handler - Meshtastic TX -> Dest: ^all, Payload: 'MC_BIN: 3e38008830e6150011a30d010b6061e0f04af5d78b52438905a963a97e870391a182892f9f87f29506475bb7a4ee...'
2026-01-29 15:42:09 - publishing - INFO - ammb.meshtastic_handler - Meshtastic RX <TEXT_MESSAGE_APP> From !6f47ffc: 'from meshtastic'
2026-01-29 15:42:09 - publishing - DEBUG - ammb.meshtastic_handler - Queued message from !6f47ffc for external handler.
2026-01-29 15:42:09 - SerialSender - INFO - ammb.meshcore_handler - Serial TX port /dev/ttyACM0 payload b'from meshtastic'
2026-01-29 15:42:37 - HealthMonitor - WARNING - ammb.health - Component meshtastic health check is stale
2026-01-29 15:42:37 - HealthMonitor - WARNING - ammb.health - Component external health check is stale
2026-01-29 15:43:07 - HealthMonitor - WARNING - ammb.health - Component meshtastic health check is stale
2026-01-29 15:43:07 - HealthMonitor - WARNING - ammb.health - Component external health check is stale
It seems like health check is stuck.
curl http://localhost:8080/api/info
<!-- github-comment-id:3818154204 -->
I don't think the meshcore companion serial port accepts plain text or json.
I am not an expert on this.
https://github.com/meshcore-dev/MeshCore/wiki/Companion-Radio-Protocol
<!-- github-comment-id:3826108384 -->
Sending a MeshTastic message on the Public Channel, received at MC ok
Sending a MeshCore message on the Public Channel, not received on MT
Sending a MeshCore Advert, received at MT as a Public Message: MC_ADVERT:db46 --------
(venv) pi@Trixie21:/akita-meshtastic-meshcore-bridge $ python run_bridge.py
2026-02-09 11:32:40,943 - INFO - --- Akita Meshtastic Meshcore Bridge Starting ---
2026-02-09 11:32:40,943 - INFO - Loading configuration from: /home/pi/akita-meshtastic-meshcore-bridge/config.ini
2026-02-09 11:32:40,944 - INFO - Reading configuration from: /home/pi/akita-meshtastic-meshcore-bridge/config.ini
2026-02-09 11:32:40,948 - INFO - Configuration loaded successfully.
2026-02-09 11:32:40,948 - INFO - Selected external transport: serial
2026-02-09 11:32:40 - MainThread - INFO - root - Logging configured to level DEBUG (10)
2026-02-09 11:32:40 - MainThread - DEBUG - root - Logging level set to DEBUG
2026-02-09 11:32:40 - MainThread - INFO - root - Initializing bridge instance...
2026-02-09 11:32:40 - MainThread - INFO - ammb.bridge - Message queues initialized with max size: 100
2026-02-09 11:32:40 - MainThread - INFO - ammb.health - Health monitoring started
2026-02-09 11:32:40 - MainThread - INFO - ammb.bridge - Initializing network handlers...
2026-02-09 11:32:40 - MainThread - INFO - ammb.bridge - Selected external transport: Serial
2026-02-09 11:32:40 - MainThread - INFO - ammb.meshcore_handler - Selected serial protocol: companion_radio
2026-02-09 11:32:40 - MainThread - INFO - ammb.protocol - Using Serial protocol handler: MeshcoreCompanionProtocol
2026-02-09 11:32:40 - MainThread - DEBUG - ammb.protocol.MeshcoreCompanionProtocol - Serial protocol handler initialized.
2026-02-09 11:32:40 - MainThread - INFO - ammb.meshcore_handler - Initialized protocol handler: MeshcoreCompanionProtocol
2026-02-09 11:32:40 - MainThread - INFO - ammb.meshcore_handler - Serial Handler (MeshcoreHandler) Initialized.
2026-02-09 11:32:40 - MainThread - INFO - ammb.bridge - All required handlers initialized successfully.
2026-02-09 11:32:40 - MainThread - INFO - root - Starting bridge run loop...
2026-02-09 11:32:40 - MainThread - INFO - ammb.bridge - Starting AMMB run sequence...
2026-02-09 11:32:40 - MainThread - INFO - ammb.bridge - Attempting initial network connections...
2026-02-09 11:32:40 - MainThread - INFO - ammb.meshtastic_handler - Attempting connection to Meshtastic on /dev/ttyUSB0...
2026-02-09 11:32:42 - MainThread - INFO - ammb.meshtastic_handler - Connected to Meshtastic device. Node ID: !da576f40 (!da576f40)
2026-02-09 11:32:42 - MainThread - INFO - ammb.meshtastic_handler - Meshtastic receive callback registered.
2026-02-09 11:32:42 - MainThread - INFO - ammb.meshcore_handler - Serial port /dev/ttyACM0 opened successfully.
2026-02-09 11:32:42 - MainThread - INFO - ammb.meshcore_handler - Sent companion command: CMD_DEVICE_QUERY
2026-02-09 11:32:42 - MainThread - INFO - ammb.meshcore_handler - Sent companion command: CMD_APP_START
2026-02-09 11:32:42 - MainThread - INFO - ammb.bridge - Starting handler background tasks/threads...
2026-02-09 11:32:42 - MainThread - INFO - ammb.meshtastic_handler - Starting Meshtastic sender thread...
2026-02-09 11:32:42 - MeshtasticSender - INFO - ammb.meshtastic_handler - Meshtastic sender loop started.
2026-02-09 11:32:42 - MainThread - INFO - ammb.meshcore_handler - Starting Serial receiver thread...
2026-02-09 11:32:42 - SerialReceiver - INFO - ammb.meshcore_handler - Serial receiver loop started.
2026-02-09 11:32:42 - MainThread - INFO - ammb.meshcore_handler - Starting Serial sender thread...
2026-02-09 11:32:42 - SerialSender - INFO - ammb.meshcore_handler - Serial sender loop started.
2026-02-09 11:32:42 - MainThread - INFO - ammb.bridge - Bridge background tasks started. Running... (Press Ctrl+C to stop)
2026-02-09 11:32:42 - SerialReceiver - DEBUG - ammb.protocol.MeshcoreCompanionProtocol - Companion RAW bytes: 3e50000d08500840e2010033302d4e6f762d32303235004c494c59474f20542d4c6f52612056322e312d312e3600000000000000000000000000000000000076312e31312e302d3664333231393300000000003e430005010a14c2283a36a9691309d2cfda54c36dbeea8ee7efdfe969806a9aa61cf04c919669a04689030ceb110100012a00f29d060024f4000008084d4320427269646765
2026-02-09 11:32:42 - SerialReceiver - DEBUG - ammb.meshcore_handler - Serial RAW RX: b'\r\x08P\x08@\xe2\x01\x0030-Nov-2025\x00LILYGO T-LoRa V2.1-1.6\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00v1.11.0-6d32193\x00\x00\x00\x00\x00'
2026-02-09 11:32:42 - SerialReceiver - DEBUG - ammb.protocol.MeshcoreCompanionProtocol - Ignoring companion frame code: 13
2026-02-09 11:32:42 - SerialReceiver - DEBUG - ammb.meshcore_handler - Decoded serial message: None
2026-02-09 11:32:42 - SerialReceiver - DEBUG - ammb.meshcore_handler - Serial RAW RX: b'\x05\x01\n\x14\xc2(:6\xa9i\x13\t\xd2\xcf\xdaT\xc3m\xbe\xea\x8e\xe7\xef\xdf\xe9i\x80j\x9a\xa6\x1c\xf0L\x91\x96i\xa0F\x89\x03\x0c\xeb\x11\x01\x00\x01*\x00\xf2\x9d\x06\x00$\xf4\x00\x00\x08\x08MC Bridge'
2026-02-09 11:32:42 - SerialReceiver - DEBUG - ammb.protocol.MeshcoreCompanionProtocol - Ignoring companion frame code: 5
2026-02-09 11:32:42 - SerialReceiver - DEBUG - ammb.meshcore_handler - Decoded serial message: None
2026-02-09 11:32:42 - publishing - INFO - ammb.meshtastic_handler - Meshtastic RX <TEXT_MESSAGE_APP> From !8896db4: 'Hej '
2026-02-09 11:32:42 - publishing - DEBUG - ammb.meshtastic_handler - Queued message from !8896db4 for external handler.
2026-02-09 11:32:42 - SerialSender - INFO - ammb.meshcore_handler - Serial TX port /dev/ttyACM0 payload b'<\x0b\x00\x03\x00\x00\xca\xb7\x89iHej '
2026-02-09 11:32:42 - SerialReceiver - DEBUG - ammb.protocol.MeshcoreCompanionProtocol - Companion RAW bytes: 3e010000
2026-02-09 11:32:42 - SerialReceiver - DEBUG - ammb.meshcore_handler - Serial RAW RX: b'\x00'
2026-02-09 11:32:42 - SerialReceiver - DEBUG - ammb.meshcore_handler - Decoded serial message: {'companion_kind': 'ok', 'internal_only': True, 'protocol': 'companion_radio'}
2026-02-09 11:32:42 - SerialReceiver - INFO - ammb.meshcore_handler - Companion event: ok
2026-02-09 11:34:10 - HealthMonitor - WARNING - ammb.health - Component meshtastic health check is stale
2026-02-09 11:34:10 - HealthMonitor - WARNING - ammb.health - Component external health check is stale
2026-02-09 11:34:32 - publishing - INFO - ammb.meshtastic_handler - Meshtastic RX <TEXT_MESSAGE_APP> From !8896db4: 'Hej cfrån yosa'
2026-02-09 11:34:32 - publishing - DEBUG - ammb.meshtastic_handler - Queued message from !8896db4 for external handler.
2026-02-09 11:34:32 - SerialSender - INFO - ammb.meshcore_handler - Serial TX port /dev/ttyACM0 payload b'<\x16\x00\x03\x00\x008\xb8\x89iHej cfr\xc3\xa5n yosa'
2026-02-09 11:34:32 - SerialReceiver - DEBUG - ammb.protocol.MeshcoreCompanionProtocol - Companion RAW bytes: 3e010000
2026-02-09 11:34:32 - SerialReceiver - DEBUG - ammb.meshcore_handler - Serial RAW RX: b'\x00'
2026-02-09 11:34:32 - SerialReceiver - DEBUG - ammb.meshcore_handler - Decoded serial message: {'companion_kind': 'ok', 'internal_only': True, 'protocol': 'companion_radio'}
2026-02-09 11:34:32 - SerialReceiver - INFO - ammb.meshcore_handler - Companion event: ok
^C2026-02-09 11:34:54 - MainThread - INFO - ammb.bridge - Main loop exiting. Initiating shutdown sequence...
2026-02-09 11:34:54 - MainThread - INFO - ammb.bridge - Signaling shutdown to all components...
2026-02-09 11:34:54 - SerialReceiver - INFO - ammb.meshcore_handler - Serial receiver loop stopped.
2026-02-09 11:34:54 - MeshtasticSender - INFO - ammb.meshtastic_handler - Meshtastic sender loop stopped.
2026-02-09 11:34:54 - SerialSender - INFO - ammb.meshcore_handler - Serial sender loop stopped.
2026-02-09 11:34:59 - MainThread - INFO - ammb.health - Health monitoring stopped
2026-02-09 11:34:59 - MainThread - INFO - ammb.bridge - Stopping 2 handlers...
2026-02-09 11:34:59 - MainThread - INFO - ammb.meshcore_handler - Stopping Serial handler...
2026-02-09 11:34:59 - MainThread - INFO - ammb.meshcore_handler - Serial port /dev/ttyACM0 closed.
2026-02-09 11:34:59 - MainThread - INFO - ammb.meshcore_handler - Serial handler stopped.
2026-02-09 11:34:59 - MainThread - INFO - ammb.meshtastic_handler - Stopping Meshtastic handler...
2026-02-09 11:34:59 - MainThread - INFO - ammb.meshtastic_handler - Meshtastic handler stopped.
2026-02-09 11:34:59 - MainThread - INFO - ammb.bridge - Bridge shutdown sequence complete.
2026-02-09 11:34:59 - MainThread - INFO - root - KeyboardInterrupt received. Initiating graceful shutdown...
2026-02-09 11:34:59 - MainThread - INFO - root - --- Akita Meshtastic Meshcore Bridge Stopped ---
(venv) pi@Trixie21:/akita-meshtastic-meshcore-bridge $
It works well to send Public messages between MeshCore and MeshTastic,
great thanks!
One last question, is it possible to send messages from a Secondary channel
in any way?
Den tors 12 feb. 2026 kl 17:47 skrev sh4un @.***>:
Hi,
It works well to send Public messages between MeshCore and MeshTastic,
great thanks!
One last question, is it possible to send messages from a Secondary channel
in any way?
Den tors 12 feb. 2026 kl 17:47 skrev sh4un ***@***.***>:
> *sh4un-dot-com* left a comment
> (AkitaEngineering/Akita-Meshtastic-Meshcore-Bridge#3)
> <https://github.com/AkitaEngineering/Akita-Meshtastic-Meshcore-Bridge/issues/3#issuecomment-3892048990>
>
> This should now be resolved.
>
> —
> Reply to this email directly, view it on GitHub
> <https://github.com/AkitaEngineering/Akita-Meshtastic-Meshcore-Bridge/issues/3#issuecomment-3892048990>,
> or unsubscribe
> <https://github.com/notifications/unsubscribe-auth/AFY37DCZHOWXAPHDC54AXWL4LSVA7AVCNFSM6AAAAACSVS7UMKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZTQOJSGA2DQOJZGA>
> .
> You are receiving this because you authored the thread.Message ID:
> <AkitaEngineering/Akita-Meshtastic-Meshcore-Bridge/issues/3/3892048990@
> github.com>
>
<!-- github-comment-id:3901964343 -->
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Need some more help:
I am running Raspberry Trixie and Meshtastic 2.7.15 on a LoRa T3_v1.6.1 card.
Meshtastic are client/mute, but a get errror on startup:
(venv) pi@Trixie21:
/akita-meshtastic-meshcore-bridge $ python run_bridge.py/akita-meshtastic-meshcore-bridge $2026-01-23 15:46:13,091 - INFO - --- Akita Meshtastic Meshcore Bridge Starting ---
2026-01-23 15:46:13,091 - INFO - Loading configuration from: /home/pi/akita-meshtastic-meshcore-bridge/config.ini
2026-01-23 15:46:13,092 - INFO - Reading configuration from: /home/pi/akita-meshtastic-meshcore-bridge/config.ini
2026-01-23 15:46:13,094 - WARNING - Configuration file '/home/pi/akita-meshtastic-meshcore-bridge/config.ini' lacks the [DEFAULT] section. Using only defaults.
2026-01-23 15:46:13,095 - INFO - Configuration loaded successfully.
2026-01-23 15:46:13,095 - INFO - Selected external transport: serial
2026-01-23 15:46:13 - MainThread - INFO - root - Logging configured to level DEBUG (10)
2026-01-23 15:46:13 - MainThread - DEBUG - root - Logging level set to DEBUG
2026-01-23 15:46:13 - MainThread - INFO - root - Initializing bridge instance...
2026-01-23 15:46:13 - MainThread - INFO - ammb.bridge - Message queues initialized with max size: 100
2026-01-23 15:46:13 - MainThread - INFO - ammb.health - Health monitoring started
2026-01-23 15:46:13 - MainThread - INFO - ammb.bridge - Initializing network handlers...
2026-01-23 15:46:13 - MainThread - INFO - ammb.bridge - Selected external transport: Serial
2026-01-23 15:46:13 - MainThread - INFO - ammb.protocol - Using Serial protocol handler: RawSerialProtocol
2026-01-23 15:46:13 - MainThread - DEBUG - ammb.protocol.RawSerialProtocol - Serial protocol handler initialized.
2026-01-23 15:46:13 - MainThread - INFO - ammb.meshcore_handler - Serial Handler (MeshcoreHandler) Initialized.
2026-01-23 15:46:13 - MainThread - INFO - ammb.bridge - All required handlers initialized successfully.
2026-01-23 15:46:13 - MainThread - INFO - root - Starting bridge run loop...
2026-01-23 15:46:13 - MainThread - INFO - ammb.bridge - Starting AMMB run sequence...
2026-01-23 15:46:13 - MainThread - INFO - ammb.bridge - Attempting initial network connections...
2026-01-23 15:46:13 - MainThread - INFO - ammb.meshtastic_handler - Attempting connection to Meshtastic on /dev/ttyACM0...
2026-01-23 15:46:14 - MainThread - INFO - ammb.meshtastic_handler - Connected to Meshtastic device. Node ID: !8896db4 ('!08896db4')
2026-01-23 15:46:14 - MainThread - ERROR - ammb.meshtastic_handler - Error connecting to Meshtastic device /dev/ttyACM0: Listener "MeshtasticHandler._on_meshtastic_receive" (from module "ammb.meshtastic_handler") inadequate: does not have following args: (weak)
2026-01-23 15:46:15 - MainThread - CRITICAL - ammb.bridge - Failed to connect to Meshtastic device on startup. Bridge cannot start.
2026-01-23 15:46:15 - MainThread - INFO - ammb.bridge - Signaling shutdown to all components...
2026-01-23 15:46:20 - MainThread - INFO - ammb.health - Health monitoring stopped
2026-01-23 15:46:20 - MainThread - INFO - ammb.bridge - Stopping 2 handlers...
2026-01-23 15:46:20 - MainThread - INFO - ammb.meshcore_handler - Stopping Serial handler...
2026-01-23 15:46:20 - MainThread - INFO - ammb.meshcore_handler - Serial handler stopped.
2026-01-23 15:46:20 - MainThread - INFO - ammb.meshtastic_handler - Stopping Meshtastic handler...
2026-01-23 15:46:20 - MainThread - INFO - ammb.meshtastic_handler - Meshtastic handler stopped.
2026-01-23 15:46:20 - MainThread - INFO - ammb.bridge - Bridge shutdown sequence complete.
2026-01-23 15:46:20 - MainThread - INFO - root - --- Akita Meshtastic Meshcore Bridge Stopped ---
(venv) pi@Trixie21:
I am running the following software versions:
python 3.13.5
meshtastic 2.7.7
pyserial 3.5
pypubsub 4.0.7
paho-mqtt 2.1.0
Let me review.
Resolved. I'll wait for your input.
Now we're talking!
The bridge starts up and messages can be sent from MeshCore to Meshtastic but they are displayed in hexadecimal:
MC_BIN: 3e210080db4639467c5bbc38439dcefcdd0073d8d76c5ab11eef9c1d9d925931192d7990
Sending from MeshTastic to MeshCore is not working. No message is visible in MC, however it is visible in the log
026-01-29 15:41:08 - MainThread - INFO - ammb.api - Bridge API server started on http://127.0.0.1:8080
2026-01-29 15:41:08 - MainThread - INFO - ammb.bridge - Bridge background tasks started. Running... (Press Ctrl+C to stop)
2026-01-29 15:41:26 - SerialReceiver - DEBUG - ammb.meshcore_handler - Serial RAW RX: b'>8\x00\x880\xe6\x15\x00\x11\xa3\r\x01\x0b`a\xe0\xf0J\xf5\xd7\x8bRC\x89\x05\xa9c\xa9~\x87\x03\x91\xa1\x82\x89/\x9f\x87\xf2\x95\x06G[\xb7\xa4\xee@\xa8\x1d1\xc2\x86\xd6\xee\x95;\xd5=?>\x01\x00\x83'
2026-01-29 15:41:26 - SerialReceiver - INFO - ammb.meshcore_handler - Queued message for Meshtastic ^all
2026-01-29 15:41:26 - MeshtasticSender - INFO - ammb.meshtastic_handler - Meshtastic TX -> Dest: ^all, Payload: 'MC_BIN: 3e38008830e6150011a30d010b6061e0f04af5d78b52438905a963a97e870391a182892f9f87f29506475bb7a4ee...'
2026-01-29 15:42:09 - publishing - INFO - ammb.meshtastic_handler - Meshtastic RX <TEXT_MESSAGE_APP> From !6f47ffc: 'from meshtastic'
2026-01-29 15:42:09 - publishing - DEBUG - ammb.meshtastic_handler - Queued message from !6f47ffc for external handler.
2026-01-29 15:42:09 - SerialSender - INFO - ammb.meshcore_handler - Serial TX port /dev/ttyACM0 payload b'from meshtastic'
2026-01-29 15:42:37 - HealthMonitor - WARNING - ammb.health - Component meshtastic health check is stale
2026-01-29 15:42:37 - HealthMonitor - WARNING - ammb.health - Component external health check is stale
2026-01-29 15:43:07 - HealthMonitor - WARNING - ammb.health - Component meshtastic health check is stale
2026-01-29 15:43:07 - HealthMonitor - WARNING - ammb.health - Component external health check is stale
It seems like health check is stuck.
curl http://localhost:8080/api/info
This should be resolved as well.
Set SERIAL_PROTOCOL = json_newline in your config (instead of raw_serial).
No messages received on MT or MC LoRa nodes
2026-01-30 00:07:37 - MainThread - INFO - ammb.meshcore_handler - Connected to Serial device on /dev/ttyACM0
2026-01-30 00:07:37 - MainThread - INFO - ammb.bridge - Starting handler background tasks/threads...
2026-01-30 00:07:37 - MainThread - INFO - ammb.meshtastic_handler - Starting Meshtastic sender thread...
2026-01-30 00:07:37 - MeshtasticSender - INFO - ammb.meshtastic_handler - Meshtastic sender loop started.
2026-01-30 00:07:37 - MainThread - INFO - ammb.meshcore_handler - Starting Serial receiver thread...
2026-01-30 00:07:37 - SerialReceiver - INFO - ammb.meshcore_handler - Serial receiver loop started.
2026-01-30 00:07:37 - MainThread - INFO - ammb.meshcore_handler - Starting Serial sender thread...
2026-01-30 00:07:37 - SerialSender - INFO - ammb.meshcore_handler - Serial sender loop started.
2026-01-30 00:07:37 - MainThread - INFO - ammb.api - Bridge API server started on http://127.0.0.1:8080
2026-01-30 00:07:37 - MainThread - INFO - ammb.bridge - Bridge background tasks started. Running... (Press Ctrl+C to stop)
2026-01-30 00:07:37 - publishing - DEBUG - ammb.meshtastic_handler - Queued message from !8896db4 for external handler.
2026-01-30 00:07:37 - SerialSender - DEBUG - ammb.protocol.JsonNewlineProtocol - Encoded: b'{"type": "meshtastic_position", "sender_meshtastic_id": "!8896db4", "portnum": "POSITION_APP", "payload": {"latitude": 59.32005, "longitude": 17.98541, "altitude": 0, "timestamp_gps": null}, "timestamp_rx": 1769728057.9598305, "rx_rssi": -15, "rx_snr": 11.0}\n'
2026-01-30 00:07:37 - SerialSender - INFO - ammb.meshcore_handler - Serial TX port /dev/ttyACM0 payload b'{"type": "meshtastic_position", "sender_meshtastic'
2026-01-30 00:08:16 - SerialReceiver - DEBUG - ammb.meshcore_handler - Serial RAW RX: b'>8\x00\x88.\xe4\x15\x00\x11\xa8Zi\xbf\x0f\x12_\xe9P\xd5\x9c\x89\x91>a*
\x01\x00\x00.\t\xf9\xe7Ts\xb7#\xbd\x05#o;\xday\xc4C\xbb\xbe\xaf5:m\x93\xd0\xdf_c\xad\x05>\x01\x00\x83'\x01\x00\x00.\t\xf9\xe7Ts\xb7#\xbd\x05#o;\xday\xc4C\xbb\xbe\xaf5:m\x93\xd0\xdf_c\xad\x05>\x01\x00\x83'2026-01-30 00:08:16 - SerialReceiver - WARNING - ammb.protocol.JsonNewlineProtocol - Received non-JSON or incomplete JSON line: b'>8\x00\x88.\xe4\x15\x00\x11\xa8Zi\xbf\x0f\x12_\xe9P\xd5\x9c\x89\x91>a*
2026-01-30 00:08:34 - publishing - INFO - ammb.meshtastic_handler - Meshtastic RX <TEXT_MESSAGE_APP> From !8896db4: 'msg from meshtastic side'
2026-01-30 00:08:34 - publishing - DEBUG - ammb.meshtastic_handler - Queued message from !8896db4 for external handler.
2026-01-30 00:08:34 - SerialSender - DEBUG - ammb.protocol.JsonNewlineProtocol - Encoded: b'{"type": "meshtastic_message", "sender_meshtastic_id": "!8896db4", "portnum": "TEXT_MESSAGE_APP", "payload": "msg from meshtastic side", "timestamp_rx": 1769728114.6820166, "rx_rssi": -16, "rx_snr": 10.75}\n'
2026-01-30 00:08:34 - SerialSender - INFO - ammb.meshcore_handler - Serial TX port /dev/ttyACM0 payload b'{"type": "meshtastic_message", "sender_meshtastic_'
2026-01-30 00:09:06 - HealthMonitor - WARNING - ammb.health - Component meshtastic health check is stale
2026-01-30 00:09:06 - HealthMonitor - WARNING - ammb.health - Component external health check is stale
2026-01-30 00:09:36 - HealthMonitor - WARNING - ammb.health - Component meshtastic health check is stale
I don't think the meshcore companion serial port accepts plain text or json.
I am not an expert on this.
https://github.com/meshcore-dev/MeshCore/wiki/Companion-Radio-Protocol
Maybe the meshcore-cli software needs to be installed to handle json to a meshcore companion?
You only need the MeshCore Python package if you run the async path with meshcore_py
It should connect fine now, just make sure your ports are in config.ini.
Some comments: Sending message from MeshTastic is ok. Sending message or Advert from MeshCore not ok
(venv) pi@Trixie21:~/akita-meshtastic-meshcore-bridge $ python run_bridge.py
2026-02-04 20:44:28,148 - INFO - --- Akita Meshtastic Meshcore Bridge Starting ---
2026-02-04 20:44:28,149 - INFO - Loading configuration from: /home/pi/akita-meshtastic-meshcore-bridge/config.ini
2026-02-04 20:44:28,149 - INFO - Reading configuration from: /home/pi/akita-meshtastic-meshcore-bridge/config.ini
2026-02-04 20:44:28,152 - INFO - Configuration loaded successfully.
2026-02-04 20:44:28,153 - INFO - Selected external transport: serial
2026-02-04 20:44:28 - MainThread - INFO - root - Logging configured to level DEBUG (10)
2026-02-04 20:44:28 - MainThread - DEBUG - root - Logging level set to DEBUG
2026-02-04 20:44:28 - MainThread - INFO - root - Initializing bridge instance...
2026-02-04 20:44:28 - MainThread - INFO - ammb.bridge - Message queues initialized with max size: 100
2026-02-04 20:44:28 - MainThread - INFO - ammb.health - Health monitoring started
2026-02-04 20:44:28 - MainThread - INFO - ammb.bridge - Initializing network handlers...
2026-02-04 20:44:28 - MainThread - INFO - ammb.bridge - Selected external transport: Serial
2026-02-04 20:44:28 - MainThread - INFO - ammb.meshcore_handler - Selected serial protocol: companion_radio
2026-02-04 20:44:28 - MainThread - INFO - ammb.protocol - Using Serial protocol handler: MeshcoreCompanionProtocol
2026-02-04 20:44:28 - MainThread - DEBUG - ammb.protocol.MeshcoreCompanionProtocol - Serial protocol handler initialized.
2026-02-04 20:44:28 - MainThread - INFO - ammb.meshcore_handler - Initialized protocol handler: MeshcoreCompanionProtocol
2026-02-04 20:44:28 - MainThread - INFO - ammb.meshcore_handler - Serial Handler (MeshcoreHandler) Initialized.
2026-02-04 20:44:28 - MainThread - INFO - ammb.bridge - All required handlers initialized successfully.
2026-02-04 20:44:28 - MainThread - INFO - root - Starting bridge run loop...
2026-02-04 20:44:28 - MainThread - INFO - ammb.bridge - Starting AMMB run sequence...
2026-02-04 20:44:28 - MainThread - INFO - ammb.bridge - Attempting initial network connections...
2026-02-04 20:44:28 - MainThread - INFO - ammb.meshtastic_handler - Attempting connection to Meshtastic on /dev/ttyUSB0...
2026-02-04 20:44:29 - MainThread - INFO - ammb.meshtastic_handler - Connected to Meshtastic device. Node ID: !da576f40 (!da576f40)
2026-02-04 20:44:29 - MainThread - INFO - ammb.meshtastic_handler - Meshtastic receive callback registered.
2026-02-04 20:44:29 - MainThread - INFO - ammb.meshcore_handler - Serial port /dev/ttyACM0 opened successfully.
2026-02-04 20:44:29 - MainThread - INFO - ammb.meshcore_handler - Sent companion command: CMD_DEVICE_QUERY
2026-02-04 20:44:29 - MainThread - INFO - ammb.meshcore_handler - Sent companion command: CMD_APP_START
2026-02-04 20:44:29 - MainThread - INFO - ammb.bridge - Starting handler background tasks/threads...
2026-02-04 20:44:29 - MainThread - INFO - ammb.meshtastic_handler - Starting Meshtastic sender thread...
2026-02-04 20:44:29 - MeshtasticSender - INFO - ammb.meshtastic_handler - Meshtastic sender loop started.
2026-02-04 20:44:29 - MainThread - INFO - ammb.meshcore_handler - Starting Serial receiver thread...
2026-02-04 20:44:29 - SerialReceiver - INFO - ammb.meshcore_handler - Serial receiver loop started.
2026-02-04 20:44:29 - MainThread - INFO - ammb.meshcore_handler - Starting Serial sender thread...
2026-02-04 20:44:29 - SerialSender - INFO - ammb.meshcore_handler - Serial sender loop started.
2026-02-04 20:44:29 - MainThread - INFO - ammb.api - Bridge API server started on http://127.0.0.1:8080
2026-02-04 20:44:29 - MainThread - INFO - ammb.bridge - Bridge background tasks started. Running... (Press Ctrl+C to stop)
2026-02-04 20:44:29 - SerialReceiver - DEBUG - ammb.protocol.MeshcoreCompanionProtocol - Companion RAW bytes: 3e50000d08500840e2010033302d4e6f762d32303235004c494c59474f20542d4c6f52612056322e312d312e3600000000000000000000000000000000000076312e31312e302d3664333231393300000000003e430005010a14c2283a36a9691309d2cfda54c36dbeea8ee7efdfe969806a9aa61cf04c919669a04689030ceb110100012a00f29d060024f4000008084d4320427269646765
2026-02-04 20:44:29 - SerialReceiver - DEBUG - ammb.meshcore_handler - Serial RAW RX: b'\r\x08P\x08@\xe2\x01\x0030-Nov-2025\x00LILYGO T-LoRa V2.1-1.6\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00v1.11.0-6d32193\x00\x00\x00\x00\x00'
2026-02-04 20:44:29 - SerialReceiver - DEBUG - ammb.protocol.MeshcoreCompanionProtocol - Ignoring companion frame code: 13
2026-02-04 20:44:29 - SerialReceiver - DEBUG - ammb.meshcore_handler - Decoded serial message: None
2026-02-04 20:44:29 - SerialReceiver - DEBUG - ammb.meshcore_handler - Serial RAW RX: b'\x05\x01\n\x14\xc2(:6\xa9i\x13\t\xd2\xcf\xdaT\xc3m\xbe\xea\x8e\xe7\xef\xdf\xe9i\x80j\x9a\xa6\x1c\xf0L\x91\x96i\xa0F\x89\x03\x0c\xeb\x11\x01\x00\x01*\x00\xf2\x9d\x06\x00$\xf4\x00\x00\x08\x08MC Bridge'
2026-02-04 20:44:29 - SerialReceiver - DEBUG - ammb.protocol.MeshcoreCompanionProtocol - Ignoring companion frame code: 5
2026-02-04 20:44:29 - SerialReceiver - DEBUG - ammb.meshcore_handler - Decoded serial message: None
******* Sending message from MeshTastic on Public Channel, received ok on MeshCore *******
2026-02-04 20:45:07 - publishing - INFO - ammb.meshtastic_handler - Meshtastic RX <TEXT_MESSAGE_APP> From !8896db4: 'From MeshTastic public channel'
2026-02-04 20:45:07 - publishing - DEBUG - ammb.meshtastic_handler - Queued message from !8896db4 for external handler.
2026-02-04 20:45:07 - SerialSender - INFO - ammb.meshcore_handler - Serial TX port /dev/ttyACM0 payload b'<%\x00\x03\x00\x00\xc3\xa1\x83iFrom MeshTastic public channel'
2026-02-04 20:45:07 - SerialReceiver - DEBUG - ammb.protocol.MeshcoreCompanionProtocol - Companion RAW bytes: 3e010000
2026-02-04 20:45:07 - SerialReceiver - DEBUG - ammb.meshcore_handler - Serial RAW RX: b'\x00'
2026-02-04 20:45:07 - SerialReceiver - DEBUG - ammb.meshcore_handler - Decoded serial message: {'companion_kind': 'ok', 'internal_only': True, 'protocol': 'companion_radio'}
2026-02-04 20:45:07 - SerialReceiver - INFO - ammb.meshcore_handler - Companion event: ok
******* Sending message from MeshCore public channel, not received on MeshTastic *******
2026-02-04 20:45:37 - SerialReceiver - DEBUG - ammb.protocol.MeshcoreCompanionProtocol - Companion RAW bytes: 3e4800882ebf1500116d8f450f12788ac963902342d75b1411a05300002e09f9e75473b723bd05236f3bda6394c73393aafaaa1b9952c0d9c6fcfa97f615e0422727bb5e5fb241636396673e010083
2026-02-04 20:45:37 - SerialReceiver - DEBUG - ammb.meshcore_handler - Serial RAW RX: b"\x88.\xbf\x15\x00\x11m\x8fE\x0f\x12x\x8a\xc9c\x90#B\xd7[\x14\x11\xa0S\x00\x00.\t\xf9\xe7Ts\xb7#\xbd\x05#o;\xdac\x94\xc73\x93\xaa\xfa\xaa\x1b\x99R\xc0\xd9\xc6\xfc\xfa\x97\xf6\x15\xe0B''\xbb^_\xb2Acc\x96g"
2026-02-04 20:45:37 - SerialReceiver - DEBUG - ammb.protocol.MeshcoreCompanionProtocol - Ignoring companion frame code: 136
2026-02-04 20:45:37 - SerialReceiver - DEBUG - ammb.meshcore_handler - Decoded serial message: None
2026-02-04 20:45:37 - SerialReceiver - DEBUG - ammb.meshcore_handler - Serial RAW RX: b'\x83'
2026-02-04 20:45:37 - SerialReceiver - DEBUG - ammb.protocol.MeshcoreCompanionProtocol - Ignoring companion frame code: 131
2026-02-04 20:45:37 - SerialReceiver - DEBUG - ammb.meshcore_handler - Decoded serial message: None
2026-02-04 20:45:58 - HealthMonitor - WARNING - ammb.health - Component meshtastic health check is stale
************ Sending Advert from MeshCore, nothing received on MeshTastic **********
2026-02-04 20:46:26 - SerialReceiver - DEBUG - ammb.protocol.MeshcoreCompanionProtocol - Companion RAW bytes: 3e8000882ebd1100db4639467c5bbc38439dcefcdd0073d8d76c5ab11eef9c1d9d925931192d799029a28369194d62f0790350701fff3995f3d2139bbb79848e0e2a6a362090e8a28155b63c474490a8f552d0f632e3b078f55d75fca5c246b3a1c9b1720bd7ed06800b210a91542f890395c41201542d4563686f20343333206d487a
2026-02-04 20:46:26 - SerialReceiver - DEBUG - ammb.meshcore_handler - Serial RAW RX: b'\x88.\xbd\x11\x00\xdbF9F|[\xbc8C\x9d\xce\xfc\xdd\x00s\xd8\xd7lZ\xb1\x1e\xef\x9c\x1d\x9d\x92Y1\x19-y\x90)\xa2\x83i\x19Mb\xf0y\x03Pp\x1f\xff9\x95\xf3\xd2\x13\x9b\xbby\x84\x8e\x0e*j6 \x90\xe8\xa2\x81U\xb6<GD\x90\xa8\xf5R\xd0\xf62\xe3\xb0x\xf5]u\xfc\xa5\xc2F\xb3\xa1\xc9\xb1r\x0b\xd7\xed\x06\x80\x0b!\n\x91T/\x89\x03\x95\xc4\x12\x01T-Echo 433 mHz'
2026-02-04 20:46:26 - SerialReceiver - DEBUG - ammb.protocol.MeshcoreCompanionProtocol - Ignoring companion frame code: 136
2026-02-04 20:46:26 - SerialReceiver - DEBUG - ammb.meshcore_handler - Decoded serial message: None
2026-02-04 20:46:26 - SerialReceiver - DEBUG - ammb.protocol.MeshcoreCompanionProtocol - Companion RAW bytes: 3e210080db4639467c5bbc38439dcefcdd0073d8d76c5ab11eef9c1d9d925931192d7990
2026-02-04 20:46:26 - SerialReceiver - DEBUG - ammb.meshcore_handler - Serial RAW RX: b'\x80\xdbF9F|[\xbc8C\x9d\xce\xfc\xdd\x00s\xd8\xd7lZ\xb1\x1e\xef\x9c\x1d\x9d\x92Y1\x19-y\x90'
2026-02-04 20:46:26 - SerialReceiver - DEBUG - ammb.meshcore_handler - Decoded serial message: {'destination_meshtastic_id': '^all', 'payload': 'MC_ADVERT:db4639467c5bbc38439dcefcdd0073d8d76c5ab11eef9c1d9d925931192d7990', 'channel_index': 0, 'companion_kind': 'advert', 'protocol': 'companion_radio'}
2026-02-04 20:46:26 - SerialReceiver - DEBUG - ammb.meshcore_handler - Translation: dest=^all, text=MC_ADVERT:db4639467c5bbc38439dcefcdd0073d8d76c5ab11eef9c1d9d925931192d7990, channel=0, want_ack=False
2026-02-04 20:46:26 - SerialReceiver - INFO - ammb.meshcore_handler - Queued message for Meshtastic ^all
2026-02-04 20:46:26 - MeshtasticSender - INFO - ammb.meshtastic_handler - Meshtastic TX -> Dest: ^all, Payload: 'MC_ADVERT:db4639467c5bbc38439dcefcdd0073d8d76c5ab11eef9c1d9d925931192d7990'
********* This is info from MeshTastic ??????? *********
******** Why is this coming as a result of an Advert? *******
2026-02-04 20:46:26 - MeshtasticSender - DEBUG - ammb.meshtastic_handler - Raw protobuf (outgoing) as JSON: {
"myNodeNum": 3663163200,
"rebootCount": 69,
"minAppVersion": 30200,
"deviceId": "AiX+PAqKFndjjwkagPZR0w==",
"pioEnv": "heltec-v3",
"nodedbCount": 2
}
2026-02-04 20:46:28 - HealthMonitor - WARNING - ammb.health - Component meshtastic health check is stale
2026-02-04 20:46:58 - HealthMonitor - WARNING - ammb.health - Component meshtastic health check is stale
^C2026-02-04 20:47:07 - MainThread - INFO - ammb.bridge - Main loop exiting. Initiating shutdown sequence...
2026-02-04 20:47:07 - MainThread - INFO - ammb.bridge - Signaling shutdown to all components...
2026-02-04 20:47:07 - MainThread - INFO - ammb.api - Stopping Bridge API server...
2026-02-04 20:47:07 - SerialReceiver - INFO - ammb.meshcore_handler - Serial receiver loop stopped.
2026-02-04 20:47:07 - SerialSender - INFO - ammb.meshcore_handler - Serial sender loop stopped.
2026-02-04 20:47:08 - MeshtasticSender - INFO - ammb.meshtastic_handler - Meshtastic sender loop stopped.
2026-02-04 20:47:12 - MainThread - INFO - ammb.health - Health monitoring stopped
2026-02-04 20:47:12 - MainThread - INFO - ammb.bridge - Stopping 2 handlers...
2026-02-04 20:47:12 - MainThread - INFO - ammb.meshcore_handler - Stopping Serial handler...
2026-02-04 20:47:12 - MainThread - INFO - ammb.meshcore_handler - Serial port /dev/ttyACM0 closed.
2026-02-04 20:47:12 - MainThread - INFO - ammb.meshcore_handler - Serial handler stopped.
2026-02-04 20:47:12 - MainThread - INFO - ammb.meshtastic_handler - Stopping Meshtastic handler...
2026-02-04 20:47:13 - MainThread - INFO - ammb.meshtastic_handler - Meshtastic handler stopped.
2026-02-04 20:47:13 - MainThread - INFO - ammb.bridge - Bridge shutdown sequence complete.
2026-02-04 20:47:13 - MainThread - INFO - root - KeyboardInterrupt received. Initiating graceful shutdown...
2026-02-04 20:47:13 - MainThread - INFO - root - --- Akita Meshtastic Meshcore Bridge Stopped ---
(venv) pi@Trixie21:~/akita-meshtastic-meshcore-bridge $
pi@Trixie21:~ $ curl http://localhost:8080/api/health
{
"status": "degraded",
"timestamp": "2026-02-05T11:16:13.884452",
"components": {
"meshtastic": {
"name": "meshtastic",
"status": "degraded",
"last_check": "2026-02-05T11:11:00.752254",
"message": "Health check stale; no recent updates",
"details": {}
},
"external": {
"name": "external",
"status": "degraded",
"last_check": "2026-02-05T11:14:13.636775",
"message": "Health check stale; no recent updates",
"details": {}
}
}
I think we may have got it. I will have to flash another device after for a bit of testing.
Looking forward to your test results.
Sending a MeshTastic message on the Public Channel, received at MC ok
Sending a MeshCore message on the Public Channel, not received on MT
Sending a MeshCore Advert, received at MT as a Public Message: MC_ADVERT:db46 --------
(venv) pi@Trixie21:
/akita-meshtastic-meshcore-bridge $ python run_bridge.py/akita-meshtastic-meshcore-bridge $2026-02-09 11:32:40,943 - INFO - --- Akita Meshtastic Meshcore Bridge Starting ---
2026-02-09 11:32:40,943 - INFO - Loading configuration from: /home/pi/akita-meshtastic-meshcore-bridge/config.ini
2026-02-09 11:32:40,944 - INFO - Reading configuration from: /home/pi/akita-meshtastic-meshcore-bridge/config.ini
2026-02-09 11:32:40,948 - INFO - Configuration loaded successfully.
2026-02-09 11:32:40,948 - INFO - Selected external transport: serial
2026-02-09 11:32:40 - MainThread - INFO - root - Logging configured to level DEBUG (10)
2026-02-09 11:32:40 - MainThread - DEBUG - root - Logging level set to DEBUG
2026-02-09 11:32:40 - MainThread - INFO - root - Initializing bridge instance...
2026-02-09 11:32:40 - MainThread - INFO - ammb.bridge - Message queues initialized with max size: 100
2026-02-09 11:32:40 - MainThread - INFO - ammb.health - Health monitoring started
2026-02-09 11:32:40 - MainThread - INFO - ammb.bridge - Initializing network handlers...
2026-02-09 11:32:40 - MainThread - INFO - ammb.bridge - Selected external transport: Serial
2026-02-09 11:32:40 - MainThread - INFO - ammb.meshcore_handler - Selected serial protocol: companion_radio
2026-02-09 11:32:40 - MainThread - INFO - ammb.protocol - Using Serial protocol handler: MeshcoreCompanionProtocol
2026-02-09 11:32:40 - MainThread - DEBUG - ammb.protocol.MeshcoreCompanionProtocol - Serial protocol handler initialized.
2026-02-09 11:32:40 - MainThread - INFO - ammb.meshcore_handler - Initialized protocol handler: MeshcoreCompanionProtocol
2026-02-09 11:32:40 - MainThread - INFO - ammb.meshcore_handler - Serial Handler (MeshcoreHandler) Initialized.
2026-02-09 11:32:40 - MainThread - INFO - ammb.bridge - All required handlers initialized successfully.
2026-02-09 11:32:40 - MainThread - INFO - root - Starting bridge run loop...
2026-02-09 11:32:40 - MainThread - INFO - ammb.bridge - Starting AMMB run sequence...
2026-02-09 11:32:40 - MainThread - INFO - ammb.bridge - Attempting initial network connections...
2026-02-09 11:32:40 - MainThread - INFO - ammb.meshtastic_handler - Attempting connection to Meshtastic on /dev/ttyUSB0...
2026-02-09 11:32:42 - MainThread - INFO - ammb.meshtastic_handler - Connected to Meshtastic device. Node ID: !da576f40 (!da576f40)
2026-02-09 11:32:42 - MainThread - INFO - ammb.meshtastic_handler - Meshtastic receive callback registered.
2026-02-09 11:32:42 - MainThread - INFO - ammb.meshcore_handler - Serial port /dev/ttyACM0 opened successfully.
2026-02-09 11:32:42 - MainThread - INFO - ammb.meshcore_handler - Sent companion command: CMD_DEVICE_QUERY
2026-02-09 11:32:42 - MainThread - INFO - ammb.meshcore_handler - Sent companion command: CMD_APP_START
2026-02-09 11:32:42 - MainThread - INFO - ammb.bridge - Starting handler background tasks/threads...
2026-02-09 11:32:42 - MainThread - INFO - ammb.meshtastic_handler - Starting Meshtastic sender thread...
2026-02-09 11:32:42 - MeshtasticSender - INFO - ammb.meshtastic_handler - Meshtastic sender loop started.
2026-02-09 11:32:42 - MainThread - INFO - ammb.meshcore_handler - Starting Serial receiver thread...
2026-02-09 11:32:42 - SerialReceiver - INFO - ammb.meshcore_handler - Serial receiver loop started.
2026-02-09 11:32:42 - MainThread - INFO - ammb.meshcore_handler - Starting Serial sender thread...
2026-02-09 11:32:42 - SerialSender - INFO - ammb.meshcore_handler - Serial sender loop started.
2026-02-09 11:32:42 - MainThread - INFO - ammb.bridge - Bridge background tasks started. Running... (Press Ctrl+C to stop)
2026-02-09 11:32:42 - SerialReceiver - DEBUG - ammb.protocol.MeshcoreCompanionProtocol - Companion RAW bytes: 3e50000d08500840e2010033302d4e6f762d32303235004c494c59474f20542d4c6f52612056322e312d312e3600000000000000000000000000000000000076312e31312e302d3664333231393300000000003e430005010a14c2283a36a9691309d2cfda54c36dbeea8ee7efdfe969806a9aa61cf04c919669a04689030ceb110100012a00f29d060024f4000008084d4320427269646765
2026-02-09 11:32:42 - SerialReceiver - DEBUG - ammb.meshcore_handler - Serial RAW RX: b'\r\x08P\x08@\xe2\x01\x0030-Nov-2025\x00LILYGO T-LoRa V2.1-1.6\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00v1.11.0-6d32193\x00\x00\x00\x00\x00'
2026-02-09 11:32:42 - SerialReceiver - DEBUG - ammb.protocol.MeshcoreCompanionProtocol - Ignoring companion frame code: 13
2026-02-09 11:32:42 - SerialReceiver - DEBUG - ammb.meshcore_handler - Decoded serial message: None
2026-02-09 11:32:42 - SerialReceiver - DEBUG - ammb.meshcore_handler - Serial RAW RX: b'\x05\x01\n\x14\xc2(:6\xa9i\x13\t\xd2\xcf\xdaT\xc3m\xbe\xea\x8e\xe7\xef\xdf\xe9i\x80j\x9a\xa6\x1c\xf0L\x91\x96i\xa0F\x89\x03\x0c\xeb\x11\x01\x00\x01*\x00\xf2\x9d\x06\x00$\xf4\x00\x00\x08\x08MC Bridge'
2026-02-09 11:32:42 - SerialReceiver - DEBUG - ammb.protocol.MeshcoreCompanionProtocol - Ignoring companion frame code: 5
2026-02-09 11:32:42 - SerialReceiver - DEBUG - ammb.meshcore_handler - Decoded serial message: None
2026-02-09 11:32:42 - publishing - INFO - ammb.meshtastic_handler - Meshtastic RX <TEXT_MESSAGE_APP> From !8896db4: 'Hej '
2026-02-09 11:32:42 - publishing - DEBUG - ammb.meshtastic_handler - Queued message from !8896db4 for external handler.
2026-02-09 11:32:42 - SerialSender - INFO - ammb.meshcore_handler - Serial TX port /dev/ttyACM0 payload b'<\x0b\x00\x03\x00\x00\xca\xb7\x89iHej '
2026-02-09 11:32:42 - SerialReceiver - DEBUG - ammb.protocol.MeshcoreCompanionProtocol - Companion RAW bytes: 3e010000
2026-02-09 11:32:42 - SerialReceiver - DEBUG - ammb.meshcore_handler - Serial RAW RX: b'\x00'
2026-02-09 11:32:42 - SerialReceiver - DEBUG - ammb.meshcore_handler - Decoded serial message: {'companion_kind': 'ok', 'internal_only': True, 'protocol': 'companion_radio'}
2026-02-09 11:32:42 - SerialReceiver - INFO - ammb.meshcore_handler - Companion event: ok
2026-02-09 11:34:10 - HealthMonitor - WARNING - ammb.health - Component meshtastic health check is stale
2026-02-09 11:34:10 - HealthMonitor - WARNING - ammb.health - Component external health check is stale
2026-02-09 11:34:32 - publishing - INFO - ammb.meshtastic_handler - Meshtastic RX <TEXT_MESSAGE_APP> From !8896db4: 'Hej cfrån yosa'
2026-02-09 11:34:32 - publishing - DEBUG - ammb.meshtastic_handler - Queued message from !8896db4 for external handler.
2026-02-09 11:34:32 - SerialSender - INFO - ammb.meshcore_handler - Serial TX port /dev/ttyACM0 payload b'<\x16\x00\x03\x00\x008\xb8\x89iHej cfr\xc3\xa5n yosa'
2026-02-09 11:34:32 - SerialReceiver - DEBUG - ammb.protocol.MeshcoreCompanionProtocol - Companion RAW bytes: 3e010000
2026-02-09 11:34:32 - SerialReceiver - DEBUG - ammb.meshcore_handler - Serial RAW RX: b'\x00'
2026-02-09 11:34:32 - SerialReceiver - DEBUG - ammb.meshcore_handler - Decoded serial message: {'companion_kind': 'ok', 'internal_only': True, 'protocol': 'companion_radio'}
2026-02-09 11:34:32 - SerialReceiver - INFO - ammb.meshcore_handler - Companion event: ok
^C2026-02-09 11:34:54 - MainThread - INFO - ammb.bridge - Main loop exiting. Initiating shutdown sequence...
2026-02-09 11:34:54 - MainThread - INFO - ammb.bridge - Signaling shutdown to all components...
2026-02-09 11:34:54 - SerialReceiver - INFO - ammb.meshcore_handler - Serial receiver loop stopped.
2026-02-09 11:34:54 - MeshtasticSender - INFO - ammb.meshtastic_handler - Meshtastic sender loop stopped.
2026-02-09 11:34:54 - SerialSender - INFO - ammb.meshcore_handler - Serial sender loop stopped.
2026-02-09 11:34:59 - MainThread - INFO - ammb.health - Health monitoring stopped
2026-02-09 11:34:59 - MainThread - INFO - ammb.bridge - Stopping 2 handlers...
2026-02-09 11:34:59 - MainThread - INFO - ammb.meshcore_handler - Stopping Serial handler...
2026-02-09 11:34:59 - MainThread - INFO - ammb.meshcore_handler - Serial port /dev/ttyACM0 closed.
2026-02-09 11:34:59 - MainThread - INFO - ammb.meshcore_handler - Serial handler stopped.
2026-02-09 11:34:59 - MainThread - INFO - ammb.meshtastic_handler - Stopping Meshtastic handler...
2026-02-09 11:34:59 - MainThread - INFO - ammb.meshtastic_handler - Meshtastic handler stopped.
2026-02-09 11:34:59 - MainThread - INFO - ammb.bridge - Bridge shutdown sequence complete.
2026-02-09 11:34:59 - MainThread - INFO - root - KeyboardInterrupt received. Initiating graceful shutdown...
2026-02-09 11:34:59 - MainThread - INFO - root - --- Akita Meshtastic Meshcore Bridge Stopped ---
(venv) pi@Trixie21:
ADVERT sent:
2026-02-09 12:18:31 - MainThread - INFO - ammb.bridge - Bridge background tasks started. Running... (Press Ctrl+C to stop)
2026-02-09 12:18:31 - SerialReceiver - DEBUG - ammb.protocol.MeshcoreCompanionProtocol - Companion RAW bytes: 3e50000d08500840e2010033302d4e6f762d32303235004c494c59474f20542d4c6f52612056322e312d312e3600000000000000000000000000000000000076312e31312e302d3664333231393300000000003e430005010a14c2283a36a9691309d2cfda54c36dbeea8ee7efdfe969806a9aa61cf04c919669a04689030ceb110100012a00f29d060024f4000008084d4320427269646765
2026-02-09 12:18:31 - SerialReceiver - DEBUG - ammb.meshcore_handler - Serial RAW RX: b'\r\x08P\x08@\xe2\x01\x0030-Nov-2025\x00LILYGO T-LoRa V2.1-1.6\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00v1.11.0-6d32193\x00\x00\x00\x00\x00'
2026-02-09 12:18:31 - SerialReceiver - DEBUG - ammb.protocol.MeshcoreCompanionProtocol - Ignoring companion frame code: 13
2026-02-09 12:18:31 - SerialReceiver - DEBUG - ammb.meshcore_handler - Decoded serial message: None
2026-02-09 12:18:31 - SerialReceiver - DEBUG - ammb.meshcore_handler - Serial RAW RX: b'\x05\x01\n\x14\xc2(:6\xa9i\x13\t\xd2\xcf\xdaT\xc3m\xbe\xea\x8e\xe7\xef\xdf\xe9i\x80j\x9a\xa6\x1c\xf0L\x91\x96i\xa0F\x89\x03\x0c\xeb\x11\x01\x00\x01*\x00\xf2\x9d\x06\x00$\xf4\x00\x00\x08\x08MC Bridge'
2026-02-09 12:18:31 - SerialReceiver - DEBUG - ammb.protocol.MeshcoreCompanionProtocol - Ignoring companion frame code: 5
2026-02-09 12:18:31 - SerialReceiver - DEBUG - ammb.meshcore_handler - Decoded serial message: None
2026-02-09 12:18:31 - publishing - DEBUG - ammb.meshtastic_handler - Queued message from !8896db4 for external handler.
2026-02-09 12:18:31 - SerialSender - DEBUG - ammb.meshcore_handler - Skipping non-text Meshtastic message for companion: meshtastic_position
2026-02-09 12:18:31 - publishing - DEBUG - ammb.meshtastic_handler - Queued message from !8896db4 for external handler.
2026-02-09 12:18:31 - SerialSender - DEBUG - ammb.meshcore_handler - Skipping non-text Meshtastic message for companion: meshtastic_position
2026-02-09 12:18:45 - SerialReceiver - DEBUG - ammb.protocol.MeshcoreCompanionProtocol - Companion RAW bytes: 3e80008831bf1100db4639467c5bbc38439dcefcdd0073d8d76c5ab11eef9c1d9d925931192d799093c28969f1e94a697f5a7b467e99497808b67af55fa4bed8f86fcda70c4a43929b6279642bff23da95f7244a5e2ec620c1370533bb9f4cedb563a7f4e850aac9c42f040991542f890395c41201542d4563686f20343333206d487a
2026-02-09 12:18:45 - SerialReceiver - DEBUG - ammb.meshcore_handler - Serial RAW RX: b'\x881\xbf\x11\x00\xdbF9F|[\xbc8C\x9d\xce\xfc\xdd\x00s\xd8\xd7lZ\xb1\x1e\xef\x9c\x1d\x9d\x92Y1\x19-y\x90\x93\xc2\x89i\xf1\xe9Ji\x7fZ{F~\x99Ix\x08\xb6z\xf5_\xa4\xbe\xd8\xf8o\xcd\xa7\x0cJC\x92\x9bbyd+\xff#\xda\x95\xf7$J^.\xc6 \xc17\x053\xbb\x9fL\xed\xb5c\xa7\xf4\xe8P\xaa\xc9\xc4/\x04\t\x91T/\x89\x03\x95\xc4\x12\x01T-Echo 433 mHz'
2026-02-09 12:18:45 - SerialReceiver - DEBUG - ammb.meshcore_handler - Decoded serial message: {'destination_meshtastic_id': '^all', 'payload': 'F|[�8C����\x00s��lZ�\x1e�\x1d��Y1\x19-y��\x89i��Ji\x7fZ{F
�Ix\x08�z�_����oͧ\x0cJC��byd+�#ڕ�$J^.� �7\x053��L��c���P���/\x04\t�T/�\x03��\x12\x01T-Echo 433 mHz', 'channel_index': 49, 'companion_kind': 'channel_msg', 'path_len': 191, 'txt_type': 17, 'sender_timestamp': 960944896, 'protocol': 'companion_radio'}�Ix�z�_����oͧJC��byd+�#ڕ�$J^.� �73��L��c���P���/ �T/���T-Echo 433 mHz, channel=49, want_ack=False2026-02-09 12:18:45 - SerialReceiver - DEBUG - ammb.meshcore_handler - Translation: dest=^all, text=F|[�8C����s��lZ����Y1-y�� i��JiZ{F
2026-02-09 12:18:45 - SerialReceiver - INFO - ammb.meshcore_handler - Queued message for Meshtastic ^all
2026-02-09 12:18:45 - MeshtasticSender - WARNING - ammb.meshtastic_handler - Invalid message rejected: Channel index out of range: 49
2026-02-09 12:18:45 - SerialReceiver - DEBUG - ammb.protocol.MeshcoreCompanionProtocol - Companion RAW bytes: 3e210080db4639467c5bbc38439dcefcdd0073d8d76c5ab11eef9c1d9d925931192d7990
2026-02-09 12:18:45 - SerialReceiver - DEBUG - ammb.meshcore_handler - Serial RAW RX: b'\x80\xdbF9F|[\xbc8C\x9d\xce\xfc\xdd\x00s\xd8\xd7lZ\xb1\x1e\xef\x9c\x1d\x9d\x92Y1\x19-y\x90'
2026-02-09 12:18:45 - SerialReceiver - DEBUG - ammb.meshcore_handler - Decoded serial message: {'destination_meshtastic_id': '^all', 'payload': 'MC_ADVERT:db4639467c5bbc38439dcefcdd0073d8d76c5ab11eef9c1d9d925931192d7990', 'channel_index': 0, 'companion_kind': 'advert', 'protocol': 'companion_radio'}
2026-02-09 12:18:45 - SerialReceiver - DEBUG - ammb.meshcore_handler - Translation: dest=^all, text=MC_ADVERT:db4639467c5bbc38439dcefcdd0073d8d76c5ab11eef9c1d9d925931192d7990, channel=0, want_ack=False
2026-02-09 12:18:45 - SerialReceiver - INFO - ammb.meshcore_handler - Queued message for Meshtastic ^all
2026-02-09 12:18:45 - MeshtasticSender - INFO - ammb.meshtastic_handler - Meshtastic TX -> Dest: ^all, Payload: 'MC_ADVERT:db4639467c5bbc38439dcefcdd0073d8d76c5ab11eef9c1d9d925931192d7990'
2026-02-09 12:18:45 - MeshtasticSender - DEBUG - ammb.meshtastic_handler - Raw protobuf (outgoing) as JSON: {
"myNodeNum": 3663163200,
"rebootCount": 79,
"minAppVersion": 30200,
"deviceId": "AiX+PAqKFndjjwkagPZR0w==",
"pioEnv": "heltec-v3",
"nodedbCount": 2
}
This should now be resolved.
Hi,
It works well to send Public messages between MeshCore and MeshTastic,
great thanks!
One last question, is it possible to send messages from a Secondary channel
in any way?
Den tors 12 feb. 2026 kl 17:47 skrev sh4un @.***>:
I'm sure it's possible. Just not implemented yet.