Skip to the content
PCBKitNew board
2 layers70 × 54.5 mmReckoner, the printed circuit board in 3D

Turns press-and-hold motorised blinds into Home Assistant covers. One Reckoner per blind, hidden in the wall box behind the buttons you already have.

Size
70 × 54.5 mm
Copper layers
2
Thickness
1.6 mm
Parts
92
Nets
63
Pads
236
Tracks, vias
516, 63
Pours
3
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
1 Oct 2026
Updated
7 Nov 2026

Overview

Reckoner is an open-source printed circuit board by blind-reckoning, from the blind-reckoning/Reckoner repository on GitHub, published under the CERN-OHL-S-2.0 licence. It is a 2-layer board of 70 × 54.5 mm with 92 parts on 63 nets, routed with 516 tracks and 63 vias.

It is built around the ESP32-C6-MINI-1-N4, HLW8110 and AP2112K-3.3, with the LNK3206D-TL, BAT54S and 1N4148W among its other parts. Its parts include 27 resistors, 19 capacitors, 9 diodes, 6 connectors and 4 ICs. It belongs with the ESP32 and RISC-V boards of this library.

Main components

9

README

README.md

Blind Reckoning

Turns press-and-hold motorised blinds into Home Assistant covers.
One Reckoner per blind, hidden in the wall box behind the buttons you already have.

KiCad 10 ESP32-C6 For Home Assistant Hack Club Half Life View the schematic in KiCanvas View the board in KiCanvas Hardware licence: CERN-OHL-S-2.0

[!CAUTION] This board switches 230 VAC mains and is not isolated. Every part of it, including the ESP32 and the programming pads, is live whenever it is connected. A mistake can kill you or start a fire inside your wall. If you are not qualified to work on mains wiring, do not build or install it. Read Safety first.

What it does

Motorised blinds with press-and-hold buttons have no idea where they are. The Reckoner sits in the wall box between those buttons and the motor, and fixes that.

  • Your buttons keep working, with or without Wi-Fi. One press runs the blind to the end; another press stops it.
  • For Home Assistant. The blind is a cover: open, close, stop, set position and report position.
  • It knows where the blind is, without a sensor. It uses dead reckoning: a known start, the calibrated time for a full stroke and the time elapsed. At each end the motor's limit switch cuts the current; the Reckoner sees the drop, takes a fix and clears the drift.
  • It survives power cuts. It notices mains loss within one cycle and saves the position on the energy left in its capacitors.

How it works

BlockMain parts
Mains input2 A slow-blow fuse, 275 VAC varistor; circuit ground is mains L
SupplyLNK3206D off-line buck to 5 V (no transformer), AP2112K-3.3
MicrocontrollerESP32-C6-MINI-1: Wi-Fi 6, Bluetooth LE, Thread
MeteringHLW8110 and a 10 mΩ shunt: motor current and mains voltage
Motor relaysK1 HF46F-G switches the motor, K2 G5Q-14 picks the direction
InputsResistor dividers and BAT54S clamps for the buttons and every mains cycle

K2's common is fed through K1, so up and down can never be live at the same time, not even with a firmware bug or a welded contact. Both relays are held off by hardware through reset, boot and flashing.

The full Reckoner schematic

The routed Reckoner, top side The Reckoner, back side: mains warnings, licence and a QR code to this repository

The board is 70 × 54.5 mm on two layers, routed by hand, with 3 to 5 mm between mains nodes. The production files for JLCPCB are in PCB/production/.

Bill of materials

ItemQtySupplierPrice (USD)
Per-part BOM BOM/bom.csv, order lists for LCSC and Digi-Key, quote screenshots in BOM/1—0.00
PCB: 2 layers, 70 × 54.5 mm, 1.6 mm, green, lead-free HASL (5 boards)1JLCPCB6.25
SMT stencil, top side, with frame1JLCPCB16.75
Parts for one board, with LCSC minimum order quantities1LCSC29.24
Parts for one board: U3 and R11/R12/R151Digi-Key4.77
Shipping and taxesAll89.74
Total146.75

Shipping and taxes: JLCPCB $24.28 (after a $10 coupon), LCSC $30.17 (shipping and tariff, after $3.05 of discounts), Digi-Key $35.29 (€25.00 shipping and €6.44 VAT). The same table is in bom.csv.

Safety

