---
title: "HAT CAT SIM7070G"
space: "HATs"
url: "https://docs.modbee.org/hats/hat-cat"
updated: "2026-10-25"
---

# ModBee Hat – CAT (SIM7070G)

![ModBee Hat CAT](/files/gitimg-c14896a02a7c07630611fa8f8fe5dae4fb2fc538.webp)

Low-power cellular hat for the [ModBee Node-UIO](https://github.com/mod-bee/modbee-node-uio), built around the SIMCom [SIM7070G](https://www.simcom.com/product/SIM7070G.html). It adds LTE Cat-M1 and NB-IoT with GPRS/EDGE fallback, plus GNSS positioning, for sites without Wi-Fi.

The Node-UIO talks to the module with AT commands over UART0. A USB-C port on the hat gives a PC direct access to the module.

## Module

Figures from SIMCom's SIM7070G product page.

| Parameter | Value |
| --- | --- |
| Networks | LTE Cat-M1, NB-IoT, GPRS/EDGE |
| LTE Cat-M1 bands | B1/2/3/4/5/8/12/13/14/18/19/20/25/26/27/28/66/85 |
| NB-IoT bands | B1/2/3/4/5/8/12/13/18/19/20/25/26/28/66/71/85 |
| GSM bands | 850/900/1800/1900 MHz |
| Peak data rate | Cat-M1 589 kbps down / 1119 kbps up; NB-IoT 127 kbps down / 158.5 kbps up |
| GNSS | GPS, GLONASS, BeiDou |
| LTE output power | Class 5 (21 dBm) |
| Current | PSM 3.2 µA, sleep 0.8 mA, idle 10 mA |
| Supply (VBAT) | 3.0–4.6 V. The hat supplies 3.6 V |
| SIM | 1.8 V |
| Logic level | 1.8 V. The hat level-shifts it to 3.3 V |
| Package | 68-pin LCC, 24 × 24 × 2.3 mm |
| Operating temperature | −40 to +85 °C |

Network and band support depends on your carrier and country. Check that your SIM and carrier support Cat-M1 or NB-IoT on the bands above. Some carriers no longer run 2G.

## Board features

- **Power**: GPIO9 high switches the hat's 3.3 V rail on through a P-channel MOSFET. JP1 bypasses the switch. A buck-boost converter (U1) makes the module's 3.6 V supply from that rail.
- **Power key**: GPIO10 drives the module's PWRKEY through a transistor. GPIO10 high pulls PWRKEY low. The **PWR** button (SW1) does the same by hand.
- **UART**: the module's UART1 connects to the Node-UIO's U0RX/U0TX (GPIO44/GPIO43) through MOSFET level shifters, 3.3 V to 1.8 V.
- **USB-C** (USB 2.0) connects straight to the module's USB, with ESD protection. Use it for AT commands from a PC and for module firmware updates. USB doesn't power the module, so the hat must be powered from the Node-UIO.
- **BOOT** button (SW2) pulls BOOT_CFG high for USB firmware download.
- **Nano SIM** holder.
- **Antennas**: two IPEX (U.FL) connectors, **LTE** and **GPS**. The GPS connector supplies 3.3 V bias for an active GNSS antenna.
- **LEDs**: **PWR** (hat powered), **STS** (module STATUS), **LTE** (module NETLIGHT).

The module's I2C, ADC, PCM, GPIO and extra UARTs are not connected on this hat.

## Connections

The hat headers J1 and J2 follow the common [hat connector pinout](/hats#hat-connector). This hat uses:

| Signal | ESP32-S3 | Function |
| --- | --- | --- |
| +3.3V, GND | – | Hat supply |
| GPIO9 | GPIO9 | Hat power enable (high = on) |
| GPIO10 | GPIO10 | PWRKEY (high = key pressed) |
| U0RX | GPIO44 | Module TXD → Node-UIO |
| U0TX | GPIO43 | Node-UIO → module RXD |

Only one cellular hat can be fitted. The CAT and LTE hats both use UART0 and GPIO10.

## Power key and LEDs

PWRKEY works like a phone's power button: press it to turn the module on, and press it again for longer to turn it off. Timings from SIMCom's SIM7070 series documentation:

- **On**: hold PWRKEY low (GPIO10 high) for about 1 s. Wait at least 1 s after the hat powers up before you press it. The module is ready in about 3–4 s.
- **Off**: hold it low for at least 1.2 s, or send `AT+CPOWD=1`.
- **Never hold it low for 12 s or more.** That resets the module.

| LED | Meaning |
| --- | --- |
| PWR | Hat 3.3 V rail is on |
| STS | On when the module is powered and its firmware is ready |
| LTE | 64 ms on / 800 ms off: searching. 64 ms on / 3 s off: registered. 64 ms on / 300 ms off: data transfer. Off: powered down or in PSM |

The NETLIGHT pattern can be changed with `AT+SLEDS`.

## Getting started

1. With power off, insert a nano SIM and connect the LTE antenna, plus the GPS antenna if you need GNSS.
2. Fit the hat to the Node-UIO with stacking headers.
3. Power the hat and press PWRKEY from your sketch:

```cpp
#include <Arduino.h>

constexpr int HAT_POWER = 9;   // high = hat powered
constexpr int PWRKEY    = 10;  // high = PWRKEY pressed
constexpr int MODEM_RX  = 44;  // U0RX
constexpr int MODEM_TX  = 43;  // U0TX

// UART0. Log over native USB so UART0 is free for the modem.
HardwareSerial modem(0);

void setup() {
  pinMode(PWRKEY, OUTPUT);
  digitalWrite(PWRKEY, LOW);
  pinMode(HAT_POWER, OUTPUT);
  digitalWrite(HAT_POWER, HIGH);
  delay(1000);

  digitalWrite(PWRKEY, HIGH);
  delay(1000);
  digitalWrite(PWRKEY, LOW);

  modem.begin(115200, SERIAL_8N1, MODEM_RX, MODEM_TX);
  delay(4000);
  modem.println("AT");
}
```

4. Check the module answers `OK`, then set up the network, for example:
   - `AT+CPIN?`: SIM ready
   - `AT+CNMP=38` and `AT+CMNB=1`: LTE only, Cat-M1 only (`AT+CMNB=2` for NB-IoT)
   - `AT+CGDCONT=1,"IP","your.apn"`: set your carrier's APN
   - `AT+CSQ`, `AT+CEREG?`: signal strength and registration

The SIM7070 series AT command manual covers TCP/UDP, HTTP(S), MQTT and GNSS (`AT+CGNSPWR`, `AT+CGNSINF`).

## Documentation

Hardware design and AT command manuals are on the [SIM7070G product page](https://www.simcom.com/product/SIM7070G.html). The downloads need a free SIMCom account.

## Schematic

[`schematics/modbee-hat-cat.pdf`](https://github.com/mod-bee/modbee-hats/blob/main/modbee-hat-cat/schematics/modbee-hat-cat.pdf)

## Licence

[CC BY-SA 4.0](https://github.com/mod-bee/modbee-hats/blob/main/LICENSE)
