summaryrefslogtreecommitdiffstats
path: root/_log/_site/my-first-pcb.html
diff options
context:
space:
mode:
authorSadeep Madurange <sadeep@asciimx.com>2025-12-24 16:29:32 +0800
committerSadeep Madurange <sadeep@asciimx.com>2025-12-24 16:29:32 +0800
commit1b991a54cc834e8ef9ccc8bb15dce7ff70cdf8a3 (patch)
treea9efb89b4f08341ca6ce22fcff4ede20ef72931a /_log/_site/my-first-pcb.html
parent08e594268ed20c5c2355a249ac691c007e38aed9 (diff)
downloadwww-1b991a54cc834e8ef9ccc8bb15dce7ff70cdf8a3.tar.gz
Matrix post.
Diffstat (limited to '_log/_site/my-first-pcb.html')
-rw-r--r--_log/_site/my-first-pcb.html57
1 files changed, 57 insertions, 0 deletions
diff --git a/_log/_site/my-first-pcb.html b/_log/_site/my-first-pcb.html
new file mode 100644
index 0000000..d5e886b
--- /dev/null
+++ b/_log/_site/my-first-pcb.html
@@ -0,0 +1,57 @@
+<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>
+
+<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>
+
+<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>
+
+<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>