Skip to the content
2 layers42 × 58 mmNF01, the printed circuit board in 3D

Nodi — a custom PCB digital companion charm. KiCad hardware, RISC-V firmware, a shared C/WASM core, and an interactive 3D simulator.

Size
42 × 58 mm
Copper layers
2
Thickness
1.2 mm
Parts
44
Nets
48
Pads
171
Tracks, vias
499, 23
Pours
1
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
20 Sep 2026
Updated
20 Sep 2026

Overview

NF01 is an open-source printed circuit board by feboyfierlyan, from the feboyfierlyan/nodi repository on GitHub. It is a 2-layer board of 42 × 58 mm with 44 parts on 48 nets, routed with 499 tracks and 23 vias.

It is built around the CH32V003F4P6, MCP1700T-3002E/TT(MS) and MCP73831T-2ACI/OT-HXY, with the SKRPACE010 among its other parts. Its parts include 15 capacitors, 13 resistors, 4 ICs, 4 connectors and 3 diodes. It belongs with the lEDs and displays boards and the RISC-V boards of this library.

Main components

4

README

hardware/rev-b/README.md

NF-01 Rev.B — schematic & routed PCB

Status: engineering draft untuk satu charm tas pribadi. Belum rilis fabrikasi dan belum diuji fisik. Dibuat 20 September 2026. Semua ukuran dalam mm.

Perubahan dari Rev.A

OLED diganti dari 0,96 inci ke part nyata ER-OLED013A1-1W (1,3 inci, SSD1306, FPC konektor 30 pin 0,5 mm). Panel 34,50 × 23,00 × 1,45 mm, area aktif 29,42 × 14,70 mm, 128 × 64 piksel. Area aktif naik 83,1% dibanding 21,744 × 10,864 mm pada preview Rev.A; lebar/tinggi gambar naik sekitar 35%, bukan resolusinya. Harga panel final belum diverifikasi ulang untuk publikasi repo. Sumber: https://www.buydisplay.com/white-1-3-inch-oled-i2c-arduino-ssd1306-display-module-connector-fpc

Outline PCB tetap 42 × 58 mm. SW3 bergeser 1,3 mm ke kanan untuk memberi ruang kaca. Glass berada di X82,75–117,25/Y78,50–101,50 dengan bagian bawah di Z3,50 mm, sehingga ada jarak 0,30 mm di atas connector body nominal. Spacer masih studi assembly. Envelope body switch yang berasal dari footprint memberi jarak nominal 0,55 mm ke kaca; toleransi dan akses jari perlu mockup fisik.

Net VBAT panel dipisah dari rail logika 3,0 V ke switched cell; routing dibangun ulang dari netlist. Referensi seri EastRising menyediakan opsi internal charge pump. Data produk dan drawing seri yang terindeks dipakai; file PDF revisi terbaru tidak berhasil diunduh karena server vendor menolak permintaan. Konfirmasi dokumen order code terbaru, kontak FPC dan suplai charge pump masih diperlukan sebelum fabrikasi. Belum ada pengukuran konsumsi OLED atau klaim battery life.

Apa yang nyata pada preview

Preview memakai geometri langsung dari NF01.kicad_pcb: 43 footprint rangkaian, 166 pad, 34 net fungsional, 499 segmen track dan 23 via. Ada pula footprint mounting H1 serta 14 net pin NC yang tidak dirouting. Semua koneksi berasal dari NF01.net, hasil ekspor schematic KiCad, dan diverifikasi terhadap definisi pin circuit.py sebelum penempatan. Jalur dirouting oleh FreeRouting 1.9.0 lalu diperiksa lagi di KiCad 10.0.6. Tidak ada jalur dekorasi yang menyamar sebagai koneksi listrik.

