From 3b63c5139ca9a34fa79bc2eb132ecfd71897dc7e Mon Sep 17 00:00:00 2001 From: Sadeep Madurange Date: Sun, 2 Nov 2025 15:12:54 +0800 Subject: wip: Unix desktop. --- _archive/desktop-unix.md | 31 ++++++++ _archive/desktop-unix/dotfiles.tar.gz | Bin 0 -> 6397999 bytes _archive/desktop-unix/linux.png | Bin 0 -> 206255 bytes _archive/desktop-unix/openbsd.png | Bin 0 -> 318897 bytes _archive/my-first-pcb.md | 64 --------------- _archive/my-first-pcb/back.jpeg | Bin 34023 -> 0 bytes _archive/my-first-pcb/back_design.jpeg | Bin 31946 -> 0 bytes _archive/my-first-pcb/front.jpeg | Bin 28997 -> 0 bytes _archive/my-first-pcb/front_design.jpeg | Bin 32174 -> 0 bytes _archive/my-first-pcb/gerber_back.zip | Bin 48217 -> 0 bytes _archive/my-first-pcb/gerber_front.zip | Bin 49605 -> 0 bytes _archive/my-first-pcb/source.tar.gz | Bin 6660 -> 0 bytes _projects/desktop-unix.md | 31 -------- _projects/desktop-unix/dotfiles.tar.gz | Bin 6397999 -> 0 bytes _projects/desktop-unix/linux.png | Bin 206255 -> 0 bytes _projects/desktop-unix/openbsd.png | Bin 318897 -> 0 bytes _projects/my-first-pcb.md | 65 +++++++++++++++ _projects/my-first-pcb/back.jpeg | Bin 0 -> 34023 bytes _projects/my-first-pcb/back_design.jpeg | Bin 0 -> 31946 bytes _projects/my-first-pcb/front.jpeg | Bin 0 -> 28997 bytes _projects/my-first-pcb/front_design.jpeg | Bin 0 -> 32174 bytes _projects/my-first-pcb/gerber_back.zip | Bin 0 -> 48217 bytes _projects/my-first-pcb/gerber_front.zip | Bin 0 -> 49605 bytes _projects/my-first-pcb/source.tar.gz | Bin 0 -> 6660 bytes _projects/my-first-pcb/thumb.jpeg | Bin 0 -> 27235 bytes _site/archive/desktop-unix/dotfiles.tar.gz | Bin 0 -> 6397999 bytes _site/archive/desktop-unix/index.html | 75 ++++++++++++++++++ _site/archive/desktop-unix/linux.png | Bin 0 -> 206255 bytes _site/archive/desktop-unix/openbsd.png | Bin 0 -> 318897 bytes _site/archive/index.html | 8 +- _site/archive/my-first-pcb/back.jpeg | Bin 34023 -> 0 bytes _site/archive/my-first-pcb/back_design.jpeg | Bin 31946 -> 0 bytes _site/archive/my-first-pcb/front.jpeg | Bin 28997 -> 0 bytes _site/archive/my-first-pcb/front_design.jpeg | Bin 32174 -> 0 bytes _site/archive/my-first-pcb/gerber_back.zip | Bin 48217 -> 0 bytes _site/archive/my-first-pcb/gerber_front.zip | Bin 49605 -> 0 bytes _site/archive/my-first-pcb/index.html | 109 -------------------------- _site/archive/my-first-pcb/source.tar.gz | Bin 6660 -> 0 bytes _site/feed.xml | 2 +- _site/index.html | 8 +- _site/posts.xml | 2 +- _site/projects/desktop-unix/dotfiles.tar.gz | Bin 6397999 -> 0 bytes _site/projects/desktop-unix/index.html | 75 ------------------ _site/projects/desktop-unix/linux.png | Bin 206255 -> 0 bytes _site/projects/desktop-unix/openbsd.png | Bin 318897 -> 0 bytes _site/projects/index.html | 4 +- _site/projects/my-first-pcb/back.jpeg | Bin 0 -> 34023 bytes _site/projects/my-first-pcb/back_design.jpeg | Bin 0 -> 31946 bytes _site/projects/my-first-pcb/front.jpeg | Bin 0 -> 28997 bytes _site/projects/my-first-pcb/front_design.jpeg | Bin 0 -> 32174 bytes _site/projects/my-first-pcb/gerber_back.zip | Bin 0 -> 48217 bytes _site/projects/my-first-pcb/gerber_front.zip | Bin 0 -> 49605 bytes _site/projects/my-first-pcb/index.html | 109 ++++++++++++++++++++++++++ _site/projects/my-first-pcb/source.tar.gz | Bin 0 -> 6660 bytes _site/projects/my-first-pcb/thumb.jpeg | Bin 0 -> 27235 bytes 55 files changed, 292 insertions(+), 291 deletions(-) create mode 100644 _archive/desktop-unix.md create mode 100644 _archive/desktop-unix/dotfiles.tar.gz create mode 100644 _archive/desktop-unix/linux.png create mode 100644 _archive/desktop-unix/openbsd.png delete mode 100644 _archive/my-first-pcb.md delete mode 100644 _archive/my-first-pcb/back.jpeg delete mode 100644 _archive/my-first-pcb/back_design.jpeg delete mode 100644 _archive/my-first-pcb/front.jpeg delete mode 100644 _archive/my-first-pcb/front_design.jpeg delete mode 100644 _archive/my-first-pcb/gerber_back.zip delete mode 100644 _archive/my-first-pcb/gerber_front.zip delete mode 100644 _archive/my-first-pcb/source.tar.gz delete mode 100644 _projects/desktop-unix.md delete mode 100644 _projects/desktop-unix/dotfiles.tar.gz delete mode 100644 _projects/desktop-unix/linux.png delete mode 100644 _projects/desktop-unix/openbsd.png create mode 100644 _projects/my-first-pcb.md create mode 100644 _projects/my-first-pcb/back.jpeg create mode 100644 _projects/my-first-pcb/back_design.jpeg create mode 100644 _projects/my-first-pcb/front.jpeg create mode 100644 _projects/my-first-pcb/front_design.jpeg create mode 100644 _projects/my-first-pcb/gerber_back.zip create mode 100644 _projects/my-first-pcb/gerber_front.zip create mode 100644 _projects/my-first-pcb/source.tar.gz create mode 100644 _projects/my-first-pcb/thumb.jpeg create mode 100644 _site/archive/desktop-unix/dotfiles.tar.gz create mode 100644 _site/archive/desktop-unix/index.html create mode 100644 _site/archive/desktop-unix/linux.png create mode 100644 _site/archive/desktop-unix/openbsd.png delete mode 100644 _site/archive/my-first-pcb/back.jpeg delete mode 100644 _site/archive/my-first-pcb/back_design.jpeg delete mode 100644 _site/archive/my-first-pcb/front.jpeg delete mode 100644 _site/archive/my-first-pcb/front_design.jpeg delete mode 100644 _site/archive/my-first-pcb/gerber_back.zip delete mode 100644 _site/archive/my-first-pcb/gerber_front.zip delete mode 100644 _site/archive/my-first-pcb/index.html delete mode 100644 _site/archive/my-first-pcb/source.tar.gz delete mode 100644 _site/projects/desktop-unix/dotfiles.tar.gz delete mode 100644 _site/projects/desktop-unix/index.html delete mode 100644 _site/projects/desktop-unix/linux.png delete mode 100644 _site/projects/desktop-unix/openbsd.png create mode 100644 _site/projects/my-first-pcb/back.jpeg create mode 100644 _site/projects/my-first-pcb/back_design.jpeg create mode 100644 _site/projects/my-first-pcb/front.jpeg create mode 100644 _site/projects/my-first-pcb/front_design.jpeg create mode 100644 _site/projects/my-first-pcb/gerber_back.zip create mode 100644 _site/projects/my-first-pcb/gerber_front.zip create mode 100644 _site/projects/my-first-pcb/index.html create mode 100644 _site/projects/my-first-pcb/source.tar.gz create mode 100644 _site/projects/my-first-pcb/thumb.jpeg diff --git a/_archive/desktop-unix.md b/_archive/desktop-unix.md new file mode 100644 index 0000000..875e362 --- /dev/null +++ b/_archive/desktop-unix.md @@ -0,0 +1,31 @@ +--- +title: Unix-like operating systems +date: 2025-09-21 +author: Wickramage Don Sadeep Madurange +thumbnail: linux.png +layout: post +--- + +The year 2020 transformed my personal computing experience. In March 2020, I +stumbled upon Arch Linux and discovered that I could customize my desktop +environment to look and work any way I liked. I exercised that newfound freedom +to create a Matrix-themed setup: + +![Arch Linux](linux.png) + +The system employs the X display server and the i3 window manager. The terminal +emulator used is Urxvt. The translucent effect is achieved with the help of the +Xcompmgr compositor. This sort of setup was popular among minimalist Linux +users. + +In February 2024, I switched to an OpenBSD system with Xenocara (the OpenBSD +build of X display server) as the display server and i3 as the window manager: + +![OpenBSD i3](openbsd.png) + +Unlike Linux, OpenBSD includes a coherent desktop environment out of the box. +Except for the window manager, for which I prefer a tiling one, I'm now using +the default OpenBSD setup. For the window manager, I use dwm from the Suckless +team. + +Files: [dotfiles.tar.gz](dotfiles.tar.gz) diff --git a/_archive/desktop-unix/dotfiles.tar.gz b/_archive/desktop-unix/dotfiles.tar.gz new file mode 100644 index 0000000..c6774c4 Binary files /dev/null and b/_archive/desktop-unix/dotfiles.tar.gz differ diff --git a/_archive/desktop-unix/linux.png b/_archive/desktop-unix/linux.png new file mode 100644 index 0000000..40bc33b Binary files /dev/null and b/_archive/desktop-unix/linux.png differ diff --git a/_archive/desktop-unix/openbsd.png b/_archive/desktop-unix/openbsd.png new file mode 100644 index 0000000..d7489f7 Binary files /dev/null and b/_archive/desktop-unix/openbsd.png differ diff --git a/_archive/my-first-pcb.md b/_archive/my-first-pcb.md deleted file mode 100644 index 7750f20..0000000 --- a/_archive/my-first-pcb.md +++ /dev/null @@ -1,64 +0,0 @@ ---- -title: My first PCB -date: 2025-07-14 -author: Wickramage Don Sadeep Madurange -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. - - - - - - - - - - -
- Design (front) -

