summaryrefslogtreecommitdiffstats
path: root/_projects/my-first-pcb.md
diff options
context:
space:
mode:
Diffstat (limited to '_projects/my-first-pcb.md')
-rw-r--r--_projects/my-first-pcb.md65
1 files changed, 65 insertions, 0 deletions
diff --git a/_projects/my-first-pcb.md b/_projects/my-first-pcb.md
new file mode 100644
index 0000000..be425f4
--- /dev/null
+++ b/_projects/my-first-pcb.md
@@ -0,0 +1,65 @@
+---
+title: My first PCB
+date: 2025-07-14
+author: Wickramage Don Sadeep Madurange
+layout: post
+thumbnail: thumb.jpeg
+---
+
+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.3
+mm wide 1 oz/ft<sup>2</sup> copper traces can carry up to 500 mA (the tracks
+connecting the power source and the linear regulators have a width of 0.5 mm).
+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.8 mA (3.3 V) and 4.6 mA
+(5 V) respectively, as long as they are connected to the power supply.
+
+Although the circuit didn't draw more than 200 mA without a load, the servo
+under load could draw up to 600 mA. I'm sailing too close to the wind with 0.3
+mm copper traces. Instead, 0.4 mm wide 2 oz/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)