Hasil pemeriksaan tersimpan di validation/: ERC 0 pelanggaran; DRC 0 pelanggaran; 0 airwire; 0 perbedaan schematic/PCB. DRC memakai clearance 0,15 mm, track minimum 0,15 mm (track aktual 0,18 mm), via 0,60/0,30 mm dan copper-to-edge 0,30 mm. Hole-to-copper 0,15 mm mengakomodasi land pattern USB4105 dari GCT. Tidak ada exclusion DRC. Kemampuan produsen PCB belum dikonfirmasi. Ground saat ini dirouting sebagai track, tanpa plane.

Body komponen 3D disederhanakan berdasarkan paket; tidak setara model STEP pabrikan. Ruang baterai, spacer OLED, ring, dan lipatan FPC masih studi mekanik. Warna emas/biru adalah mode inspeksi layer; track fisik tertutup soldermask. Mode normal memperlihatkan track secara samar. Hati E1 memang merupakan copper pad terbuka, bukan dekorasi.

Rangkaian yang dipilih

  • PCB 2 layer, FR-4 1,2 mm, outline 42 × 58 mm; black soldermask / ENIG / silkscreen putih sebagai pilihan visual.
  • U1 CH32V003F4P6 TSSOP20, oscillator internal, rail 3,0 V. Tidak ada BLE/NFC/accelerometer pada baseline murah ini.
  • J1 USB4105-GF-A; CC1 dan CC2 masing-masing 5,1 kΩ ke GND; data/SBU tidak terhubung. USB untuk charging saja.
  • U2 MCP73831T-2ACI/OT, regulasi sel 4,2 V. RPROG 20 kΩ → nominal 50 mA menurut persamaan datasheet, bukan hasil pengukuran.
  • SW3 PCM12SMTR memilih baterai → charger (CHARGE) atau baterai → regulator (RUN). Beban mati saat charging. Tidak ada power-path/load sharing.
  • U3 MCP1700T-3002E/TT menyediakan 3,0 V; dropout saat baterai rendah wajib diuji. J3 harus memakai sel 1S berproteksi dengan arus charging yang mengizinkan 50 mA. Sel kandidat Adafruit 1570 / 100 mAh dimodelkan; harness dan pembelian final belum diputuskan.
  • OLED mentah ER-OLED013A1-1W / SSD1306, I²C 0x3C; konektor FH12-30S-0.5SH. D1/D2 panel diikat ke SDA, BS1 high / BS0 dan BS2 low. VDD tetap 3,0 V; pin VBAT (J2.6) dan decoupling C13 memakai VBAT_RUN dari sel. Firmware direncanakan mematikan display pada <3,6 V saat berbeban; ambang ini konservatif dan perlu pengujian serta konfirmasi revisi panel. Charge pump memakai C10/C11 1 µF, IREF 390 kΩ, VCOMH 2,2 µF dan VCC 4,7 µF (16 V). Firmware harus mengaktifkan charge pump serta reset panel.
  • SW1/SW2 SKRPACE010 menggunakan pull-up internal MCU. LED D1/D2 dibatasi 1 kΩ. LED D3 menunjukkan charge status.
  • U4 AT42QT1010, Cs 10 nF C0G, Rs 1 kΩ, SYNC low. Ukuran E1 6 mm, B.Cu keepout di bawah elektroda. Sensitivitas dan ESD belum diuji.
  • R10/R11 100 kΩ membagi tegangan baterai untuk ADC PD2/A3. Pada 4,2 V: ADC 2,1 V dan divider sekitar 21 µA. Ini kalkulasi nominal, belum pengukuran.
  • J4 pad 1 GND, 2 VTREF 3,0 V, 3 SWIO, 4 NRST. Jangan memasukkan 5 V dari debugger ke rail 3,0 V.

Contoh koneksi yang bisa disorot: I2C_SDA = U1.11 ↔ J2.19 ↔ J2.20 ↔ R13.2. TOUCH_ELECTRODE = R9.2 ↔ E1.1. Tombol terhubung ke GPIO dan ground dengan net yang sama seperti schematic.

