diff options
Diffstat (limited to '_log/fpm-door-lock-rf.md')
| -rw-r--r-- | _log/fpm-door-lock-rf.md | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/_log/fpm-door-lock-rf.md b/_log/fpm-door-lock-rf.md new file mode 100644 index 0000000..b677591 --- /dev/null +++ b/_log/fpm-door-lock-rf.md @@ -0,0 +1,63 @@ +--- +title: Fingerprint door lock (RF) +date: 2025-04-26 +layout: post +--- + +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. + +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. + +<table style="border: none; width: 100%"> + <tr style="border: none;"> + <td style="border: none; width: 49.5%; vertical-align: top; text-align: center;"> + <img src="front_design.jpeg" alt="Design (front)" style="width: 100%"> + <p>Footprint (front)</p> + </td> + <td style="border: none; vertical-align: top; text-align: center;"> + <img src="front.jpeg" alt="PCB (front)" style="width: 100%"> + <p>PCB (front)</p> + </td> + </tr> + <tr style="border: none;"> + <td style="border: none; width: 49.5%; vertical-align: top; text-align: center;"> + <img src="back_design.jpeg" alt="Design (back)" style="width: 100%"> + <p>Footprint (back)</p> + </td> + <td style="border: none; vertical-align: top; text-align: center;"> + <img src="back.jpeg" alt="PCB (back)" style="width: 100%"> + <p>PCB (back)</p> + </td> + </tr> +</table> + +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. + +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. + +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. + +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. + +Files: [gerber_back.zip](gerber_back.zip), [gerber_front.zip](gerber_front.zip), + [source.tar.gz](source.tar.gz) |
