Skip to content

Instantly share code, notes, and snippets.

@dotdavid
Last active March 21, 2026 21:52
Show Gist options
  • Select an option

  • Save dotdavid/a2fafd7cf7288d8cb255ee83074909ac to your computer and use it in GitHub Desktop.

Select an option

Save dotdavid/a2fafd7cf7288d8cb255ee83074909ac to your computer and use it in GitHub Desktop.
meshcoretomqtt on Raspberry Pi Zero 1W

meshcoretomqtt on Raspberry Pi Zero 1W

Note

This doesn't seem to work with newer versions of MC2MQTT. I moved to Meshcore Packet Capture with an attached USB companion node instead, but am leaving these instructions here in case anyone finds them useful.

Because the Raspberry Pi Zero 1W is a 32-bit ARM chipset, there are some difficulties installing NodeJS - if the main MC2MQTT install script is run immediately then the Pi will attempt to compile NodeJS for ARM32 when installing the Meshcore Decoder, which has failed every time I try it - eventually timing out.

Fortunately there are repositories available with already-compiled 32-bit ARM binaries which can be used to install NodeJS prior to running the installation script.

Below are the steps I use when setting up my own Pi Zero 1Ws for use with meshcoretomqtt.

  • Install NVM 0.39.7. Newer versions may also be fine.
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"
[ -s "$NVM_DIR/bash_completion" ] && . "$NVM_DIR/bash_completion"
  • Add the "unofficial-builds" NodeJS mirror which contains ARM32 binaries. To do this, set a NVM_NODEJS_ORG_MIRROR environment variable.
echo 'export NVM_NODEJS_ORG_MIRROR=https://unofficial-builds.nodejs.org/download/release' >> ~/.bashrc
export NVM_NODEJS_ORG_MIRROR=https://unofficial-builds.nodejs.org/download/release
  • Install NodeJS v22.x. Newer versions may also work.
nvm install 22 && nvm use 22 && nvm alias default 22 && node -v
echo 'export PATH=$(npm config get prefix)/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
  • Now you can install the Meshcore Decoder. It will detect the fact that you already have NodeJS installed so will not try to install the 64-bit version.
npm install -g @michaelhart/meshcore-decoder
  • Now, you can run the meshcoretomqtt installation script
curl -fsSL https://raw.githubusercontent.com/Cisien/meshcoretomqtt/main/install.sh | bash

After that everything should be good to go. You can re-run the meshcoretomqtt script to update your Pi when new versions are released.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment