• Designing an ESP32-based RGB Matrix Driver and Making 500 of Them!

    BlinkenLights! Blinkenlights PCB At the end of last year Fede Heinz, a colleague of mine at Google reached out for a collaboration on his Blinkenlights project, to build a web-connected LED matrix driver for his team of about 500 people. It took about 4 months, but the hardware design part...
  • Designing with USB-C: Lessons Learned

    My first USB-C design! Disclosure: JLCPCB sponsors some of my projects, but I would never recommend something that I wouldn’t otherwise. Their SMT Assembly service I believe is unique in the industry, and is great for hobbyists who need high quality assembled prototypes for cheap, without having to deal with...
  • Building an ESP32 Light Controller

    The victim In this post I am going to do a deep dive into the electronics design for my simulated sunrise/sunset aquarium light project. If you have not read that post, I recommend starting with that. Disclosure: JLCPCB is sponsoring my projects, but I had already been a big fan...
  • Oscilloscope Current Measurement on the Cheap

    I have been spending a lot of time working on microcontroller power optimisation recently, and not having a current probe for my oscilloscope has been quite inconvenient. Working with current optimisation without a current probe is like designing a circuit without an oscilloscope – shooting in the dark. Can I...
  • Simulating Sunrise/Sunset For My Aquarium

    Why? This is what I started with: Original setup. The green tint is due to tannin build-up, which I have since decided to filter out. It’s… fine, but the lighting left a lot to be desired. Lighting is not just aesthetic – those are real plants, and plants require light...
  • Building a Bamboo Planter (aka My Neighbours' Cats' Toilet)

    BlinkenLights! I live in a huge apartment block on the ground floor with a private garden facing a large communal garden. The view is nice, but the lack of privacy bothers me, so I have taken to growing bamboo to make a living privacy screen. I don’t want to use...
  • Silicone Casting with 3D Printed Moulds

    First prototype, designed by my friend Forest in Blender. The tutorial will take us through the second design and attempt. Why? Silicone can be used to make all sorts of things, but perhaps the most popular application is sex toys. There are huge variations in personal preferences, and if you...
  • Using KiCad with JLCPCB Assembly Service

    TLDR: Click here. A Bit of History I remember when I first started making PCBs in ~2010, our low spec (8 mil min traces / 8 mil min spacing) 2-layer boards costed $133 for 4 copies. Special academic pricing. There were services like Sparkfun’s BatchPCB and OSH Park that were...
  • Designing a 13A Arduino Motor Shield

    I am currently working on a tensile strength testing rig that will be detailed in a future post, but as part of that project, I need an Arduino shield that can drive a 12V/13A linear actuator. Electrically speaking, linear actuators are just DC motors. However, because I need to be...
  • Video Editing on Linux - Action Cam SCUBA Diving Videos

    I wouldn’t call myself a photographer or videographer, but I do have an action cam (Sony FDR-X3000), and often document my adventures with it. You can see some of my videos on my YouTube channel if you are so inclined (and I’d be honoured!) – it’s mostly flying, gliding, and...
  • UnnaturalLight – Part 2: Electrical Design

    Blinking a few LEDs… how hard can it be? As it turned out, harder than I thought it would be! As the LEDs draw about 1W each, and I am using 48 per lamp, thermal management is the main challenge. The desired function is simple enough – a controller that...
  • UnnaturalLight - Part 1: Mechanical / Optical Design

    Lamps come in all sorts of shapes and sizes. For this first design, I wanted something relatively simple and small, but easily scalable to larger designs later if necessary. What I settled on is a rectangular desk lamp made out of acrylic panels, with LED chips, mounted on a custom...
  • UnnaturalLight - Adjustable Colour Temperature Lighting

    Welcome to the first post of the blog series on Project UnnaturalLight, an LED lamp with adjustable colour temperature. Many Shades of White The sun changes colour throughout the day, as observed from a fixed point on Earth. In the morning, it looks orange/red, and as the day goes on,...
  • DIY Computer Case - Acrylic and LASER!!

    Rumour had it that one of the big Internet companies decommissioned and sold a bunch of their dual-socket servers at the end of 2015, and sent the second hand prices of some really nice Xeons plummeting to 10-20% the prices they were going for before. I didn’t hear about this...
  • Controlling Big Things with Small Things

    Welcome to the first tutorial post! It’s a topic many people have asked me about, so I thought why not make it into a tutorial? It’s something I’ve spent a lot of time learning the hard way, and in the end, it’s actually pretty simple! It’s about switching loads. We...
  • Acrylic Mirror

    Most modern mirrors are made out of one of two materials – silvered glass or mirror acrylic. They are constructed similarly – silver backing applied to one side of a transparent material (either glass or acrylic). Light enters through the transparent material, and gets reflected back by the silver backing....
  • Hello!

    The only difference between screwing around and science is writing it down. – Alex Jason to Adam Savage This blog turns my screwing around into science! I used to be a professional electronics/embedded engineer, and now work as a machine learning research engineer. But this blog is not about that....