Skip to main content

Posts

PCB Manufacturing, Prototyping & R&D in the Maldives

Custom ESP32-S3 development board — professionally manufactured by JLCPCB. A far cry from where it all started. It Started in a School Science Lab — Around 1998 Most people who get into electronics start with a kit, a tutorial, maybe a breadboard and some LEDs. I started by sneaking ferric chloride out of a school science lab to etch my first PCB. That was around 1998. I was living in the Maldives — a small island nation in the Indian Ocean — where there was no electronics supply chain, no maker community, no local PCB fab. Just a chemistry cabinet at school, a copper-clad board from somewhere, and a lot of curiosity. This post is about what the next 25+ years of PCB prototyping looked like from there. The early wins with proper chemicals, the years of improvisation when those chemicals disappeared, the real injuries, the failed boards, and finally — the moment JLCPCB changed ever...
Recent posts

Quectel GNSS samples received — ready for integration into the marine vessel monitoring system.

  It Started With a Hardware Limitation I have been using Quectel GNSS modules in my designs for a while. They are reliable, well-documented, and the support ecosystem is solid. But the module I had been using had one problem that I kept running into: no external antenna support . For most projects that is a minor inconvenience. For a marine vessel monitoring and control system , it is a non-starter. A vessel hull blocks sky view, antenna placement is critical, and the difference between a clean fix and no fix at all often comes down to whether you can mount the antenna where it actually has line of sight. An integrated antenna in a sealed enclosure below deck simply does not cut it. So I went directly to Quectel. The Conversation With Quectel I reached out through their official sample request channel. I was not expecting much — most component manufacturers have a standard process: fill out a form, wait, get a few uni...

How a Single `while(1)` Bricked My ESP32-S3 — and What I Learned Fixing It

    This is a custom ESP32S3 prototyping board i built to troubleshoot the issues.  It Started With a Simple Problem I was testing the EvilCrow Cable Wind — a USB HID device built around the ESP32-S3 that executes keystroke injection payloads over WiFi. Everything seemed fine: the keyboard HID was typing correctly, the web interface loaded, basic commands like RunWin worked. But ServerConnect and ShellWin did absolutely nothing. No error. No feedback. Just silence. Digging Into the Code The first thing I found was this pattern — repeated across four commands: ORIGINAL — DANGEROUS if (!clientServer.connect(serverIP, serverPort)) { while(1); // hangs forever if TCP fails } ⚠ Critical Bug If TCP connection failed for any reason, the device entered an infinite loop with no timeout, no error output, and no recovery path. Ever. But there was more. The bugs were stacking: critical   TCP failures were environmental: listener ...

From Concept to Bench - Designing a Flipper-compatible nRF24L01 RF Module for Security Research

Six months of design iterations, sourcing headaches, and a broken oscilloscope later — I am pleased to share a hardware module I designed to extend the Flipper ecosystem for RF security research. This write-up covers the motivation, engineering challenges, capabilities, and responsible-disclosure principles behind the project — and a frank look at a vulnerability that is very much alive in the Maldives today. Why I Built It The trigger was reading the original MouseJack disclosure by Bastille Networks. It made me realize that a class of peripherals most people assume to be harmless — the cheap wireless mouse on your desk — can be weaponized from a car park. I wanted a research platform small enough to carry in a jacket pocket, native to the Flipper Zero ecosystem, and capable of passive scanning, protocol analysis, and controlled lab tests. What I did not want was to rediscover a ten-year-old bug; I wanted to understand it deeply enough to help organizations here in the Mal...

How to setup 2FA On Linux SSH Login

  This is a simple setup guide to enabling Two Factor Authentication (2FA) on Linux SSH login. I this article I wont go deep into setup and issues that I have faced when implementing this. First thing is first Update your system first. I have used Ubuntu 20.04 and it is always up to date. To enable 2FA you need to install google authenticator modules sudo apt install libpam-google-authenticator Configuration for PAM and SSHD Add the the following line to /etc/pam.d/sshd and After adding this line please restart the sshd services.  auth required pam_google_authenticator.so Go to /etc/ssh/sshd_config and check if the following line exist. Default value will be "no" so change it to "yes" to activate.  ChallengeResponseAuthentication yes Configuration for Authenticator In the terminal run google authenticator command It will ask few things to acknowledge by user. Details you can see from the below video. Once this part is done you are ready to use the 2FA in ubuntu. T...