
Cmote
Person-0/Cmote
A USB-C IR transmitter built-in to a devboard powered by the Attiny1616 MCU

Open-hardware 60 GHz radar ceiling sensor: presence & fall detection without a camera. Matter over Thread, KiCad 4-layer Ø60 mm board.
Stillpoint is an open-source printed circuit board by techmiguel, from the techmiguel/stillpoint repository on GitHub, published under the CERN-OHL-S-2.0 licence. It is a 4-layer board of 60 × 60 mm with 95 parts on 81 nets, routed with 496 tracks and 164 vias.
It is built around the BGT60TR13CE6327XUMA1, CP2102N-A02-GQFN24R and SN74AVC4T245PWRE4, with the TPS7A2018PDBVR-TP, USBLC6-2SC6 and CL21A106KAYNNNE among its other parts. Its parts include 38 capacitors, 14 resistors, 8 ICs, 2 connectors and 2 switches. It belongs with the sensors and measurement boards and the Silicon Labs (EFR32, EFM) boards of this library.
A privacy-first ceiling sensor that counts people, knows their posture and reports falls,
using a 60 GHz radar instead of a camera.
Not a medical device. A fall alert is a notification, never the only safety measure for a person.
| Top (ceiling side) | Bottom (radar, faces the floor) |
|---|---|
![]() | ![]() |
| Size | Ø60 mm round, 4 layers, 1.6 mm, ENIG, JLCPCB standard process |
| Radar | BGT60TR13C on the bottom face, 0.5 mm-pitch BGA, antennas in package |
| Radio + CPU | MGM260P module (Cortex-M33 + MVP accelerator, Matter/Thread/BLE) at the board edge with its antenna keep-out |
| Power | USB-C, 3.3 V LDO, 7 µVrms 1.8 V LDO for the radar, one π filter per radar supply domain |
| Extras | CP2102N USB console, RGB status LED, setup/reset buttons, Tag-Connect SWD, 14 test points |
Layout highlights:
Fabrication files (Gerber, drill, BOM and CPL for JLCPCB, schematic PDF, STEP) are in
hardware/fabrication/ and attached to the
rev A release.
Full design notes: docs/hardware.md.
A Ø65 mm, 24 mm tall ceiling puck on a Ø77 mm ceiling plate, 3D-printed in natural PETG. The bottom of the shell is the radome: a flat slab exactly half a wavelength thick inside the plastic (1.48 mm), so the 60 GHz signal passes through with about 0.15 dB of loss, and the radar's antennas sit one wavelength (4.95 mm) above it. The board rests on three supports and the lid clamps it with three posts at the same angles; the USB-C cable leaves through the lid, against the ceiling.
The FreeCAD model (mechanical/enclosure.py) loads the real
board STEP and checks that nothing touches the shell, the lid or the radome, and that no
plastic sits in the antennas' ±60° field of view.

ADC (3 RX × 32 chirps × 128 samples, 10 Hz)
→ range FFT ─┬─ motion path: MTI + Doppler + CFAR + angle (people who move)
└─ micro-motion path: 10 s of phase, breathing (people who are still)
→ 3D detections → tracks with room logic (doors, occlusion, ghosts)
→ 66-byte feature record per track (the contract)
→ int8 CNN (14.6 KB) every 0.5 s → fail-safe decision → MatterThe fixes for the classic failures of commercial radar sensors are regression tests:
| Scenario | What the sensor does |
|---|---|
| A person sits still and someone walks in front of them | the hidden person is kept as occluded, never dropped |
| An empty room with a fan running | the fan is learned as an interferer and not counted |
| Someone walks next to a mirror | the mirror ghost is recognised as multipath |
| A fall | suspected by the model or by a fast drop to the floor, confirmed after 4 s still on the floor; if it cannot be verified it is reported as uncertain, never silenced (plot) |