Footprint (front)

-
- PCB (front) -

PCB (front)

-
- Design (back) -

Footprint (back)

-
- PCB (back) -

PCB (back)

-
- -The PCBs have two layers. A copper region serves as the ground plane. The 0.3 -mm wide 1 oz/ft2 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/ft2 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) diff --git a/_archive/my-first-pcb/back.jpeg b/_archive/my-first-pcb/back.jpeg deleted file mode 100644 index f458e69..0000000 Binary files a/_archive/my-first-pcb/back.jpeg and /dev/null differ diff --git a/_archive/my-first-pcb/back_design.jpeg b/_archive/my-first-pcb/back_design.jpeg deleted file mode 100644 index b6c0f5d..0000000 Binary files a/_archive/my-first-pcb/back_design.jpeg and /dev/null differ diff --git a/_archive/my-first-pcb/front.jpeg b/_archive/my-first-pcb/front.jpeg deleted file mode 100644 index 2b2931f..0000000 Binary files a/_archive/my-first-pcb/front.jpeg and /dev/null differ diff --git a/_archive/my-first-pcb/front_design.jpeg b/_archive/my-first-pcb/front_design.jpeg deleted file mode 100644 index f81f09c..0000000 Binary files a/_archive/my-first-pcb/front_design.jpeg and /dev/null differ diff --git a/_archive/my-first-pcb/gerber_back.zip b/_archive/my-first-pcb/gerber_back.zip deleted file mode 100644 index 26659ad..0000000 Binary files a/_archive/my-first-pcb/gerber_back.zip and /dev/null differ diff --git a/_archive/my-first-pcb/gerber_front.zip b/_archive/my-first-pcb/gerber_front.zip deleted file mode 100644 index 864334e..0000000 Binary files a/_archive/my-first-pcb/gerber_front.zip and /dev/null differ diff --git a/_archive/my-first-pcb/source.tar.gz b/_archive/my-first-pcb/source.tar.gz deleted file mode 100644 index c31aa22..0000000 Binary files a/_archive/my-first-pcb/source.tar.gz and /dev/null differ diff --git a/_projects/desktop-unix.md b/_projects/desktop-unix.md deleted file mode 100644 index 92bca29..0000000 --- a/_projects/desktop-unix.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -title: Desktop Unix -date: 2025-09-21 -author: Wickramage Don Sadeep Madurange -thumbnail: linux.png -layout: post ---- - -The year 2020 transformed my personal computing experience. In March 2020, I -stumbled upon Arch Linux and discovered that I could customize my desktop -environment to look and work any way I liked. I exercised that newfound freedom -to create a Matrix-themed setup: - -![Arch Linux](linux.png) - -The system employs the X display server and the i3 window manager. The terminal -emulator used is Urxvt. The translucent effect is achieved with the help of the -Xcompmgr compositor. This sort of setup was popular among minimalist Linux -users. - -In February 2024, I switched to an OpenBSD system with Xenocara (the OpenBSD -build of X display server) as the display server and i3 as the window manager: - -![OpenBSD i3](openbsd.png) - -Unlike Linux, OpenBSD includes a coherent desktop environment out of the box. -Except for the window manager, for which I prefer a tiling one, I'm now using -the default OpenBSD setup. For the window manager, I use dwm from the Suckless -team. - -Files: [dotfiles.tar.gz](dotfiles.tar.gz) diff --git a/_projects/desktop-unix/dotfiles.tar.gz b/_projects/desktop-unix/dotfiles.tar.gz deleted file mode 100644 index c6774c4..0000000 Binary files a/_projects/desktop-unix/dotfiles.tar.gz and /dev/null differ diff --git a/_projects/desktop-unix/linux.png b/_projects/desktop-unix/linux.png deleted file mode 100644 index 40bc33b..0000000 Binary files a/_projects/desktop-unix/linux.png and /dev/null differ diff --git a/_projects/desktop-unix/openbsd.png b/_projects/desktop-unix/openbsd.png deleted file mode 100644 index d7489f7..0000000 Binary files a/_projects/desktop-unix/openbsd.png and /dev/null differ 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. + + + + + + + + + + +
+ Design (front) +

