summaryrefslogtreecommitdiffstats
path: root/_site/log/fpm-door-lock-lp/index.html
blob: a5d237c4b24405a4dde574377735efec20d39c39 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Fingerprint door lock (LP)</title>

    <head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>Fingerprint door lock (LP)</title>
  <link rel="stylesheet" href="/assets/css/main.css">
  <link rel="stylesheet" href="/assets/css/skeleton.css">
</head>



  </head>
  <body>

    <div id="nav-container" class="container">
  <ul id="navlist" class="left">
    
    <li >
      <a href="/" class="link-decor-none">hme</a>
    </li>
    <li class="active">
      <a href="/log/" class="link-decor-none">log</a>
    </li>
    <li >
      <a href="/projects/" class="link-decor-none">poc</a>
    </li>
    <li >
      <a href="/about/" class="link-decor-none">abt</a>
    </li>
    <li>
      <a href="/cgi-bin/find.cgi" class="link-decor-none">sws</a>
    </li>
    <li>
      <a href="/feed.xml" class="link-decor-none">rss</a>
    </li>
  </ul>
</div>



    <main>
      <div class="container">
        <div class="container-2">
          <h2 class="center" id="title">FINGERPRINT DOOR LOCK (LP)</h2>
          <h6 class="center">18 AUGUST 2025</h5>
          <br>
          <div class="twocol justify"><p>Second iteration of the <a href="../fpm-door-lock-rf">RF door lock</a>. Old version worked
but drew too much quiescent current. Sensor and servo pulled 13.8mA and 4.6mA
idle. Linear regulators were a disaster. Battery didn’t last 24 hours.</p>

<video style="max-width:100%;" controls="" poster="pcb.jpg">
  <source src="video.mp4" type="video/mp4" />
</video>

<p>Redesigned the PCB completely. Tossed the RF modules and the second MCU.
Connected R503 sensor directly to the ATmega328P. Sensor now mounts on door
exterior, servo attaches to interior knob, MCU stays on the back to prevent
tampering.</p>

<table style="border: none; width: 100%">
  <tr style="border: none;">
    <td style="border: none; width: 49.9%; background-color: transparent; text-align: center;">
      <img src="breadboard.jpg" alt="PCB" style="width: 100%" />
    </td>
    <td style="border: none; background-color: transparent; text-align: center;">
      <img src="pcb1.jpg" alt="Design" style="width: 100%" />
    </td>
  </tr>
  <tr style="border: none;">
    <td colspan="2" style="border: none; background-color: transparent; text-align: center;">
      <img src="footprint.png" alt="PCB footprint" style="width: 100%" />
    </td>
  </tr>
</table>

<p>PCB specs: 2-layer, 1oz copper, 0.3mm traces (1mm for power and servo). Ground
plane on bottom layer.</p>

<p>Solved idle power draw with MOSFETs. 2N7000 and NDP6020P cut power to sensor
and servo before deep sleep. Through-hole MOSFETs that switch at 3.3V are
getting harder to find. NDP6020P already obsolete.</p>

<p>Replaced linear regulators with MP1584EN DC-DC buck converters. No RF, noise
isn’t a big concern. Buck’s pin breakout not great–wouldn’t fit most
commercial dev boards.</p>

<p>Squeezed more power savings from the MCU by running it at 3.3V/8MHz. Combined
with buck converters: 56% total power savings.</p>

<p>Wake sequence: MCU activates sensor MOSFET, unlocks sensor over UART, scans and
matches fingerprint. Match triggers blue LED, servo MOSFET, PWM signal to
unlock. No match triggers red LED. MOSFETs off, back to sleep.</p>

<p>Total power savings: 99.9% (30.6mA → 2.9μA). Verdict: Fixed.</p>

<p>Commit:
<a href="https://git.asciimx.com/fpm-door-lock/commit/?id=75290945b2fd84b3bc108fd46419ee478eaac3ca">7529094</a>
| Gerber: <a href="gerber.zip">gerber.zip</a></p>
</div>
          <p class="post-author right">by W. D. Sadeep Madurange</p>
        </div>
      </div>
    </main>

    <div class="footer">
  <div class="container">
    <div class="twelve columns right container-2">
      <p id="footer-text">&copy; ASCIIMX - 2025</p>
    </div>
  </div>
</div>


  </body>
</html>