summaryrefslogtreecommitdiffstats
path: root/_site/log/fpm-door-lock-rf
diff options
context:
space:
mode:
authorSadeep Madurange <sadeep@asciimx.com>2026-01-08 22:28:37 +0800
committerSadeep Madurange <sadeep@asciimx.com>2026-01-08 22:28:37 +0800
commite836c4b9e78cc3892cdebf8126cb650f1b91ed37 (patch)
tree4e52155aef0105cc9b888a42b3e760455a2bcb36 /_site/log/fpm-door-lock-rf
parent57ff09d2eefefa2462a2af0175e3e8164c7bc828 (diff)
downloadwww-e836c4b9e78cc3892cdebf8126cb650f1b91ed37.tar.gz
Tighten prose.
Diffstat (limited to '_site/log/fpm-door-lock-rf')
-rw-r--r--_site/log/fpm-door-lock-rf/index.html44
1 files changed, 23 insertions, 21 deletions
diff --git a/_site/log/fpm-door-lock-rf/index.html b/_site/log/fpm-door-lock-rf/index.html
index d6c6b66..55675ff 100644
--- a/_site/log/fpm-door-lock-rf/index.html
+++ b/_site/log/fpm-door-lock-rf/index.html
@@ -46,21 +46,25 @@
lines of the transceivers to UART RXD/TXD of an ATmega328P.
Unreliable–constant packet loss.</p>
-<p>2025-01: Switched to RFM69 modules. A complete ball-ache. Followed the
-datasheet to the letter, audited code more than 10 times, cross-checked with
-RadioHead and RFM69 OSS drivers. No luck. ATmega328P runs at 5V, RFM69 3.3V. I
-suspect the problem is with the logic-level converter (LLC). Not enough swing.</p>
+<p>2025-01: Switched to RFM69 modules. Complete ball-ache. Followed datasheet to
+the letter, audited code many times, cross-checked with RadioHead and RFM69
+open-source drivers. No luck.</p>
-<p>2025-04: Ditched RFM69s. Switched to NRF24L01+ modules–5V tolerant, no LLC
-required. Spent six weekends writing driver from scratch–clean-room, using
-datasheet. Works perfectly.</p>
+<p>Datasheet riddled with ambiguity.</p>
-<p>2025-05: Wrote FPM sensor drivers for R503 and FPM10A. UART RX sequence was
-tricky–took multiple attempts to get handshake working. R503 has built-in LEDs
-and better form factor–will use it for the lock.</p>
+<p>ATmega328P runs at 5V; RFM69 3.3V. Suspect logic-level converter (LLC)
+issues. High resistance. Not enough swing.</p>
-<p>2025-06: First PCB design. Two boards: fingerprint sensor (front), servo
-controller (back). Encrypted RF link between them.</p>
+<p>2025-04: Ditched RFM69s. Switched to NRF24L01+ modules– data pins 5V tolerant,
+no LLC required. Spent six weekends writing driver from scratch–clean-room.
+Works like a charm.</p>
+
+<p>2025-05: Wrote FPM drivers for R503 and FPM10A. UART RX sequence was
+tricky–adopted Adafruit C++ FOSS implementation to C. R503 has built-in LEDs
+and better form factor. Chose it for the lock.</p>
+
+<p>2025-06: Two PCB boards for FPM (front) and servo (back) controllers. Encrypted
+RF link between them.</p>
<table style="border: none; width: 100%">
<tr style="border: none;">
@@ -85,20 +89,18 @@ controller (back). Encrypted RF link between them.</p>
</tr>
</table>
-<p>PCB specs: 2-layer, 1oz copper, 0.3mm traces (0.5mm for power). Ground plane.
-Both subsystems worked—could control servo from sensor over RF.</p>
+<p>PCB specs: 2-layer, 1oz copper, 0.3mm traces (0.5mm for power). Ground plane.</p>
-<p>2025-06: NRF24L01+ on the back controller stopped working after mounting on
-PCB. RFM is too close to PWM line. Fixed by soldering a large 47uF (16V)
-electrolytic capacitor between VCC and ground.</p>
+<p>2025-06: NRF24L01+ on the back stopped working after mounting on PCB. Too close
+to servo’s PWM line. Soldering a large 47uF (16V) electrolytic capacitor
+between VCC and ground fixed it.</p>
<p>Power problems became clear. Linear regulators dissipated too much heat. Sensor
-and servo drew 13.8mA and 4.6mA quiescent—unacceptable for battery. Servo
-inrush current can exceed 1A. Trace width (0.3mm), especially for servo and
-power, cutting it close.</p>
+and servo drew 13.8mA and 4.6mA quiescent currents–unacceptable for battery.
+Servo inrush current exceeds 1A. 0.3mm tracks cuts it too close.</p>
<p>Verdict: Functional but not practical. Battery dead in under 24 hours. Led to
-<a href="../fpm-door-lock-lp/">complete redesign</a> with proper power management.</p>
+<a href="../fpm-door-lock-lp/">redesign</a> with proper power management.</p>
<p>Commit:
<a href="https://git.asciimx.com/smart-home/commit/?id=f4b0b734a595919cf451ab9448b06274c8e609a4">f4b0b73</a>