Footprint (front)

+
+ PCB (front) +

PCB (front)

+
+ Design (back) +

Footprint (back)

+
+ PCB (back) +

PCB (back)

+
+ +The PCBs have two layers. A copper region serves as the ground plane. The 0.3 +mm wide 1 oz/ft2 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/ft2 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) diff --git a/_projects/my-first-pcb/back.jpeg b/_projects/my-first-pcb/back.jpeg new file mode 100644 index 0000000..f458e69 Binary files /dev/null and b/_projects/my-first-pcb/back.jpeg differ diff --git a/_projects/my-first-pcb/back_design.jpeg b/_projects/my-first-pcb/back_design.jpeg new file mode 100644 index 0000000..b6c0f5d Binary files /dev/null and b/_projects/my-first-pcb/back_design.jpeg differ diff --git a/_projects/my-first-pcb/front.jpeg b/_projects/my-first-pcb/front.jpeg new file mode 100644 index 0000000..2b2931f Binary files /dev/null and b/_projects/my-first-pcb/front.jpeg differ diff --git a/_projects/my-first-pcb/front_design.jpeg b/_projects/my-first-pcb/front_design.jpeg new file mode 100644 index 0000000..f81f09c Binary files /dev/null and b/_projects/my-first-pcb/front_design.jpeg differ diff --git a/_projects/my-first-pcb/gerber_back.zip b/_projects/my-first-pcb/gerber_back.zip new file mode 100644 index 0000000..26659ad Binary files /dev/null and b/_projects/my-first-pcb/gerber_back.zip differ diff --git a/_projects/my-first-pcb/gerber_front.zip b/_projects/my-first-pcb/gerber_front.zip new file mode 100644 index 0000000..864334e Binary files /dev/null and b/_projects/my-first-pcb/gerber_front.zip differ diff --git a/_projects/my-first-pcb/source.tar.gz b/_projects/my-first-pcb/source.tar.gz new file mode 100644 index 0000000..c31aa22 Binary files /dev/null and b/_projects/my-first-pcb/source.tar.gz differ diff --git a/_projects/my-first-pcb/thumb.jpeg b/_projects/my-first-pcb/thumb.jpeg new file mode 100644 index 0000000..be7143d Binary files /dev/null and b/_projects/my-first-pcb/thumb.jpeg differ diff --git a/_site/archive/desktop-unix/dotfiles.tar.gz b/_site/archive/desktop-unix/dotfiles.tar.gz new file mode 100644 index 0000000..c6774c4 Binary files /dev/null and b/_site/archive/desktop-unix/dotfiles.tar.gz differ diff --git a/_site/archive/desktop-unix/index.html b/_site/archive/desktop-unix/index.html new file mode 100644 index 0000000..7d2ed15 --- /dev/null +++ b/_site/archive/desktop-unix/index.html @@ -0,0 +1,75 @@ + + + + + Unix-like operating systems + + + + + Unix-like operating systems + + + + + + + + + +
+ +
+ + + +
+
+