Buka dan edit

Buka NF01.kicad_pro pada KiCad 10. Schematic utama NF01.kicad_sch berisi empat sheet: power, core, OLED, UI. Library simbol dan footprint lokal sudah disertakan sehingga tidak bergantung pada konfigurasi library mesin pembuat. BOM.csv adalah daftar desain, bukan daftar belanja final; kapasitor yang ditulis 4,7 µF tetap membutuhkan pemilihan MPN dan pengecekan derating.

File NF01.kicad_pcb adalah hasil routing, jangan menjalankan generator di atasnya tanpa backup. generate_pcb.py membuat ulang board unrouted. Alur regenerasi: jalankan generate_schematic.py; ekspor XML netlist dengan kicad-cli sch export netlist --format kicadxml; jalankan generator PCB dengan Python pcbnew KiCad; ekspor DSN; route dengan FreeRouting; impor SES; jalankan ERC/DRC; lalu export_viewer.py. Dependensi KiCad dan FreeRouting tidak dibundel di ZIP.

import_routes.py memetakan path SES persis ke track/via KiCad dan menolak pergeseran komponen. Ini dipakai karena importer SES bawaan menolak footprint board-only tanpa nama. export_viewer.py mengambil data dari board yang sudah dirouting, bukan dari sketsa penempatan.

Sebelum memesan PCB

  1. Cocokkan order code panel, pin 1, sisi kontak dan orientasi FPC dengan konektor yang benar; buat mockup kertas 1:1. Tail OLED/connector belum dibuktikan bisa dirakit bersama.
  2. Review pinout/land pattern independen, terutama konektor USB, slide switch dan FPC. Periksa artwork dengan produsen pilihan; jangan menganggap DRC menggantikan review datasheet.
  3. Pilih sel berproteksi, cek charge current/temperature, isolasi, strain relief, pelepasan panas, serta ruang mengembang. Charger ini tidak memakai NTC.
  4. Periksa decoupling dan jalur return/charge-pump; routing awal masih dapat dioptimalkan. Tidak ada analisis EMC/ESD atau simulasi analog.
  5. Firmware 0.2 sudah dapat dibangun dan diuji pada host. Uji I²C, framebuffer, GPIO, reset, ADC, sleep dan journal pada chip/jig sebelum pemakaian.
  6. Setelah assembly, lakukan power-up dengan current limit, ukur rail 3,0 V dan charger 50 mA, cek OLED/touch/tombol, ukur arus idle/aktif, lalu evaluasi ketahanan mekanik charm tas.

Belum ada hasil eksperimen fisik, runtime terverifikasi, firmware ter-flash, Gerber rilis, atau pesanan produksi. Firmware source dan tes host ada di ../../firmware. Hasil ERC/DRC hanya membuktikan kepatuhan terhadap aturan dan koneksi yang dimodelkan.

Sumber teknis

Footprint library KiCad community memakai CC-BY-SA 4.0 dengan exception untuk desain elektronik; lihat LIBRARY-LICENSE.md dan dokumen lisensi yang disertakan. Simbol proyek serta footprint USB4105, SKRPACE010, battery pads, pogo dan hati dibuat untuk proyek ini; geometri vendor tetap perlu diverifikasi sebelum fabrikasi.

Parts