[!WARNING] There is no low-voltage side. Circuit ground is mains live (L), so the ESP32, the LED, the test pads and every trace sit at 230 VAC to earth whenever L and N are connected. Only the enclosure protects you.

  • "Off" is not safe. Only isolating the circuit at the breaker makes the board dead, and C1 and C2 (400 V) can stay charged after that: measure them before you touch it. The motor wires J5 and J6 reach about 460 VAC while the motor runs.
  • Never connect USB, a debugger, a laptop or a grounded probe while it is on mains. Their ground is earth; this board's ground is L.
  • Never touch it while it is connected, not even "just the logic side". There is no logic side. There is only the death side!
  • Never power it without an insulating enclosure, and never mount it in a metal box.
  • Never work on live mains alone. Have someone with you who can give first aid.
  • Installing: leave it to a qualified electrician, and isolate and prove dead first. The circuit needs a breaker of 16 A or less and a 30 mA RCD.
    • J1 goes to L and J2 to N (they can't be swapped). The buttons' common must be on the same L as J1.
    • J3 and J4 go to the button outputs, J5 and J6 to the motor's up and down wires. The motor's neutral stays on house N.
    • The motor must be a 230 VAC tubular motor of about 1 A with its own limit switches.
  • Flashing and testing: flash only with mains disconnected at the source, through the USB pads TP1 to TP4 (TP5 to GND for download mode); after that, updates go over the air. Test live only through an isolation transformer and a series-lamp limiter, with isolated probes.

[!IMPORTANT] Blind Reckoning is a hobby prototype I built for Hack Club Half Life. It is not a certified product and has not been tested by any laboratory. Everything here is provided as is, without warranty. If you build, flash, test or install a Reckoner, you do so entirely at your own risk. The authors accept no responsibility for injury, death, fire or damage to property.

The Blind Reckoning "brand" is just a game. Please do not take it too seriously ;)

Status

Designed, routed and costed; boards and parts are next to order. The enclosure (CAD/) and firmware (Firmware/) are not started.

Licence

WhatLicence
Hardware: PCB/, CAD/ and BOM/bom.csvCERN-OHL-S-2.0
Documentation: this README and docs/CC BY-SA 4.0
Firmwarenot written yet

These licences apply retroactively: any copy of the hardware or documentation from any commit of this repository, including commits made before the licence files were added on 2 October 2026, is licensed under these terms.

Copyright 2026 KOZELJ Michele. Source location: https://github.com/blind-reckoning/Reckoner. If you make hardware from this source, keep the source location visible on the board or enclosure where practicable (CERN-OHL-S v2, section 4).

Not covered: the Blind Reckoning name and logos (brand/logos/, brand/symbols/), which are not licensed for reuse, so modified hardware needs its own name (see the brand book); the fonts in brand/fonts/ (SIL Open Font License 1.1); and KiCad's library symbols and footprints (KiCad library licence).

Parts

92
QtyValueFootprintReferences
6100nFCapacitor_SMD:C_0402_1005MetricC10, C12, C13, C14, C15, C16
6LOGOLOGOG***, G***, G***, G***, G***, G***
510kResistor_SMD:R_0402_1005MetricR5, R6, R25, R26, R27
4100k 1206Resistor_SMD:R_1206_3216MetricR16, R17, R18, R19
41M 1206Resistor_SMD:R_1206_3216MetricR13, R14, R22, R23
31MResistor_SMD:R_0402_1005MetricR20, R21, R24
31kResistor_SMD:R_0402_1005MetricR11, R12, R15
3BAT54SPackage_TO_SOT_SMD:SOT-23D7, D8, D9
2100kResistor_SMD:R_0402_1005MetricR8, R9
210nFCapacitor_SMD:C_0402_1005MetricC17, C18
21N4148WDiode_SMD:D_SOD-123D5, D6
21uFCapacitor_SMD:C_0402_1005MetricC8, C11
222uFCapacitor_SMD:C_1206_3216MetricC5, C6
222uFCapacitor_SMD:C_0805_2012MetricC4, C9
2AO3400APackage_TO_SOT_SMD:SOT-23Q1, Q2
2ES1JDiode_SMD:D_SMAD2, D3
1+3V3TestPoint:TestPoint_Pad_D1.0mmTP9
1+5V/VBUSTestPoint:TestPoint_Pad_D1.0mmTP1
11.5kResistor_SMD:R_0603_1608MetricR4
1100nF X7RCapacitor_SMD:C_0603_1608MetricC3
1100pFCapacitor_SMD:C_0402_1005MetricC19
110R 1W fusibleResistor_THT:R_Axial_DIN0309_L9.0mm_D3.2mm_P2.54mm_VerticalR1
110mR 1WResistor_SMD:R_1206_3216MetricR10
11kResistor_SMD:R_0603_1608MetricR7
11mHInductor_SMD:L_Taiyo-Yuden_NR-50xxL1
12.2kResistor_SMD:R_0402_1005MetricR3
12.2uF 400VCapacitor_SMD:CP_Elec_6.3x9.9C1
12A 250VAC 0443002.DREasyEDA:FUSE-SMD_L10.1-W3.1F1
13.3kResistor_SMD:R_0402_1005MetricR2
13.9uF 400VCapacitor_SMD:CP_Elec_8x10C2
1470uF 10VCapacitor_SMD:CP_Elec_8x10C7
1680uHEasyEDA:IND-TH_BD9.5-P5.20-D0.6L2
1AP2112K-3.3Package_TO_SOT_SMD:SOT-23-5U2
1BOOTTestPoint:TestPoint_Pad_D1.0mmTP5
1ENTestPoint:TestPoint_Pad_D1.0mmTP6
1ESP32-C6-MINI-1-N4RF_Module:ESP32-C6-MINI-1U3
1G5Q-14 DC5Relay_THT:Relay_SPDT_Omron-G5Q-1K2
1GNDTestPoint:TestPoint_Pad_D1.0mmTP2
1HF46F-G/5-HS1Relay_THT:Relay_SPST_Omron_G5NBK1
1HLW8110Package_SO:SOIC-8_3.9x4.9mm_P1.27mmU4
1IO0TestPoint:TestPoint_Pad_D1.0mmTP10
1IO1TestPoint:TestPoint_Pad_D1.0mmTP11
1IO14TestPoint:TestPoint_Pad_D1.0mmTP12
1IO22TestPoint:TestPoint_Pad_D1.0mmTP13
1LNK3206DPackage_SO:PowerIntegrations_SO-8CU1
1L_INConnector_Wire:SolderWire-0.75sqmm_1x01_D1.25mm_OD2.3mmJ1
1M7Diode_SMD:D_SMAD1
1M_DNConnector_Wire:SolderWire-0.75sqmm_1x01_D1.25mm_OD2.3mmJ6
1M_UPConnector_Wire:SolderWire-0.75sqmm_1x01_D1.25mm_OD2.3mmJ5
1N_INConnector_Wire:SolderWire-0.75sqmm_1x01_D1.25mm_OD2.3mmJ2
1RXD0TestPoint:TestPoint_Pad_D1.0mmTP8
1S07K275EasyEDA:RES-TH_L9.0-W4.6-P5.00-D0.6-S1.60RV1
1S_DNConnector_Wire:SolderWire-0.75sqmm_1x01_D1.25mm_OD2.3mmJ4
1S_UPConnector_Wire:SolderWire-0.75sqmm_1x01_D1.25mm_OD2.3mmJ3
1TXD0TestPoint:TestPoint_Pad_D1.0mmTP7
1USB_DMTestPoint:TestPoint_Pad_D1.0mmTP4
1USB_DPTestPoint:TestPoint_Pad_D1.0mmTP3
1redLED_SMD:LED_0603_1608MetricD4

