A compact 1200mAh LiPo power supply with 3.3V, 5V, and battery-direct output — purpose-built for Arduino, ESP32, and Raspberry Pi projects.
Features • Specs • Quick Start • Wiring • Troubleshooting
The NULLLAB PM11 combines a 1200mAh rechargeable lithium battery, a boost converter, and a 3.3V regulator on a single board. Charge it over USB-C, then power your project from three independent output rails. Four onboard LEDs give you a real-time battery gauge at a glance.
Whether you're prototyping on a breadboard, running a standalone ESP32 sensor node, or building a LEGO-compatible robotics project — the PM11 gives you clean, portable power without a mess of separate modules.
- 🔋 Built-in 1200mAh LiPo — no external battery needed, pre-wired and ready to go
- ⚡ Three output rails — 5V/1.2A, 3.3V/800mA, and direct battery (3.7–4.2V), 2A total
- 🔌 USB-C charging — C-to-C and A-to-C cables both supported, 1.2A max charge current
- 📊 Real-time battery gauge — 4 LEDs show 25/50/75/100% while the module is running
- 🛡️ Multiple protection circuits — overcharge, reverse-polarity, and overload protection
- 🧱 LEGO-compatible bottom case — snaps directly onto LEGO baseplates
- 📐 Compact & mountable — 56×40mm with M4 screw holes
- ⚙️ ~90% conversion efficiency
- 🔌 JST PH2.0 battery output — standard connector for motors, servos, or external peripherals
- 📦 3D & 2D CAD files included — STEP, WRL, DXF, and PDF for enclosure design
| Parameter | Value |
|---|---|
| Battery | 1S LiPo, 1200mAh (full-charge 4.2V) |
| Charge input | USB Type-C, 5V DC |
| Max charge current | 1.2A |
| 5V output | 5V ±5%, max 1.2A (2-pin header and USB-A port share this rail) |
| 3.3V output | 3.3V ±5%, max 800mA (2-pin header) |
| Battery direct output | 3.7–4.2V (JST PH2.0 2-pin + 2-pin header) |
| Total max output | 2A (combined across all rails) |
| Conversion efficiency | ~90% |
| Factory charge level | ~30% (air-transport safe) |
| Parameter | Value |
|---|---|
| Dimensions | 56 × 40 mm |
| Mounting | M4 screws/nuts (2 holes) |
| Weight | 42 g |
| Battery connector | Onboard, matched to included cell |
| # | Interface | Purpose | Notes |
|---|---|---|---|
| ① | USB Type-C | 5V charge input | C-to-C and A-to-C both supported |
| ② | USB-A female | 5V output | For powering USB devices directly |
| ③ | Slide switch | Master power | OFF: battery fully disconnected, no charging. USB input still powers outputs directly when plugged in (pass-through). ON: battery connected, can charge via USB-C |
| ④ | 4× LED gauge | Battery level & status | 25% / 50% / 75% / 100%. Lit when module has power (USB or battery) |
| ⑤ | 5V header (2-pin) | 5V regulated output | Max 1.2A, shared with USB-A port |
| ⑥ | 3.3V header (2-pin) | 3.3V regulated output | Max 800mA |
| ⑦ | BAT header (2-pin) | Battery direct output | 3.7–4.2V, unregulated |
| ⑧ | JST PH2.0 (2-pin) | Battery direct output | Standard 2.0mm pitch; mates with common JST PH2.0 cables |
The four-LED bar indicates battery level and charging status. LEDs light up whenever the board is powered — whether from the battery or from USB.
| Battery Level | LEDs Lit | Meaning |
|---|---|---|
| 75–100% | ●●●● (4) | Full |
| 50–75% | ●●●○ (3) | Good |
| 25–50% | ●●○○ (2) | Half |
| <25% | ●○○○ (1) | Low — recharge soon |
| State | LED Behavior |
|---|---|
| Charging in progress | LEDs light up sequentially in a chase/marquee pattern |
| Fully charged | All 4 LEDs solid on |
When the switch is OFF and USB-C is connected, the battery is fully disconnected and does not charge. Power flows directly from USB input to the output rails (5V + 3.3V). LEDs will be lit in this state — the board is powered, just not from the battery.
| State | LED Behavior |
|---|---|
| USB pass-through active | LEDs lit (board has power) |
⚠️ The LEDs show battery voltage, not an SoC fuel gauge. Under heavy load, the displayed level may drop temporarily due to voltage sag. If you see 1 LED, recharge promptly — the module does not have an automatic low-voltage cutoff.
The slide switch is the key to using the PM11. Here's how the three operating modes work:
| Mode | Switch | USB-C | What Happens |
|---|---|---|---|
| Battery power | ON | — | Battery powers outputs. LEDs show charge level |
| Charging | ON | Plugged in | Battery charges + outputs powered. LEDs chase → solid when full |
| Pass-through | OFF | Plugged in | Battery disconnected (no charging). USB directly powers outputs. LEDs on |
Turn the switch ON, then connect a USB-C cable to any 5V USB source (wall adapter, power bank, computer port). The LEDs will chase sequentially while charging. All four LEDs solid on = fully charged.
A full charge from empty takes approximately 1 hour. The switch must be ON for charging — if the switch is OFF, the battery is isolated and USB power only feeds the outputs (pass-through).
Use Dupont wires to connect the PM11's output headers to your dev board's power pins. Refer to the Wiring Examples below for your specific board.
Slide the switch to ON. The LEDs will show the current battery level.
You're live. The LEDs stay lit while your board has power, giving you a continuous battery readout.
💡 Bench-top tip: For development at your desk, use pass-through mode: switch OFF + USB-C plugged in. This powers your project from USB without putting wear on the battery.
PM11 5V → Arduino 5V pin
PM11 GND → Arduino GND
Connect to the 5V pin, NOT Vin. The Vin pin expects ≥7V and your Arduino will not power on reliably from 5V through Vin.
Option A (recommended — more efficient):
PM11 3.3V → ESP32 3.3V pin
PM11 GND → ESP32 GND
Option B (if you need 5V for other peripherals on the board):
PM11 5V → ESP32 VIN / 5V pin
PM11 GND → ESP32 GND
ESP32 WiFi transmit spikes (~500–800mA) are well within the PM11's capability. Both options work reliably. Option A skips the ESP32's onboard LDO for better efficiency.
PM11 5V → Pico VSYS (pin 39)
PM11 GND → Pico GND (pin 38)
PM11 5V → Breadboard + rail
PM11 3.3V → Breadboard + rail (if needed)
PM11 GND → Breadboard - rail (common ground)
PM11 BAT → Motors, servos, or high-current devices (use JST PH2.0)
Actual runtime depends heavily on your load. Here are approximate figures for common scenarios:
| Use Case | Typical Load | Estimated Runtime |
|---|---|---|
| ESP32 deep sleep sensor (1 reading/min) | ~1mA avg | Weeks |
| ESP32 idle, no WiFi | ~40mA | ~25 hours |
| ESP32 + WiFi (steady) | ~80mA | ~13 hours |
| Arduino UNO + a few LEDs | ~100mA | ~10 hours |
| Raspberry Pi Pico (idle) | ~20mA | ~50 hours |
| Heavy load (motors, servos, LED strip) | ~1.5A | ~40 minutes |
| Max continuous draw (2A) | 2A | ~30 minutes |
These are estimates assuming a nominal 3.7V battery with boost conversion efficiency accounted for. Your results will vary with temperature, battery age, and load characteristics. If you need longer runtime, consider using the 5V output with a larger external USB power bank instead.
The slide switch physically disconnects the battery. When the switch is OFF, the battery cannot charge. However, if USB-C is plugged in, power bypasses the battery entirely and feeds the output rails directly (pass-through mode).
This is a useful mode for bench-top development: turn the switch OFF, plug in USB-C, and the board powers your project directly from the USB supply without touching the battery. The LEDs will be lit since the board is powered. To charge the battery, the switch must be ON.
To charge: Switch ON → Plug in USB-C → LEDs chase → All 4 solid = done. If the switch is OFF, the battery is isolated and will not charge regardless of USB input.
The module does not automatically disconnect the battery when voltage drops too low. If you see only 1 LED lit, stop using the module and recharge immediately. Continuing to draw power after the battery is depleted can permanently damage the LiPo cell.
Turn the slide switch OFF when your project is idle. Even small loads can slowly deep-discharge the battery over days.
If you won't use the module for several weeks, store it at ~50% charge (2 LEDs) in a cool, dry place. Recharge to ~50% every 3 months for long-term storage.
The module measures 56 × 40 mm with two M4 mounting holes. CAD files are available for enclosure and integration design:
| File | Format | Use For |
|---|---|---|
design-files/2d/PM11-outline.dxf |
DXF | Laser cutting, 2D CAD |
design-files/2d/PM11-outline.pdf |
Quick dimension reference | |
design-files/3d/PM11.step |
STEP | Fusion 360, SolidWorks, FreeCAD |
design-files/3d/PM11.wrl |
VRML | KiCad, EDA viewers, lightweight 3D preview |
📂 All CAD files are in the
design-files/folder — no ZIP download needed.
The included bottom case has LEGO-compatible stud recesses on the underside. Snap the PM11 directly onto any LEGO baseplate or Technic frame for rapid mechanical prototyping.
| Problem | Likely Cause | Solution |
|---|---|---|
| Module won't turn on | Battery fully depleted, or switch OFF with no USB | Try with USB-C plugged in (pass-through). If charging: switch must be ON. If battery is deeply discharged, leave charging for 15+ min then try again |
| Battery won't charge | Switch is OFF | Switch must be ON for charging. If switch is OFF and USB is plugged in, the board runs in pass-through mode — battery stays disconnected |
| LEDs light up but my project isn't powered | Loose wiring or wrong polarity | Check Dupont wire connections. Try wiggling the wires — breadboard connections can be flaky |
| ESP32 resets when WiFi transmits | Loose or thin wiring | Use shorter, thicker Dupont wires. Ensure solid GND connection. If using 3.3V output, try the 5V → ESP32 VIN path instead |
| USB-C cable doesn't charge | Faulty cable or low-power port | Try a different cable and a wall adapter (not a laptop USB port, which may limit current) |
| Device runs for much less time than expected | High current draw or old battery | Check your load with a multimeter. Refer to the runtime table |
| Output voltage seems wrong | Battery is low | Recharge until all 4 LEDs are solid |
| All 4 LEDs solid but device won't power on | Switch is OFF with no USB, or wiring fault | Turn switch ON. Check polarity with a multimeter. If on USB pass-through, verify USB source is delivering 5V |
- Battery: UN38.3 compliant LiPo cell
- Protection: Overcharge, reverse-polarity, overload
- Transport: Factory-charged to ≤30% for air-freight safety compliance
- Disposal: Do not dispose of in household waste. Follow local e-waste and LiPo battery recycling regulations.
NULLLAB PM11 is open hardware. Design files are free to use for personal, educational, and commercial purposes. Build, modify, and integrate — no permission needed.
- 📧 Email: support@null-lab.com
- 💬 WeChat:
null-lab
Happy making! 🔧


