Skip to the content
4 layersPocket s, the printed circuit board in 3D

Toolkit: Pocket-S: Open-source ESP32-S3 multi-tool alternative to Flipper Zero — Sub-1GHz, NFC, RFID, IR, BLE, WiFi with modular expansion in C

Copper layers
4
Thickness
1.6 mm
Parts
32
Nets
51
Pads
0
Tracks, vias
0, 0
Pours
5
Routed
Not yet
KiCad
KiCad 8.0 (file 20231120)
Created
3 Jun 2026
Updated
7 Aug 2026

Overview

Pocket s is an open-source printed circuit board by ridhinva, from the ridhinva/pocket-s repository on GitHub, published under the MIT licence. It is a 4-layer board with 32 parts on 51 nets.

It is built around the CC1101RGPR, ESP32-S3-WROOM-1-N8R8 and PN5180A0ET/C3J, with the TP4056, BSS138 and TSOP38238 among its other parts. Its parts include 7 ICs, 7 switches, 3 diodes, 3 crystals and 2 capacitors. It belongs with the radio and wireless boards and the ESP32 boards of this library.

Main components

7

README

README.md

Pocket-S — Open-Source ESP32-S3 Multi-Tool

License: MIT KiCad 8.0 ESP-IDF v5.2 Status: v1.0

A fully open-source, modular multi-tool platform built on ESP32-S3. Sub-1GHz RF • NFC • 125kHz RFID • IR • BLE • WiFi • Expandable Modules

Getting Started • Hardware • Firmware • KiCad • Docs • Contributing


Features

FeatureChipFrequencyProtocols
Sub-1GHz RFCC1101300-928 MHzASK/OOK, FSK, GFSK, MSK
NFCPN518013.56 MHzISO14443A/B, MIFARE, EMV
RFIDDiscrete125 kHzEM4100, HID, T5577
InfraredRMT38 kHzNEC, RC5, RC6, Sony, raw
BluetoothESP32-S32.4 GHzBLE 5.0
WiFiESP32-S32.4 GHz802.11 b/g/n

MCU: ESP32-S3-WROOM-1 (Dual-core LX7 @ 240MHz, 8MB Flash, 8MB PSRAM) Display: 1.54" IPS LCD, 240×240, ST7789V Battery: 3.7V 1200mAh LiPo, USB-C charging Dimensions: 85 × 55 × 12 mm


Quick Start

bash
git clone --recursive https://github.com/ridhinva/pocket-s.git
cd pocket-s/firmware/os
idf.py set-target esp32s3
idf.py build flash monitor

Hardware

KiCad Files

Full KiCad 8.0 project in hardware/kicad/:

  • pocket-s.kicad_pro — Project settings, net classes, design rules
  • pocket-s.kicad_sch — Hierarchical schematic (11 sheets)
  • pocket-s.kicad_pcb — 4-layer PCB (85×55mm) with placements, zones, silkscreen

Schematic Sheets

  1. Top Level — ESP32-S3 module, pin assignments
  2. Power Management — TP4056 charger, TPS62740 buck, battery protection
  3. USB + UART — USB-C connector, CH340C bridge
  4. Display — ST7789V LCD with backlight control
  5. SD Card — MicroSD socket, 1-bit SDMMC
  6. CC1101 Sub-1GHz — Transceiver + RF matching network
  7. PN5180 NFC — Controller + antenna matching
  8. IR + 125kHz RFID — IR TX/RX, RFID reader
  9. Buttons + UI — D-pad, buzzer, RGB LED
  10. Expansion Port — 20-pin FPC connector
  11. Debug Header — SWD programming header

PCB Specs

  • Layers: 4 (F.Cu, GND plane, Power plane, B.Cu)
  • Thickness: 1.6mm FR4, ENIG finish
  • Min trace: 0.15mm, Min clearance: 0.15mm
  • Impedance: 90Ω USB diff, 50Ω RF single-ended
  • RF keepouts: CC1101, NFC antenna, RFID coil zones

BOM

See docs/BOM.md — ~85 components, $32-52/unit


Firmware (PocketOS)

Built on ESP-IDF v5.2. Architecture:

text
PocketOS
├── Bootloader (Secure Boot, OTA A/B)
├── HAL (SPI, I2C, UART, GPIO, ADC, PWM, Display, SD, IR, LED, Power)
├── Radio Drivers (CC1101, PN5180, RFID, IR, BLE, WiFi)
├── Core Services (App Manager, Event Bus, Storage, Settings, Modules, CLI, OTA, Crypto)
├── Applications (Sub-GHz, NFC, RFID, IR, BLE, WiFi, GPIO, Scripts, Settings)
└── UI Framework (Core, Menu, Widgets, Status Bar, Popups, Animations)

Building

bash
cd firmware/os
idf.py set-target esp32s3
idf.py menuconfig    # optional: configure options
idf.py build flash monitor

