Raspberry Pi Cellular Tethering
Provide cellular internet to a Raspberry Pi using a B504e and M-Hat over UART PPP.
Introduction
A reference design for providing cellular internet to a Raspberry Pi using a Particle B504e module and M-Hat carrier board. The B504e exposes its cellular connection as a PPP endpoint over UART; the Raspberry Pi consumes it as a standard network interface — no Particle SDK required on the Linux side.
Supported devices
Hardware and supplies
- B504e or B524 module
- M-Hat carrier board
- Raspberry Pi 4 or 5
- Cellular antenna (PARANTCW1)
- USB-C PD power supply
Project description:
This tutorial demonstrates how to build a cellular tethering solution using the Particle B504e (or B524) and M-Hat carrier board. Firmware on the B504e manages a UART PPP endpoint using a non-blocking state machine with cloud monitoring, auto-recovery, and OTA support. A setup script on the Raspberry Pi configures NetworkManager, pppd, and ModemManager to bring up a ppp0 interface automatically on boot. The architecture is designed for easy extension with sensors, VPN, internet gateway, or remote SSH access over cellular.