The C firmware is checked frame by frame against the Python reference: same counts, ≥ 99.8 % identical quantized features, and identical postures, fall decisions and alarm times (plot).
CERN-OHL-S-2.0 (CERN Open Hardware Licence v2, strongly reciprocal) for the whole project: schematic, board, mechanics, firmware and documentation.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 15 | 100n | Capacitor_SMD:C_0402_1005Metric | C5, C6, C7, C9, C10, C11, C13, C15, C18, C19, C20, C21, C23, C24, C26 |
| 14 | TP | TestPoint:TestPoint_Pad_D1.0mm | TP1, TP2, TP3, TP4, TP5, TP6, TP7, TP8, TP9, TP10, TP11, TP12, TP13, TP14 |
| 10 | 1u | Capacitor_SMD:C_0402_1005Metric | C3, C8, C12, C14, C31, C33, C35, C36, C38, C39 |
| 9 | 10u | Capacitor_SMD:C_0805_2012Metric | C2, C4, C22, C27, C28, C29, C30, C32, C34 |
| 8 | BLM18KG601SN1D | Inductor_SMD:L_0603_1608Metric | FB1, FB2, FB3, FB4, FB5, FB6, FB7, FB8 |
| 6 | Fiducial | Fiducial:Fiducial_1mm_Mask2mm | FID1, FID2, FID3, FID4, FID5, FID6 |
| 4 | 100k | Resistor_SMD:R_0402_1005Metric | R3, R14, R15, R16 |
| 2 | 1k | Resistor_SMD:R_0402_1005Metric | R9, R11 |
| 2 | 5.1k | Resistor_SMD:R_0402_1005Metric | R1, R2 |
| 2 | SN74AVC4T245PWR | Package_SO:TSSOP-16_4.4x5mm_P0.65mm | U7, U8 |
| 1 | 0.75A | Fuse:Fuse_1206_3216Metric | F1 |
| 1 | 10k | Resistor_SMD:R_0402_1005Metric | R13 |
| 1 | 10n | Capacitor_SMD:C_0402_1005Metric | C17 |
| 1 | 150 | Resistor_SMD:R_0402_1005Metric | R4 |
| 1 | 22.1k | Resistor_SMD:R_0402_1005Metric | R7 |
| 1 | 330 | Resistor_SMD:R_0402_1005Metric | R12 |
| 1 | 4.7u | Capacitor_SMD:C_0402_1005Metric | C25 |
| 1 | 4.7u | Capacitor_SMD:C_0805_2012Metric | C1 |
| 1 | 47.5k | Resistor_SMD:R_0402_1005Metric | R8 |
| 1 | 470n | Capacitor_SMD:C_0402_1005Metric | C16 |
| 1 | 750 | Resistor_SMD:R_0402_1005Metric | R10 |
| 1 | BGT60TR13C | stillpoint:Infineon_PG-VF2BGA-40-1_6.5x5mm_P0.5mm | U1 |
| 1 | CP2102N-A02-GQFN24R | Package_DFN_QFN:QFN-24-1EP_4x4mm_P0.5mm_EP2.6x2.6mm | U5 |
| 1 | Conn_ARM_SWD_TagConnect_TC2030-NL | Connector:Tag-Connect_TC2030-IDC-NL_2x03_P1.27mm_Vertical | J2 |
| 1 | GT-USB-7051A | stillpoint:USB_C_Receptacle_G-Switch_GT-USB-7051A | J1 |
| 1 | KC2016K80.0000C1GE00 | Crystal:Crystal_SMD_2016-4Pin_2.0x1.6mm | Y1 |
| 1 | MGM260PB32VNA5 | stillpoint:SiliconLabs_MGM260P_12.9x15mm | U2 |
| 1 | RESET | Button_Switch_SMD:SW_SPST_TL3342 | SW2 |
| 1 | SETUP | Button_Switch_SMD:SW_SPST_TL3342 | SW1 |
| 1 | SZYY1615RGB-B | stillpoint:LED_RGB_1615_SZYY1615RGB-B | D1 |
| 1 | TLV75733PDRVR | Package_SON:WSON-6-1EP_2x2mm_P0.65mm_EP1x1.6mm | U3 |
| 1 | TPS7A2018PDBVR | Package_TO_SOT_SMD:SOT-23-5 | U4 |
| 1 | USBLC6-2SC6 | Package_TO_SOT_SMD:SOT-23-6 | U6 |
It measures 60 × 60 mm and has 4 copper layers, 1.6 mm thick.
95 parts, built around the BGT60TR13CE6327XUMA1, CP2102N-A02-GQFN24R, SN74AVC4T245PWRE4 and TPS7A2018PDBVR-TP. 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.
From the techmiguel/stillpoint repository on GitHub, at the commit this page was made from: the board is hardware/stillpoint.kicad_pcb and its schematic hardware/stillpoint.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository publishes it under the CERN-OHL-S-2.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

Person-0/Cmote
A USB-C IR transmitter built-in to a devboard powered by the Attiny1616 MCU

etherkit/Si5351AVFO
After any schematic change, run tools/exportdocs.sh (needs KiCad 10 kicad-cli). It rewrites docs/Si5351AVFOschematic.pdf, the netlist, SVGs and docs/erc.rpt.


dognotdog/smol_servo
circuitry and software for controlling NEMA17 size brushless motors and stepper motors as servos.

VideoGPU/FMC_MIPI
FMC card to allow interfacing Xilinx FPGA boards with Jetson TX2 or TX1 via CSI-2 camera interface



bryfur/tang-av-scaler
PS2-class component video -> deinterlace, SMAA, scale -> 1080p60 HDMI on a Sipeed Tang Console 138K, with its AV board