

Nami
Nami: noncontact AC current sensing hardware with Thread connectivity
- Size
- 24 × 32 mm
- Copper layers
- 4
- Thickness
- 1 mm
- Parts
- 63
- Nets
- 76
- Pads
- 212
- Tracks, vias
- 346, 92
- Pours
- 4
- Routed
- Yes
- KiCad
- KiCad 10.0 (file 20260206)
- Created
- 26 Sep 2026
- Updated
- 26 Sep 2026
Overview
Nami is an open-source printed circuit board by jemdiggity, from the jemdiggity/nami repository on GitHub. It is a 4-layer board of 24 × 32 mm with 63 parts on 76 nets, routed with 346 tracks and 92 vias.
It is built around the MDBT50Q-1MV2, TPS63900DSKR and W25Q128JVSIQ, with the XAL4020-222MEC, ABS07-32.768KHZ-7-T and BAV199,215-JSM among its other parts. Its parts include 23 resistors, 17 capacitors, 4 ICs, 4 connectors and 2 diodes. It belongs with the nRF52 and nRF5x boards of this library.
Main components
7MDBT50Q-1MV2
SMD-61PSMD-61P Bluetooth Modules ROHSRAYTACBluetooth ModulesTPS63900DSKR
WSON-10-EP(2.5x2.5)-40℃~+125℃@(TJ) 1 1.8V~5.5V 1.8V~5V 400mA 75nA Adjustable Buck-Boost Buck-Boost Built-in Overcurrent Protection、Adjustable current limiting、Dynamic voltage scaling Yes WSON-10-EP(2.5x2.5) DC-DC Converters ROHSTexas InstrumentsDC-DC ConvertersW25Q128JVSIQ
SOIC-8-208mil-40℃~+85℃ 100,000 cycles 120ms@(32KB) 128Mbit 133MHz 1uA 2.7V~3.6V 20 Years 3ms Power-on reset、Hardware write protection、Software write protection、Write enable latch、Absolute write protection SPI SOIC-8-208mil NOR FLASH ROHSWinbondNOR FLASHXAL4020-222MEC
SMD,4x4mm2.2uH 35.2mΩ 5.5A 5.6A ±20% SMD,4x4mm Power Inductors ROHSCoilcraftPower InductorsABS07-32.768KHZ-7-T
SMD3215-2P-40℃~+85℃ 32.768kHz 70kΩ 7pF ±20ppm SMD3215-2P Crystals ROHSAbraconCrystalsBAV199,215-JSM
SOT-23-65℃~+150℃ 1 Pair Series Connection 140mA 1V@10mA 250mW 3us 4A 5nA@75V 85V SOT-23 Switching Diodes ROHSJSMSEMISwitching DiodesB3U-1000P
SMD,3x2.5mm-25℃~+70℃ 1.53N 1.6mm 12V 2.5mm 3mm 50mA Round Button SMD(SMT) Tab SPST Surface Mount,Vertical SMD,3x2.5mm Tactile Switches ROHSOmronTactile Switches
README
hardware/nami-rev-a/README.mdNami Rev A0 — bench hardware
An editable KiCad 10 design for evaluating the SCT006 sensing chain and Thread/BLE operation. This is an unreleased bench prototype, not an outlet-installation or fabrication release. The board is 95 × 75 mm, deliberately larger than the eventual device. No physical hardware, firmware, battery-life test or enclosure validation has been completed.
Open nami.kicad_pro in KiCad. The five-sheet schematic is nami.kicad_sch; the routed two-layer PCB is nami.kicad_pcb. The parts are native editable KiCad symbols and footprints, not an image imported into the editor.
Files
| File | Purpose |
|---|---|
power.kicad_sch | Battery/bench input, TPS63900 3.0 V regulator and removable current links |
analog.kicad_sch | Bias buffer, gain stage, protection, filters and test points |
digital.kicad_sch | Thread/BLE module, clock, flash, SWD and controls |
harness.kicad_sch | Permanently burdened off-board CT assembly |
exports/nami-schematic.pdf | Five-sheet review copy |
exports/nami-board.png | Rendered board overview |
exports/bom.csv | Board BOM; generic passives specify values/packages, not procurement-approved MPNs |
exports/nami-netlist.xml | Netlist exported by KiCad, checked independently |
verification/erc.rpt | KiCad electrical-rule results |
verification/drc.rpt | PCB rules, unrouted-net and schematic-parity results |
verification/connectivity-and-calculations.json | Critical pin checks and approximate signal calculations |
nami.ses | Local autorouter session, retained for reproducibility |
The clamp, two harness resistors, wiring, battery/holder, programmer and hub are external assemblies; see the table below. Test-point BOM rows are bare PCB pads, not purchased components.
Architecture and selected evaluation parts
- SCT006 20 A : 25 mA split-core CT, fitted with a permanent 5.00 Ω burden at the sensing head. The main board must not carry a second parallel burden.
- TPS63900DSKR regulator, 3.0 V output with SEL grounded and CFG3 = 13.3 kΩ. CFG2 = 1.87 kΩ selects 25 mA input current limit. CFG1 = 0 Ω selects an unused 1.8 V alternate output; SEL is not software-controlled. Verify startup with the intended battery and effective capacitance.
- OPA2333AID dual op amp: midpoint buffer and gain 31.9 stage. This is a characterization choice; its approximately 34 µA typical combined quiescent draw already uses much of the one-year coin-cell budget.
- Raytac MDBT50Q-1MV2 nRF52840 module. It supports the intended Thread/BLE firmware, but is not preprogrammed for Nami. This documented module is used instead of a bare nRF54L15 on Rev A; a later power-optimized revision may change it.
- W25Q128JVSIQ, 128 Mbit / 16 MiB SPI flash. The 3.0 V regulated rail satisfies its 2.7 V minimum; firmware must stop writes before the rail leaves specification. No one-year flash energy budget is claimed.
- External 32.768 kHz, CL=7 pF crystal. The initial 9 pF load capacitors assume about 2.5 pF stray capacitance; verify clock startup and frequency on the real layout.
The module normal-voltage reference configuration ties VDD, VDDH and DCCH together. USB is unused: VBUS is grounded and D+/D− are no-connects. The KiCad symbol types DCCH as a power output; no redundant power flag is added on that rail. REG0 must remain disabled and REG1 DC/DC should be enabled in firmware. The module already contains its high-frequency crystal and REG1 inductor.
Signal ranges and limitations
With an ideal 800:1 CT and 5 Ω burden:
Vsecondary = 0.00625 × Iprimary and Vhigh − Vmid = 31.9 × (Vsense − Vmid).
| Condition | Calculated signal, before losses/filtering |
|---|---|
| 0.1 A RMS at burden | 0.625 mV RMS |
| 0.1 A RMS at high-gain output | 19.94 mV RMS |
| 20 A RMS at burden | 125 mV RMS |
| 20 A, crest factor 3 | 375 mV peak at burden |
| 0.8 A, crest factor 3, high gain | 478.5 mV peak |
Both ADC channels are differential against VMID with a nominal ±0.6 V range. Use the high path only for complete windows that remain within a characterized range; initially aim below 0.8 A at crest factor 3. At higher currents the high path deliberately saturates. Use the low path and allow measured amplifier recovery time before returning to high gain. Software must inspect both raw clipping and analog overload behavior.
Start at 32,768 samples/s per range, 12-bit differential, 10 µs acquisition, hardware triggering and DMA. This rate is for characterization, not an optimized production power setting. The two ADC conversions occur sequentially; calculate each path's RMS independently rather than splicing mismatched samples.
R8/C5 and the two output RC networks provide input filtering. R8 also loads the low-path RC, so the low filter is not simply R14 × C8. The verification script calculates the coupled small-signal response. It is only an approximate RC/single-pole-amplifier calculation, not SPICE validation. CT harmonic response, alias rejection, noise, offset, nonlinearity, gain error and saturation remain bench measurements. There is no demonstrated ±10% accuracy or one-year battery life yet.
Connectors and firmware assignment
| Connection | Pins / mapping |
|---|---|
| J1 CT | 1 = CT positive/signal; 2 = VMID/CT return. Return is not ground. |
| J2 power | 1 = battery positive; 2 = GND. One source only, 2.0–3.3 V, correct polarity. No charger or reverse-polarity protection is fitted. |
| J3 SWD | Standard 10-pin 1.27 mm: 1 VTref, 2 SWDIO, 3/5/9 ground, 4 SWCLK, 10 reset; 6/7/8 unused. Debugger must sense VTref, not supply it. |
| J4 analog debug | 1 low ADC, 2 high ADC, 3 VMID, 4 ground |
| P0.02 / AIN0 | ADC_LOW |
| P0.03 / AIN1 | ADC_HIGH |
| P0.04 / AIN2 | VMID, negative input for both differential channels |
| P0.05 / AIN3 | Battery monitor: VBAT/3, separate single-ended ADC configuration |
| P0.00 / P0.01 | External low-frequency crystal |
| P0.13 / P0.14 | Flash clock / chip select |
| P0.15 / P0.16 | Flash MOSI / MISO |
| P0.17 | Pair button, active low |
| P0.18 | Reset: configure the nRF52840 UICR reset function |
| P0.19 | LED, active high; normally off |
R1 permits whole-system current measurement. R5, R6 and R7 isolate module, analog and flash rails for measurement. Removing a link is a diagnostic action: other signal pins can back-power an unpowered subsystem. Do not infer its leakage by removing its supply while other pins are driven. SWD/debugger connection also changes the power measurement.
The battery divider is 2 MΩ / 1 MΩ with a 100 nF reservoir. Its high source resistance requires deliberate ADC acquisition timing and verification. Battery checks and offset calibration must not silently create missing current samples. The initial divider alone draws about 1 µA at 3 V.
External assembly BOM
| Item | Quantity | Specification |
|---|---|---|
| CT | 1 | SCT006, explicitly 20 A : 25 mA; not another SCT006 variant |
| R101, R102 | 2 | 10 Ω, 0.1%, suitable low-tempco resistor; parallel to make 5 Ω |
| CT harness | 1 | Short twisted pair, insulated solder joints and strain relief; burden stays with clamp |
| Battery and holder | 1 | CR2450 candidate; external holder for bench characterization |
| Power lead | 1 | Polarized/clearly marked lead to J2 |
| Debug probe | 1 | 3 V compatible SWD, external target-power sense |
| Hub | 1 | Powered host plus Thread radio/border router and eventual Nami service |
J101 on the harness drawing represents permanent solder joints. Solder both burden resistors directly at the sensing-head secondary connection, upstream of any detachable lead. Verify the ordered CT's internal secondary protection rather than assuming it from a product-family photo. Bench-check burden resistance before clamping a current-carrying test wire.
Bring-up sequence
- Inspect assembly orientation and power-to-ground resistance. Verify the two parallel burden resistors measure approximately 5 Ω before attaching the CT winding. After attachment the winding's DC resistance is in parallel, so an ordinary ohmmeter across the completed assembly will not necessarily read 5 Ω. Check continuity and the permanent solder connections separately.
- Start with a current-limited 3.0 V bench source at J2. No coin cell and no primary current initially. Check VREG approximately 3.0 V and VMID approximately 1.5 V; check regulator startup, ripple and heating.
- Connect SWD with external target-power sensing. Read the MCU ID, program minimal diagnostics, verify reset and low-frequency crystal. Then read flash JEDEC ID and exercise erase/program/read.
- On an isolated low-voltage AC test loop, compare the burden and amplifier waveforms with a calibrated reference. Sweep current, especially 0.1 A, and verify the high path's overload recovery. An oscilloscope ground lead connects to board GND, not VMID.
- Exercise complete one-second acquisition during flash activity and radio transmissions. Verify alias/noise sensitivity, clipping flags and absence of unnoticed gaps.
- Measure subsystem and total energy with the debugger disconnected. Test radio/flash pulses on the intended battery at low voltage and temperature, including 25 mA regulator input limiting. Do not equate regulator input-current limit with acceptable coin-cell pulse behavior.
- Validate Thread connection, commissioning, lost-hub backoff and backfill once firmware/hub software exists. Repeat RF testing in the eventual enclosure; this open bench board cannot establish in-box range.
Review status and remaining work
- Native schematics, board, BOM, exported netlist and render are provided.
- KiCad ERC and PCB DRC including schematic parity are recorded in
verification/. - Independent checks compare the exported pin connectivity against the intended CT, amplifier, supply, module, flash and debug connections.
- Routing used a local Freerouting 2.0.1 session, then explicit module ground connections and copper pours. No cloud autorouting service was used. Autorouting and a clean DRC do not validate switching-loop EMI, RF performance or analog noise.
- Final analog/power layout review, actual passive sourcing/ratings, footprint-to-ordered-part audit, firmware, calibration, cell endurance, enclosure and installation review remain required before a fabrication/field release. No Gerbers are issued as a manufacturing release.
Sources and reproducibility
- SCT006 specifications: ratio and 5 Ω burden, dimensions and frequency envelope.
- TPS63900: resistor configuration, layout and supply requirements.
- OPA2333: amplifier operating envelope.
- Raytac module specification: normal-voltage and USB-disabled wiring; also reviewed manufacturer version K distributed by SparkFun.
- Winbond W25Q128JV: memory family documentation.
The committed CAD is authoritative for this revision. The scripts under ../tools/ reproduce it; rerunning generate.py overwrites the schematic and project settings, and place_board.py overwrites the PCB with an unrouted board. Do not rerun them over manual edits without committing/backing up first.
generate.py requires Python plus sexpdata; the board scripts require KiCad's bundled Python with pcbnew and wx. Set KICAD_SYMBOL_DIR and KICAD_FOOTPRINT_DIR on other systems. Sequence: generate schematic, export XML netlist with KiCad CLI, place board, route DSN locally (or reuse the matching committed nami.ses), finish board, synchronize metadata, run ERC/DRC and verify.py. Changing placement invalidates the old routing session. finish_board.py expects a fresh unrouted board and imports the session itself.
Parts
63| Qty | Value | Footprint | References |
|---|---|---|---|
| 5 | 100k | Resistor_SMD:R_0603_1608Metric | R16, R17, R18, R19, R20 |
| 4 | 100n X7R | Capacitor_SMD:C_0603_1608Metric | C10, C12, C15, C17 |
| 4 | Fiducial_0.5mm_Mask1mm | Fiducial_0.5mm_Mask1mm | FID1, FID2, FID3, FID4 |
| 3 | 0R / CURRENT LINK | Resistor_SMD:R_0603_1608Metric | R5, R6, R7 |
| 3 | 10u 10V X7R | Capacitor_SMD:C_0805_2012Metric | C2, C11, C16 |
| 3 | 1k | Resistor_SMD:R_0603_1608Metric | R8, R14, R15 |
| 2 | 1M 0.1% | Resistor_SMD:R_0603_1608Metric | R9, R10 |
| 2 | 1u X7R | Capacitor_SMD:C_0603_1608Metric | C6, C7 |
| 2 | 9p C0G | Capacitor_SMD:C_0603_1608Metric | C13, C14 |
| 1 | 0R | Resistor_SMD:R_0603_1608Metric | R2 |
| 1 | 0R / AMMETER | Resistor_SMD:R_0603_1608Metric | R1 |
| 1 | 1.87k 1% | Resistor_SMD:R_0603_1608Metric | R3 |
| 1 | 100R | Resistor_SMD:R_0603_1608Metric | R11 |
| 1 | 100n 10V X7R | Capacitor_SMD:C_0603_1608Metric | C4 |
| 1 | 100u 6.3V X5R | Capacitor_SMD:C_1210_3225Metric | C1 |
| 1 | 10k 0.1% | Resistor_SMD:R_0603_1608Metric | R12 |
| 1 | 13.3k 1% | Resistor_SMD:R_0603_1608Metric | R4 |
| 1 | 1M 1% | Resistor_SMD:R_0603_1608Metric | R23 |
| 1 | 1n C0G | Capacitor_SMD:C_0603_1608Metric | C5 |
| 1 | 2.2uH >=2A | Inductor_SMD:L_Coilcraft_XAL4020-XXX | L1 |
| 1 | 22n C0G | Capacitor_SMD:C_0805_2012Metric | C8 |
| 1 | 2M 1% | Resistor_SMD:R_0603_1608Metric | R22 |
| 1 | 309k 0.1% | Resistor_SMD:R_0603_1608Metric | R13 |
| 1 | 32.768kHz CL=7pF | Crystal:Crystal_SMD_3215-2Pin_3.2x1.5mm | Y1 |
| 1 | 4.7k | Resistor_SMD:R_0603_1608Metric | R21 |
| 1 | 47n C0G | Capacitor_SMD:C_0805_2012Metric | C9 |
| 1 | 47u 6.3V X5R | Capacitor_SMD:C_1210_3225Metric | C3 |
| 1 | ADC_HIGH | TestPoint:TestPoint_Pad_D1.0mm | TP5 |
| 1 | ANALOG POGO | Nami:Pogo_1x04_P1.27 | J4 |
| 1 | BATTERY / BENCH 2.0-3.3V | Nami:WirePads_2_P2.5 | J2 |
| 1 | BAV199 | Package_TO_SOT_SMD:SOT-23 | D1 |
| 1 | CT HARNESS | Nami:WirePads_2_P2.5 | J1 |
| 1 | GND | TestPoint:TestPoint_Pad_D1.0mm | TP2 |
| 1 | GREEN | LED_SMD:LED_0603_1608Metric | D2 |
| 1 | MDBT50Q-1MV2 | RF_Module:Raytac_MDBT50Q | U3 |
| 1 | OPA2333AIDGKR | Package_SO:VSSOP-8_3x3mm_P0.65mm | U2 |
| 1 | PAIR | Button_Switch_SMD:SW_SPST_B3U-1000P | SW1 |
| 1 | RESET | Button_Switch_SMD:SW_SPST_B3U-1000P | SW2 |
| 1 | SENSE | TestPoint:TestPoint_Pad_D1.0mm | TP3 |
| 1 | SWD POGO 1.27mm | Nami:Pogo_2x05_P1.27 | J3 |
| 1 | TPS63900DSKR | Package_SON:WSON-10-1EP_2.5x2.5mm_P0.5mm_EP1.2x2mm | U1 |
| 1 | VMID | TestPoint:TestPoint_Pad_D1.0mm | TP4 |
| 1 | VREG | TestPoint:TestPoint_Pad_D1.0mm | TP1 |
| 1 | W25Q128JVSIQ | Package_SO:SOIC-8_5.3x5.3mm_P1.27mm | U4 |
More from jemdiggity/nami
1- 2 layers95 × 75 mm