Questions

How big is the Reckoner PCB?

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

What parts does the Reckoner use?

92 parts, built around the ESP32-C6-MINI-1-N4, HLW8110, AP2112K-3.3 and LNK3206D-TL. 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 Reckoner KiCad files?

From the blind-reckoning/Reckoner repository on GitHub, at the commit this page was made from: the board is PCB/reckoner.kicad_pcb and its schematic PCB/reckoner.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Reckoner design in my own project?

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).

Similar boards

  • 2 layers41.1 × 41.1 mmLeistungskreis, the printed circuit board in 3D

    Leistungskreis

    DevOpsOfChaos/smarthome-technikerprojekt

    Lokales modulares Smart-Home-System auf ESP32-C3 und Raspberry Pi im Rahmen einer Technikerarbeit.

    22 parts1
  • 2 layers143.5 × 65 mmEH SmartSocket 3X, the printed circuit board in 3D

    EH SmartSocket 3X

    pavan-firmware/EH-Master-Repo

    This directory contains the KiCad Schematic and PCB Design Project for the EH Smart Switch (3X / 4X Channel with BL0942 Metering).

    36 parts
  • 6 layers78 × 89.5 mmAtx-24pin rev3, the printed circuit board in 3D

    Atx-24pin rev3

    nathanfraske/CEC-Platform

    ONE board file, kept current by the wave (owner directive 2026-07-25: "the current best should be placed into a candidate folder per board and kept current with only one board ideally so we have a reference").

    129 partsApache-2.0
  • 2 layers110 × 85 mmAvtech agv carrier, the printed circuit board in 3D

    Avtech agv carrier

    eerdemgundogdu/avtech-agv-main

    Software and carrier PCB design for a line-following forklift AGV built by CU AVTECH for the Sanayide Robotik Uygulamalar 2026 competition.

    84 partsMIT
  • 2 layers134.9 × 48.5 mmCoolSWITCH, the printed circuit board in 3D

    CoolSWITCH

    bluetiger9/CoolSWITCH

    Wireless High Power Smart Switch

    45 parts8MIT
  • 2 layers68.6 × 53.3 mmUnoShield, the printed circuit board in 3D

    UnoShield

    MBI-Ignitions/MBI_Ignition_Systems

    Repository for uploading ignition system information

    56 parts7GPL-3.0
  • 2 layers100 × 85 mmDekatron, the printed circuit board in 3D

    Dekatron

    kuvychko/universal-nixie-display

    Six IN-14 Nixie tubes, an A101 dekatron and an ESP32 touchscreen in one desktop display: a clock, timer and toy, and a numeric display for a computer over USB.

    165 parts1
  • 2 layers85 × 90 mmFurnace 230V, the printed circuit board in 3D

    Furnace 230V

    brrastak/furnace

    Schematics of furnace for glass fusing

    82 parts