CLI Commands

text
PocketOS> help              # Show all commands
PocketOS> cc1101 freq 433920000  # Set Sub-GHz frequency
PocketOS> nfc read          # Read NFC card
PocketOS> ir tx nec 0x1234  # Send IR signal
PocketOS> module list       # List expansion modules

Pin Assignment

FunctionGPIODirection
SPI0_MOSI (CC1101)GPIO13OUT
SPI0_MISOGPIO12IN
SPI0_CLKGPIO14OUT
CC1101_CSGPIO15OUT
CC1101_GDO0GPIO16IN
CC1101_GDO2GPIO17IN
I2C_SDAGPIO8BIDIR
I2C_SCLGPIO9OUT
PN5180_IRQGPIO10IN
PN5180_RSTGPIO11OUT
SPI2_MOSI (LCD/SD)GPIO35OUT
SPI2_MISOGPIO37IN
SPI2_CLKGPIO36OUT
LCD_CSGPIO33OUT
LCD_DCGPIO34OUT
LCD_RSTGPIO38OUT
LCD_BLGPIO39PWM
SD_CSGPIO40OUT
IR_TXGPIO4OUT
IR_RXGPIO5IN
RFID_TXGPIO6OUT
RFID_RXGPIO7IN
WS2812BGPIO20OUT
BUZZERGPIO21PWM
BTN_UPGPIO46IN
BTN_DOWNGPIO45IN
BTN_LEFTGPIO2IN
BTN_RIGHTGPIO3IN
BTN_OKGPIO1IN
BTN_BACKGPIO0IN
UART1_TX (Exp)GPIO18OUT
UART1_RX (Exp)GPIO19IN
EXP_SPI_MOSIGPIO41OUT
EXP_SPI_MISOGPIO42IN
EXP_SPI_CLKGPIO47OUT
EXP_SPI_CS0GPIO48OUT
BAT_ADCADC1_CH0IN

Module System

20-pin FPC expansion port supports plug-and-play modules with auto-detection via I2C EEPROM.

ModuleIDDescription
LoRa SX12760x04Long-range 433/868/915MHz
GPS NEO-6M0x03Location logging
CAN Bus0x05Vehicle CAN bus
RS-4850x06Industrial bus
OLED 1.3"0x07Secondary display
Keypad 4×40x08PIN entry
Zigbee CC26520x09Zigbee 3.0

See docs/MODULE_DESIGN.md for module development guide.


Module Connector Pinout

text
Pin  │ Function     │ Dir
─────┼──────────────┼─────
1    │ 3.3V OUT     │ PWR
2    │ 5V OUT       │ PWR
3    │ GND          │ PWR
4    │ GND          │ PWR
5    │ SPI MOSI     │ OUT
6    │ SPI MISO     │ IN
7    │ SPI CLK      │ OUT
8    │ SPI CS0      │ OUT
9    │ I2C SDA      │ BID
10   │ I2C SCL      │ OUT
11   │ UART TX      │ OUT
12   │ UART RX      │ IN
13   │ GPIO 1       │ BID
14   │ GPIO 2       │ BID
15   │ ADC          │ IN
16   │ PWM          │ OUT
17   │ Interrupt    │ IN
18   │ Reset        │ OUT
19   │ 3.3V OUT     │ PWR
20   │ GND          │ PWR

Documentation


Contributing

See CONTRIBUTING.md. In short:

  1. Fork → Branch → Code → Test → PR
  2. Follow conventional commits (feat:, fix:, docs:)
  3. C code follows Linux kernel style

Roadmap

v1.0 ✅

  • KiCad schematic + PCB
  • PocketOS firmware core
  • CC1101, PN5180, IR, RFID drivers
  • BLE/WiFi stack
  • Module expansion system
  • Lua scripting, CLI, OTA

v1.1 (Next)

  • BadUSB (USB HID)
  • GPS/LoRa module drivers
  • Signal recording to SD
  • Universal remote DB

v2.0 (Future)

  • Larger display option
  • Companion mobile app
  • Community module marketplace

License

Firmware: MIT License Hardware: CERN-OHL-P-2.0 (Open Hardware)


Made with ❤️ by the open-source hardware community

⬆ Back to Top

Parts

