Skip to the content
PCBKitNew board
2 layers28 × 28 mmScoopy, the printed circuit board in 3D

Tiny, local-first room hardware for Home Assistant and ESPHome.

Size
28 × 28 mm
Copper layers
2
Thickness
1.6 mm
Parts
13
Nets
20
Pads
47
Tracks, vias
55, 13
Pours
1
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
19 Aug 2026
Updated
2 Sep 2026

Overview

Scoopy is an open-source printed circuit board by NiceHatThanks, from the NiceHatThanks/scoopy-node repository on GitHub. It is a 2-layer board of 28 × 28 mm with 13 parts on 20 nets, routed with 55 tracks and 13 vias.

It is built around the HLK-LD2410C-P, FRC0603F2201TS and PSC-1608U52GC-G4, with the K2-1109SP-H4SA-04 and YLED0603R among its other parts. Its parts include 3 resistors, 3 diodes, 3 connectors and 2 switches. It belongs with the ESP32 boards of this library.

Main components

5

README

README.md

Scoopy Node

Tiny, local-first room hardware for Home Assistant and ESPHome.

Scoopy is a compact USB-C powered room controller built around an ESP32-C3. V1 combines two physical buttons, three PWM LEDs, optional LD2410C mmWave presence sensing, optional Home Assistant Bluetooth Proxy support, and an I²C expansion connection in a small 3D-printed enclosure.

There are two enclosure variants:

  • Scoopy Presence — the full-size enclosure with an LD2410C mmWave presence sensor.
  • Scoopy Compact — the smaller enclosure without the radar.

Both variants use the same firmware image. If an LD2410C is not fitted, the rest of Scoopy continues to work normally.

This repository contains the source-available hardware files, versioned STL enclosure exports, ESPHome firmware, captive-portal UI, manufacturing outputs, and project documentation.

Quick links

Repository structure

text
hardware/
  kicad/             Editable KiCad source files
  gerbers/           Fabrication-ready Gerbers and drill files
  bom/               Bill of materials and manufacturing exports

enclosure/
  compact/           Versioned STL exports for Scoopy Compact
  presence/          Versioned STL exports for Scoopy Presence
  build/             Assembly photos used by the build guide

firmware/
  esphome/           Unified ESPHome configuration and custom components
  captive-portal/    Source for the branded Wi-Fi setup page

docs/
  setup.md           First-time setup and Home Assistant pairing
  examples.md        Ready-made Home Assistant automations
  assembly.md        V1 enclosure assembly guide
  troubleshooting.md Common setup, firmware and hardware issues

Firmware

firmware/esphome/scoopy.yaml is the unified production configuration for both Scoopy variants. The V1 firmware identifies itself as 1.0.0 through the ESPHome project version.

V1 features include:

  • Unique scoopy-XXXXXX naming using the ESP32 MAC address
  • Scoopy-branded local Wi-Fi provisioning with a captive portal
  • ESPHome native API and Home Assistant discovery
  • Two physical buttons exposed as single, double, and hold event entities
  • Three individually dimmable PWM LED entities
  • Individual pulse, flash, and alert LED effects
  • Coordinated three-LED patterns including Circular Pulse, Comet, Breathe All, Heartbeat, Ping Pong, and Ripple
  • Pulsing red Wi-Fi/setup indication and a brief green confirmation after connection
  • LD2410C presence, moving-target, and still-target entities when the radar is fitted
  • Optional Home Assistant Bluetooth Proxy, disabled by default
  • Passive BLE scanning with one active proxy connection slot
  • Website-hosted firmware updates through the Home Assistant Firmware Update entity
  • Native ESPHome OTA support for local/development updates
  • USB serial provisioning through Improv
  • Wi-Fi signal, Wi-Fi percentage, IP address, uptime, ESPHome version, and Scoopy firmware diagnostics
  • I²C expansion on GPIO5 (SDA) and GPIO7 (SCL)
  • Physical Wi-Fi/factory recovery by holding both buttons for 10 seconds

The firmware deliberately uses one image for both variants. On Scoopy Compact, LD2410C entities may show as unavailable or Unknown because the radar is not fitted; this does not affect buttons, LEDs, Wi-Fi, OTA, Bluetooth Proxy, or the rest of the device.

Home Assistant

Once Scoopy has joined the same network as Home Assistant, ESPHome discovery should find it automatically.

Ready-made automations are in docs/examples.md. The examples cover:

  • LED pattern control
  • Button-controlled lighting
  • Presence-controlled lighting
  • Time-aware lighting
  • Alarm reminders
  • Status LEDs
  • Multi-function room controls for lights, fans, and blinds

The interactive version at https://nicehatthanks.com/docs/ can take one of your Scoopy Entity IDs and fill the matching Scoopy prefix into the examples automatically.

Setup and recovery

For normal first-time setup, use https://nicehatthanks.com/setup/ or docs/setup.md.

A fresh or factory-reset Scoopy creates a Wi-Fi network named scoopy-XXXXXX with password scoopy123. Wi-Fi credentials are sent directly to Scoopy through its local setup page; no Scoopy cloud account is involved.

To clear saved Wi-Fi credentials and return to setup mode, hold both physical buttons together for 10 seconds. The middle red LED flashes rapidly near the end of the hold before the reset is performed.