UNIX-LIKE OPERATING SYSTEMS

+
21 SEPTEMBER 2025
+
+

The year 2020 transformed my personal computing experience. In March 2020, I +stumbled upon Arch Linux and discovered that I could customize my desktop +environment to look and work any way I liked. I exercised that newfound freedom +to create a Matrix-themed setup:

+ +

Arch Linux

+ +

The system employs the X display server and the i3 window manager. The terminal +emulator used is Urxvt. The translucent effect is achieved with the help of the +Xcompmgr compositor. This sort of setup was popular among minimalist Linux +users.

+ +

In February 2024, I switched to an OpenBSD system with Xenocara (the OpenBSD +build of X display server) as the display server and i3 as the window manager:

+ +

OpenBSD i3

+ +

Unlike Linux, OpenBSD includes a coherent desktop environment out of the box. +Except for the window manager, for which I prefer a tiling one, I’m now using +the default OpenBSD setup. For the window manager, I use dwm from the Suckless +team.

+ +

Files: dotfiles.tar.gz

+
+ +
+
+ + + diff --git a/_site/archive/desktop-unix/linux.png b/_site/archive/desktop-unix/linux.png new file mode 100644 index 0000000..40bc33b Binary files /dev/null and b/_site/archive/desktop-unix/linux.png differ diff --git a/_site/archive/desktop-unix/openbsd.png b/_site/archive/desktop-unix/openbsd.png new file mode 100644 index 0000000..d7489f7 Binary files /dev/null and b/_site/archive/desktop-unix/openbsd.png differ diff --git a/_site/archive/index.html b/_site/archive/index.html index 1b095fd..61faed8 100644 --- a/_site/archive/index.html +++ b/_site/archive/index.html @@ -46,11 +46,11 @@ - Neo4J A* search + Unix-like operating systems - + @@ -59,11 +59,11 @@ - My first PCB + Neo4J A* search - + diff --git a/_site/archive/my-first-pcb/back.jpeg b/_site/archive/my-first-pcb/back.jpeg deleted file mode 100644 index f458e69..0000000 Binary files a/_site/archive/my-first-pcb/back.jpeg and /dev/null differ diff --git a/_site/archive/my-first-pcb/back_design.jpeg b/_site/archive/my-first-pcb/back_design.jpeg deleted file mode 100644 index b6c0f5d..0000000 Binary files a/_site/archive/my-first-pcb/back_design.jpeg and /dev/null differ diff --git a/_site/archive/my-first-pcb/front.jpeg b/_site/archive/my-first-pcb/front.jpeg deleted file mode 100644 index 2b2931f..0000000 Binary files a/_site/archive/my-first-pcb/front.jpeg and /dev/null differ diff --git a/_site/archive/my-first-pcb/front_design.jpeg b/_site/archive/my-first-pcb/front_design.jpeg deleted file mode 100644 index f81f09c..0000000 Binary files a/_site/archive/my-first-pcb/front_design.jpeg and /dev/null differ diff --git a/_site/archive/my-first-pcb/gerber_back.zip b/_site/archive/my-first-pcb/gerber_back.zip deleted file mode 100644 index 26659ad..0000000 Binary files a/_site/archive/my-first-pcb/gerber_back.zip and /dev/null differ diff --git a/_site/archive/my-first-pcb/gerber_front.zip b/_site/archive/my-first-pcb/gerber_front.zip deleted file mode 100644 index 864334e..0000000 Binary files a/_site/archive/my-first-pcb/gerber_front.zip and /dev/null differ diff --git a/_site/archive/my-first-pcb/index.html b/_site/archive/my-first-pcb/index.html deleted file mode 100644 index d2ede3a..0000000 --- a/_site/archive/my-first-pcb/index.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - My first PCB - - - - - My first PCB - - - - - - - - - -
- -
- - - -
-
-