32
QtyValueFootprintReferences
4MountingHoleMountingHole:MountingHole_2.5mmH1, H2, H3, H4
1100nFCapacitor_SMD:C_0402_1005MetricC1
110kResistor_SMD:R_0402_1005MetricR1
110uFCapacitor_SMD:C_0603_1608MetricC2
126MHzCrystal:Crystal_SMD_2520-4Pin_2.5x2.0mmY4
132.768kHzCrystal:Crystal_SMD_3215-2Pin_3.2x1.5mmY2
132MHzCrystal:Crystal_SMD_2016-4Pin_2.0x1.6mmY1
1BSS138Package_TO_SOT_SMD:SOT-23Q1
1BTN_BACKButton_Switch_SMD:SW_SPST_B3U-1000PSW6
1BTN_DOWNButton_Switch_SMD:SW_SPST_B3U-1000PSW2
1BTN_LEFTButton_Switch_SMD:SW_SPST_B3U-1000PSW3
1BTN_OKButton_Switch_SMD:SW_SPST_B3U-1000PSW5
1BTN_RIGHTButton_Switch_SMD:SW_SPST_B3U-1000PSW4
1BTN_UPButton_Switch_SMD:SW_SPST_B3U-1000PSW1
1CC1101RGPRPackage_DFN_QFN:QFN-20-1EP_4x4mm_P0.5mm_EP2.5x2.5mmU2
1ESP32-S3-WROOM-1-N8R8RF_Module:ESP32-S3-WROOM-1U1
1Expansion_20pinConnector_FFC-FPC:Hirose_FH12-20S-0.5SH_1x20-1MP_P0.50mm_HorizontalJ1
1GreenLED_SMD:LED_0603_1608MetricLED2
1MicroSD_CardConnector_Card:SD_Hirose_DM3BT-SF-PEJU9
1PN5180A0ETPackage_DFN_QFN:QFN-40-1EP_6x6mm_P0.5mmU3
1Piezo_85dBBuzzer_Beeper:Buzzer_12x9.5RM7.6LS1
1RESETButton_Switch_SMD:SW_SPST_B3U-1000PSW7
1RedLED_SMD:LED_0603_1608MetricLED1
1SWD_DebugConnector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ2
1TP4056Package_SO:SOIC-8-1EP_4.9x3.9mm_P1.27mmU5
1TPS62740DSSTPackage_SON:Texas_WSON-8-1EP_2x2mm_P0.5mmU6
1TSOP38238OptoDevice:IRReceiver_Vishay_MOLDING-3Q2
1USB_C_ReceptacleConnector_USB:USB_C_Receptacle_HRO_TYPE-C-31-M-12U8
1WS2812BLED_SMD:LED_RGB_5050-4D1

Similar boards

  • 4 layers74.1 × 130 mmBadge secsea V1 1, the printed circuit board in 3D

    Badge secsea V1 1

    cchaloin/HIP_SecSea

    Hack In Provence badge for SecSea

    132 parts
  • 2 layers80 × 50 mmIguana V1, the printed circuit board in 3D

    Iguana V1

    iowlabs/Iguana

    Repositorio para proyecto Iguana IOWLabs (Cultivo)

    120 parts1
  • 2 layers60.5 × 213.5 mmStasis, the printed circuit board in 3D

    Stasis

    TheArcher2049/Momentum-Based-Launch-System-Stasis-

    Stasis is a two-subsystem embedded hardware project inspired by the Sheikah Slate's Stasis rune from The Legend of Zelda: Breath of the Wild.

    90 parts
  • 2 layers71.9 × 58.4 mmAtmega32u4 hub pcb 1 3, the printed circuit board in 3D

    Atmega32u4 hub pcb 1 3

    Accessible-AAC/AAC-Devices

    Augmentative and alternative communications device design files based on inexpensive and open source technologies.

    65 parts3
  • 4 layers166.1 × 91.4 mmVenturi MainPCB, the printed circuit board in 3D

    Venturi MainPCB

    David207025/Venturi

    Highly optimized line follower robot controlled by the ESP32-S31-WROOM-3 module

    114 parts
  • 2 layers61 × 61 mmVael, the printed circuit board in 3D

    Vael

    dialgorithm/vael

    esp32s3 flight controller

    66 parts
  • 2 layersBreakbox, the printed circuit board in 3D

    Breakbox

    gl1tchxd-git/breakbox-hardware

    Hardware files, PCB, Schematic, 3D-Models for the BreakBox

    8 partsGPL-3.0
  • 2 layers62 × 42 mmPetvest hub, the printed circuit board in 3D

    Petvest hub

    YangD5014/PETA-CUSTOM

    PETA CUSTOM 采用服装形态而非项圈形态:IMU 传感器沿犬体脊柱与四肢根部分布式布置 (见 穿戴位置示意),才能获得躯干/四肢分段姿态——这是单一项圈 设备在物理上无法实现的。主板(Hub)集成电源、主控、语音与显示,通过软排线连接 6 个缝在服装 上的 IMU 卫星节点,整机重量与柔性针对犬类穿戴优化。

    74 parts

Questions

What parts does the Pocket s use?

32 parts, built around the CC1101RGPR, ESP32-S3-WROOM-1-N8R8, PN5180A0ET/C3J and TP4056. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Pocket s KiCad files?

From the ridhinva/pocket-s repository on GitHub, at the commit this page was made from: the board is hardware/kicad/pocket-s.kicad_pcb and its schematic hardware/kicad/pocket-s.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Pocket s design in my own project?

Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).