Firmware updates

Released firmware can be installed directly from Home Assistant through Scoopy's Firmware Update entity. Scoopy reads the update manifest hosted at:

https://nicehatthanks.com/firmware/scoopy/manifest.json

An OTA update preserves the device identity, saved Wi-Fi credentials, Home Assistant connection, and existing entity IDs.

Enclosure and printing

GitHub contains the versioned raw STL exports for Scoopy Compact and Scoopy Presence.

The slicer-ready Bambu Studio / 3MF project is intentionally not duplicated in this repository. MakerWorld is the single maintained source for the Bambu project and print profile:

Scoopy on MakerWorld

See enclosure/README.md for the STL layout and docs/assembly.md for assembly.

Hardware overview

V1 uses a 28 × 28 mm carrier PCBA with:

  • ESP32-C3 Super Mini
  • 2 × tactile buttons
  • 3 × LEDs with 2.2 kΩ series resistors
  • Optional HLK-LD2410C mmWave presence sensor
  • I²C expansion connection
  • USB-C power through the ESP32-C3 module

Scoopy Presence uses the LD2410C and the larger enclosure. Scoopy Compact uses the same carrier and firmware without the radar.

Electrical design and manufacturing files are documented in hardware/README.md.

Assembly

The enclosure build is the same basic process for Compact and Presence: fit the heat-set insert, secure the PCBA, place the two buttons in the lid, then clip the base and lid together while aligning the three light pipes with the LEDs.

For Scoopy Presence, a nylon M2 screw is recommended near the LD2410C because a metal screw may affect the radar.

See the illustrated docs/assembly.md guide.

Release status

v1.0.0 is the first formal Scoopy release. The V1 hardware, firmware, STL exports, documentation, and manufacturing files in that release tag form the reproducible V1 baseline.

Development on main may move ahead after the release. Use a release tag when reproducing a known version.

Build your own

The hardware, firmware, and printable STL files are available so you can inspect Scoopy, build one for yourself, modify it, and experiment with your own non-commercial versions.

Commercial manufacture or sale requires prior permission from Nice Hat Thanks.

See LICENSE for the full terms.

Licence

Scoopy is source available for personal and non-commercial use. You may inspect the files, build your own, modify them, and share non-commercial derivatives under the terms in LICENSE.

Commercial manufacture, sale, or other commercial use requires prior written permission from Nice Hat Thanks.

Scoopy is not released under an open-source or open-hardware licence.

Parts

13
QtyValueFootprintReferences
32.2kResistor_SMD:R_0603_1608MetricR1, R2, R3
2LED - GreenLED_SMD:LED_0603_1608MetricD1, D2
2SW_PushButton_Switch_SMD:SW_SPST_TL3305CSW1, SW2
1Conn_01x04_PinConnector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ3
1ESP32_SuperMiniStyxLib:ESP32-C3-SuperMiniJ1
1LD2410CStyxLib:Ld2410cJ2
1LED - RedLED_SMD:LED_0603_1608MetricD3

The 11 most common of 13 parts.

Questions

How big is the Scoopy PCB?

It measures 28 × 28 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Scoopy use?

13 parts, built around the HLK-LD2410C-P, FRC0603F2201TS, PSC-1608U52GC-G4 and K2-1109SP-H4SA-04. 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 Scoopy KiCad files?

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

Can I use the Scoopy design in my own project?

Its repository states no licence, so its author keeps all rights: ask NiceHatThanks before reusing the design.

Similar boards

  • 4 layers230 × 84.9 mmDrunkDashboard v2, the printed circuit board in 3D

    DrunkDashboard v2

    drunkbatya/DrunkDashboard

    STM32 powered pixel automotive dashboard

    223 parts1GPL-3.0
  • 4 layers100 × 80 mmBuilt, the printed circuit board in 3D

    Built

    devbisme/ai-circuit-design-tests

    Tests of KiCad-related AI tools.

    243 parts10
  • 2 layers46 × 24.2 mmLi Po Battery Charger, the printed circuit board in 3D

    Li Po Battery Charger

    Hossam-Mamdouh/Li-Po_Battery_Charger

    USB-C 1S Li-Po Power Management & 3.3 V Supply PCB

    38 partsMIT
  • 4 layers125 × 70 mm1000base t1-converter, the printed circuit board in 3D

    1000base t1-converter

    TLDSJPWORK/1000base-t1-converter

    学習用 1000BASE-T1 ↔ 1000BASE-T メディアコンバーター

    184 partsCC-BY-4.0
  • 4 layers64.9 × 39.2 mmHOLY ESC, the printed circuit board in 3D

    HOLY ESC

    0BAB1/HOLY_ESC

    An open-source closed loop ESC PCB / Hardware platform. Based on a STM32F051 (Cortex M0 based) MCU. Tested using AM32 ESC software.

    81 parts8
  • 2 layersClock, the printed circuit board in 3D

    Clock

    ckemere/ELEC327

    70 parts7MIT
  • 4 layers74 × 36.3 mmLoudcardsdevice, the printed circuit board in 3D

    Loudcardsdevice

    gelotek-com/Anki-In-Hardware

    Building a physical flashcard device inspired by Anki and spaced repetition.

    87 parts2