MY FIRST PCB

-
14 JULY 2025
-
-

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.

- - - - - - - - - - -
- Design (front) -

Footprint (front)

-
- PCB (front) -

PCB (front)

-
- Design (back) -

Footprint (back)

-
- PCB (back) -

PCB (back)

-
- -

The PCBs have two layers. A copper region serves as the ground plane. The 0.3 -mm wide 1 oz/ft2 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/ft2 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_front.zip, - source.tar.gz

-
- -
-
- - - diff --git a/_site/archive/my-first-pcb/source.tar.gz b/_site/archive/my-first-pcb/source.tar.gz deleted file mode 100644 index c31aa22..0000000 Binary files a/_site/archive/my-first-pcb/source.tar.gz and /dev/null differ diff --git a/_site/feed.xml b/_site/feed.xml index 9abcade..11b1d0b 100644 --- a/_site/feed.xml +++ b/_site/feed.xml @@ -1 +1 @@ -Jekyll2025-11-02T14:31:35+08:00/feed.xmlASCIIMX | ArchiveWickramage Don Sadeep MadurangeNeo4J A* search2025-09-14T00:00:00+08:002025-09-14T00:00:00+08:00/archive/neo4j-a-star-searchWickramage Don Sadeep MadurangeMy first PCB2025-07-14T00:00:00+08:002025-07-14T00:00:00+08:00/archive/my-first-pcbWickramage Don Sadeep MadurangeMOSFETs2025-06-22T00:00:00+08:002025-06-22T00:00:00+08:00/archive/mosfet-switchesWickramage Don Sadeep MadurangeAwesome books2025-04-20T00:00:00+08:002025-04-20T00:00:00+08:00/archive/awesome-booksWickramage Don Sadeep MadurangeProgramming ATmega328P chips2025-04-10T00:00:00+08:002025-04-10T00:00:00+08:00/archive/arduino-unoWickramage Don Sadeep MadurangeBare-metal ARM Cortex M3 chips2024-10-05T00:00:00+08:002024-10-05T00:00:00+08:00/archive/arduino-dueWickramage Don Sadeep Madurange \ No newline at end of file +Jekyll2025-11-02T15:12:09+08:00http://localhost:4000/feed.xmlASCIIMX | ArchiveWickramage Don Sadeep MadurangeUnix-like operating systems2025-09-21T00:00:00+08:002025-09-21T00:00:00+08:00http://localhost:4000/archive/desktop-unixWickramage Don Sadeep MadurangeNeo4J A* search2025-09-14T00:00:00+08:002025-09-14T00:00:00+08:00http://localhost:4000/archive/neo4j-a-star-searchWickramage Don Sadeep MadurangeMOSFETs2025-06-22T00:00:00+08:002025-06-22T00:00:00+08:00http://localhost:4000/archive/mosfet-switchesWickramage Don Sadeep MadurangeAwesome books2025-04-20T00:00:00+08:002025-04-20T00:00:00+08:00http://localhost:4000/archive/awesome-booksWickramage Don Sadeep MadurangeProgramming ATmega328P chips2025-04-10T00:00:00+08:002025-04-10T00:00:00+08:00http://localhost:4000/archive/arduino-unoWickramage Don Sadeep MadurangeBare-metal ARM Cortex M3 chips2024-10-05T00:00:00+08:002024-10-05T00:00:00+08:00http://localhost:4000/archive/arduino-dueWickramage Don Sadeep Madurange \ No newline at end of file diff --git a/_site/index.html b/_site/index.html index 1294f7d..dc0248c 100644 --- a/_site/index.html +++ b/_site/index.html @@ -56,11 +56,11 @@ - Neo4J A* search + Unix-like operating systems - + @@ -69,11 +69,11 @@ - My first PCB + Neo4J A* search - + diff --git a/_site/posts.xml b/_site/posts.xml index cef4242..2e22048 100644 --- a/_site/posts.xml +++ b/_site/posts.xml @@ -1 +1 @@ -Jekyll2025-11-02T14:31:35+08:00/posts.xmlASCIIMXWickramage Don Sadeep Madurange \ No newline at end of file +Jekyll2025-11-02T15:12:09+08:00http://localhost:4000/posts.xmlASCIIMXWickramage Don Sadeep Madurange \ No newline at end of file diff --git a/_site/projects/desktop-unix/dotfiles.tar.gz b/_site/projects/desktop-unix/dotfiles.tar.gz deleted file mode 100644 index c6774c4..0000000 Binary files a/_site/projects/desktop-unix/dotfiles.tar.gz and /dev/null differ diff --git a/_site/projects/desktop-unix/index.html b/_site/projects/desktop-unix/index.html deleted file mode 100644 index 53c9859..0000000 --- a/_site/projects/desktop-unix/index.html +++ /dev/null @@ -1,75 +0,0 @@ - - - - - Desktop Unix - - - - - Desktop Unix - - - - - - - - - -
- -
- - - -
-
-