Similar boards
- 4 layers228 × 115.4 mm

- 4 layers60 × 36 mm

Camera Project
Raphi25/Camera-Project
This project investigates the development of a low-cost wearable camera system intended to support caregivers by capturing images throughout the wearer's daily life.
132 parts - 4 layers75 × 55 mm

Eos epu up5k
embeddedos-org/eCAD-Hardware-Products
Hardware designs + EE docs + Board datasheets of Multiple products
145 parts8MIT - 4 layers96 × 70 mm

Tradewind
binaryBeachLLC/tradewind
Tradewind TW-1: solar LoRaWAN field sensor. KiCad 9 board, CadQuery enclosure, RUI3 firmware, simulations, test data, report and datasheet.
85 parts - 2 layers65.2 × 144.9 mm

LECV2.0 Main Board
MSTRocketDesignTeam/Liquid-Engine-Controller
Evolution of the RDT's Custom Liquid Engine Control Unit!
64 parts2AGPL-3.0 - 2 layers23 × 83 mm

- 4 layers65 × 100 mm

PGR
Projeto-Guarda-Rios/PCB
O repositório para a PCB do Projeto Guarda Rios! Inclui todos os ficheiros relacionados com a PCB!
188 parts2MIT - 4 layers60 × 75 mm

Mixed Signal Demo PCB
rcardenes/FEDEVEL-Mixed-Signal-PCB
KiCAD files for the Mixed-Signal Hardware Design course at Fedevel, by Phil Salmony
114 parts2
Questions
How big is the Nami PCB?
It measures 24 × 32 mm and has 4 copper layers, 1 mm thick.
What parts does the Nami use?
63 parts, built around the MDBT50Q-1MV2, TPS63900DSKR, W25Q128JVSIQ and XAL4020-222MEC. 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 Nami KiCad files?
From the jemdiggity/nami repository on GitHub, at the commit this page was made from: the board is hardware/nami-compact/nami.kicad_pcb and its schematic hardware/nami-compact/analog.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Nami design in my own project?
Its repository states no licence, so its author keeps all rights: ask jemdiggity before reusing the design.