44
QtyValueFootprintReferences
51u / 10VNF01:C_0603_1608MetricC2, C5, C6, C12, C13
3100n / 10VNF01:C_0603_1608MetricC1, C21, C22
31kNF01:R_0603_1608MetricR5, R6, R9
2100k 1%NF01:R_0603_1608MetricR10, R11
21u / 16VNF01:C_0603_1608MetricC10, C11
24.7kNF01:R_0603_1608MetricR12, R13
24.7u / 10VNF01:C_0603_1608MetricC3, C4
25.1k 1%NF01:R_0603_1608MetricR1, R2
2AMBERNF01:LED_0603_1608MetricD1, D2
2SKRPACE010NF01:SKRPACE010SW1, SW2
1H1
110kNF01:R_0603_1608MetricR7
110n C0G / tuneNF01:C_0603_1608MetricC20
12.2kNF01:R_0603_1608MetricR4
12.2u / 16VNF01:C_0805_2012MetricC14
120k 1% / 50mANF01:R_0603_1608MetricR3
1390k 1%NF01:R_0603_1608MetricR8
14.7u / 16VNF01:C_0805_2012MetricC15
1AMBER / CHARGENF01:LED_0603_1608MetricD3
1AT42QT1010-TSHRNF01:SOT-23-6U4
1CH32V003F4P6NF01:TSSOP-20_4.4x6.5mm_P0.65mmU1
1COPPER HEARTNF01:HEARTE1
1FH12-30S-0.5SH / OLED FPCNF01:Hirose_FH12-30S-0.5SH_1x30-1MP_P0.50mm_HorizontalJ2
1GCT USB4105-GF-ANF01:USB4105J1
1MCP1700T-3002E/TTNF01:SOT-23U3
1MCP73831T-2ACI/OTNF01:SOT-23-5U2
1PCM12SMTR / RUN-CHARGENF01:SW_SPDT_PCM12SW3
1PROTECTED 1S LiPo / 4.2VNF01:BAT_PADSJ3
1SDI / TARGET 3.0VNF01:POGO_4J4

Similar boards

  • 4 layers59.7 × 54 mmHeartThrob, the printed circuit board in 3D

    HeartThrob

    kevinsu926/HeartThrob

    A heart-shaped ECG board that turns your heartbeat into sound. Touch the two gold electrodes and it plays your ECG as a high-pitched tone, which a phone or laptop can decode using its microphone.

    51 parts1MIT
  • 4 layers24 × 96 mmE reader, the printed circuit board in 3D

    E reader

    Navkaran-handa/e-reader

    personal project creating a pocketing tactile e-reader

    68 parts
  • 2 layers68 × 31 mmCanalyze, the printed circuit board in 3D

    Canalyze

    kkuchera/canalyze-hw

    Hardware for a CAN to USB bridge.

    40 parts60MIT
  • 2 layers303.2 × 94.5 mmVoyager65, the printed circuit board in 3D

    Voyager65

    foggyflute/Voyager65

    Fully versatile 65% keyboard PCB. Simplified variants available.

    224 parts7GPL-3.0
  • 4 layers65 × 100 mmPGR, the printed circuit board in 3D

    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
  • 2 layers45 × 60 mmExtensionBoard, the printed circuit board in 3D

    ExtensionBoard

    ovgu-FINken/DE-HW-Hardware

    Hardware for the DE-Project Hardware Intergration

    53 parts1
  • 4 layers60 × 110 mmNucula v2, the printed circuit board in 3D

    Nucula v2

    zeugmaster/nucula-board

    Nucula Board: an ESP32-C3 hardware prototype with USB-C, PN7160 NFC, OLED and detachable keyboard. KiCad sources and manufacturing files.

    138 parts1CERN-OHL-S-2.0
  • 2 layers32.1 × 37.5 mmSafewise, the printed circuit board in 3D

    Safewise

    coinwise-io/safewise-hardware

    SafeWISE hardware design

    44 partsAGPL-3.0

Questions

How big is the NF01 PCB?

It measures 42 × 58 mm and has 2 copper layers, 1.2 mm thick.

What parts does the NF01 use?

44 parts, built around the CH32V003F4P6, MCP1700T-3002E/TT(MS), MCP73831T-2ACI/OT-HXY and SKRPACE010. 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 NF01 KiCad files?

From the feboyfierlyan/nodi repository on GitHub, at the commit this page was made from: the board is hardware/rev-b/NF01.kicad_pcb and its schematic hardware/rev-b/NF01.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the NF01 design in my own project?

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