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. --- _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 13 files changed, 65 insertions(+), 31 deletions(-) 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 (limited to '_projects') 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 -- cgit v1.2.3