DESKTOP UNIX

-
21 SEPTEMBER 2025
-
-

The year 2020 transformed my personal computing experience. In March 2020, I -stumbled upon Arch Linux and discovered that I could customize my desktop -environment to look and work any way I liked. I exercised that newfound freedom -to create a Matrix-themed setup:

- -

Arch Linux

- -

The system employs the X display server and the i3 window manager. The terminal -emulator used is Urxvt. The translucent effect is achieved with the help of the -Xcompmgr compositor. This sort of setup was popular among minimalist Linux -users.

- -

In February 2024, I switched to an OpenBSD system with Xenocara (the OpenBSD -build of X display server) as the display server and i3 as the window manager:

- -

OpenBSD i3

- -

Unlike Linux, OpenBSD includes a coherent desktop environment out of the box. -Except for the window manager, for which I prefer a tiling one, I’m now using -the default OpenBSD setup. For the window manager, I use dwm from the Suckless -team.

- -

Files: dotfiles.tar.gz

-
- -
-
- - - diff --git a/_site/projects/desktop-unix/linux.png b/_site/projects/desktop-unix/linux.png deleted file mode 100644 index 40bc33b..0000000 Binary files a/_site/projects/desktop-unix/linux.png and /dev/null differ diff --git a/_site/projects/desktop-unix/openbsd.png b/_site/projects/desktop-unix/openbsd.png deleted file mode 100644 index d7489f7..0000000 Binary files a/_site/projects/desktop-unix/openbsd.png and /dev/null differ diff --git a/_site/projects/index.html b/_site/projects/index.html index c18a920..6d0e0c9 100644 --- a/_site/projects/index.html +++ b/_site/projects/index.html @@ -79,8 +79,8 @@ - Desktop Unix -
Desktop Unix
+ My first PCB +
My first PCB
diff --git a/_site/projects/my-first-pcb/back.jpeg b/_site/projects/my-first-pcb/back.jpeg new file mode 100644 index 0000000..f458e69 Binary files /dev/null and b/_site/projects/my-first-pcb/back.jpeg differ diff --git a/_site/projects/my-first-pcb/back_design.jpeg b/_site/projects/my-first-pcb/back_design.jpeg new file mode 100644 index 0000000..b6c0f5d Binary files /dev/null and b/_site/projects/my-first-pcb/back_design.jpeg differ diff --git a/_site/projects/my-first-pcb/front.jpeg b/_site/projects/my-first-pcb/front.jpeg new file mode 100644 index 0000000..2b2931f Binary files /dev/null and b/_site/projects/my-first-pcb/front.jpeg differ diff --git a/_site/projects/my-first-pcb/front_design.jpeg b/_site/projects/my-first-pcb/front_design.jpeg new file mode 100644 index 0000000..f81f09c Binary files /dev/null and b/_site/projects/my-first-pcb/front_design.jpeg differ diff --git a/_site/projects/my-first-pcb/gerber_back.zip b/_site/projects/my-first-pcb/gerber_back.zip new file mode 100644 index 0000000..26659ad Binary files /dev/null and b/_site/projects/my-first-pcb/gerber_back.zip differ diff --git a/_site/projects/my-first-pcb/gerber_front.zip b/_site/projects/my-first-pcb/gerber_front.zip new file mode 100644 index 0000000..864334e Binary files /dev/null and b/_site/projects/my-first-pcb/gerber_front.zip differ diff --git a/_site/projects/my-first-pcb/index.html b/_site/projects/my-first-pcb/index.html new file mode 100644 index 0000000..aa77519 --- /dev/null +++ b/_site/projects/my-first-pcb/index.html @@ -0,0 +1,109 @@ + + + + + My first PCB + + + + + My first PCB + + + + + + + + + +
+ +
+ + + +
+
+

MY FIRST PCB

+
14 JULY 2025
+
+

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.

+ + + + + + + + + + +
+ Design (front) +

Footprint (front)

+
+ PCB (front) +

PCB (front)

+
+ Design (back) +

Footprint (back)

+
+ PCB (back) +

PCB (back)

+
+ +

The PCBs have two layers. A copper region serves as the ground plane. The 0.3 +mm wide 1 oz/ft2 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/ft2 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_front.zip, + source.tar.gz

+
+ +
+
+ + + diff --git a/_site/projects/my-first-pcb/source.tar.gz b/_site/projects/my-first-pcb/source.tar.gz new file mode 100644 index 0000000..c31aa22 Binary files /dev/null and b/_site/projects/my-first-pcb/source.tar.gz differ diff --git a/_site/projects/my-first-pcb/thumb.jpeg b/_site/projects/my-first-pcb/thumb.jpeg new file mode 100644 index 0000000..be7143d Binary files /dev/null and b/_site/projects/my-first-pcb/thumb.jpeg differ -- cgit v1.2.3