diff options
| author | Sadeep Madurange <sadeep@asciimx.com> | 2025-12-27 11:15:17 +0800 |
|---|---|---|
| committer | Sadeep Madurange <sadeep@asciimx.com> | 2025-12-27 11:19:18 +0800 |
| commit | d0d7a540b009433e4278f20def54b87edf3c712f (patch) | |
| tree | 0e64bbb72285b7090d0e20df11e518a2bba474be /_site/log | |
| parent | e04ce2ab6ca82d0014bec8b217215f35b436ff25 (diff) | |
| download | www-d0d7a540b009433e4278f20def54b87edf3c712f.tar.gz | |
RF lock.
Diffstat (limited to '_site/log')
| -rw-r--r-- | _site/log/fpm-door-lock-rf/index.html | 69 | ||||
| -rw-r--r-- | _site/log/index.html | 2 |
2 files changed, 37 insertions, 34 deletions
diff --git a/_site/log/fpm-door-lock-rf/index.html b/_site/log/fpm-door-lock-rf/index.html index c12d808..e2da50a 100644 --- a/_site/log/fpm-door-lock-rf/index.html +++ b/_site/log/fpm-door-lock-rf/index.html @@ -42,17 +42,29 @@ <div class="container"> <div class="container-2"> <h2 class="center" id="title">FINGERPRINT DOOR LOCK (RF)</h2> - <h6 class="center">26 APRIL 2025</h5> + <h6 class="center">05 JUNE 2025</h5> <br> - <div class="twocol justify"><p>In 2023, I started tinkering with DIY electronics as a hobby. Until now, I’ve -been using development boards like the Arduino Uno and ESP-32-WROOM so that I -can focus on the software. Recently, I decided to step outside of my comfort -zone and design a PCB from scratch for a door lock I’m working on.</p> + <div class="twocol justify"><p>Wanted to unlock door with fingerprint, wirelessly to avoid drilling.</p> -<p>The lock comprises two subsystems: a fingerprint sensor in front of the door -and a servo connected to the physical lock behind the door. The fingerprint -sensor authenticates the person and signals the servo behind the door to unlock -the door over an encrypted RF channel.</p> +<p>2024-11: Started with basic 433MHz RF modules and two Arduinos. Connected data +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 30 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-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>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>2025-06: First PCB design. Two boards: fingerprint sensor (front), servo +controller (back). Encrypted RF link between them.</p> <table style="border: none; width: 100%"> <tr style="border: none;"> @@ -77,30 +89,21 @@ the door over an encrypted RF channel.</p> </tr> </table> -<p>The PCBs have two layers. A copper region serves as the ground plane. The 0.3mm -wide 1oz/ft<sup>2</sup> copper traces can carry up to 500mA (the tracks -connecting the power source and the linear regulators have a width of 0.5mm). -Both subsystems were functional. I was able to control the servo reliably using -the fingerprint sensor.</p> - -<p>The designs aren’t without flaws, however. The main shortcoming of the circuits -is that they draw significant amounts of quiescent currents despite employing -sleep modes. The linear regulators were a poor choice as they dissipate too -much heat. The fingerprint sensor and the servo draw 13.8mA (3.3V) and 4.6mA -(5V) respectively, as long as they are connected to the power supply.</p> - -<p>Although the circuit didn’t draw more than 200mA without a load, the servo -under load could draw up to 600mA. I’m sailing too close to the wind with 0.3mm -copper traces. Instead, 0.4mm wide 2oz/ft<sup>2</sup> traces would have been -safer.</p> - -<p>I’m working on improving the design to reduce idle current consumption and -extend the battery life. Despite its deficiencies, this was my first PCB -design, and I’m glad that it worked as well as it did. Custom PCB design marks -an important milestone in my DIY electronics journey.</p> - -<p>Files: <a href="gerber_back.zip">gerber_back.zip</a>, <a href="gerber_front.zip">gerber_front.zip</a>, - <a href="source.tar.gz">source.tar.gz</a></p> +<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>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> + +<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> + +<p>Commit: +<a href="https://git.asciimx.com/smart-home/commit/?id=f4b0b734a595919cf451ab9448b06274c8e609a4">f4b0b73</a> +| Gerber: <a href="gerber_back.zip">gerber_back.zip</a>, +<a href="gerber_front.zip">gerber_front.zip</a></p> </div> <p class="post-author right">by W. D. Sadeep Madurange</p> </div> diff --git a/_site/log/index.html b/_site/log/index.html index bcc001e..b7ebcc5 100644 --- a/_site/log/index.html +++ b/_site/log/index.html @@ -102,7 +102,7 @@ </td> <td class="posts-td posts-td-time"> <span class="post-meta"> - <time datetime="2025-04-26 00:00:00 +0800">2025-04-26</time> + <time datetime="2025-06-05 00:00:00 +0800">2025-06-05</time> </span> </td> </tr> |
