(Partial) Reverse Engineering the NDP 2016 LED Wristband

Reading Time: 5 minutes

The Singapore National Day Parade (NDP 2016) happened on 9 August 2016 to celebrate its 51st birthday. For those who had the opportunity to attend the actual parade or its previews/rehearsals, they will also get to receive a funpack where one of the items will be a wearable LED band made by a company called Pixmob.


This band receives infrared(IR) signals from the organisers and then displays the LED colour of their choosing. There is also an onboard accelerometer. After the event when the IR signals disappear, the (single-axis I believe) accelerometer will cause the Red LED to light up when a shock is detected.

Here are the slides and the talk video on this subject I gave at Hackware v2.1.


Repair Kopitiam specialty electrical tools

Reading Time: 13 minutes

I’m part of this voluntary social initiative called Repair Kopitiam (RK) started by the social enterprise Sustainable Living Lab. On a monthly basis, we teach Singapore residents how to repair their household electrical appliances, fabrics and furniture. Our volunteers are called repair coaches. This initiative is similar to Repair Cafes which originated in Europe. My area of speciality is of course in the electrical appliance department.

This post is however not about the intricate details of volunteering, it will be about the special electrical tools I have developed in the course of my volunteering in response to certain unique issues faced by the RK team.

A literally high-level view of the tools I developed.


Here are the slides and video of the talk I gave at Hackware v2.0 about these tools.

The problems


Installing Windows XP on a modern unsupported (Haswell) system in 2016

Reading Time: 13 minutes

(This is a long ~2900 words post, I recommend reading this from a tablet or computer)

Windows XP is the second-longest supported operating system (OS) in Microsoft’s history. Support by Microsoft finally ended on 8 April 2014 after a record-setting 12.5 years.  The number one rank is technically* held by Windows 1.0 at 16 years from 1985 to 2001.

*I say “technically” as that was when Microsoft finally declared Win 1.0 obsolete but I doubt Microsoft was updating Win 1.0 during its final years. This was unlike WinXP which was updated up to its final moments and even had an emergency patch after its support ended.

This page here also puts XP’s length of support in perspective with other Microsoft OSes.

Released in October 2001, it is almost 15 years old today.  I was only 11 years old when this OS was released so you can imagine I pretty much spent much of my teen years using XP machines other than Red Hat Linux of course.

Despite its age, XP continues to live on in embedded systems like ATMs, factory and medical machines where replacement costs and re-certification (timelines) makes them infeasible to be replaced in the near future. An extreme example is how the 23-year-old Windows 3.1 which crashed is still used in a French airport as of late last year.

The problem

I work in a startup called Algoaccess where we deal with medical devices specifically optician-related ones. Without going into too much detail, let’s just say we occasionally have to handle such older systems and test to make sure our product can work with them. This means we actually need a Windows XP installation for testing purposes. No, virtual machines like VirtualBox or VMWare will not cut it, we need a native installation for realistic testing.

My company could easily procure a machine of an older era with full Windows XP drivers. There are guides like this where people have used an older system to install WinXP in 2016.

But where is the fun in that? I saw this as an opportunity to determine if it is really possible to install WinXP on a much newer system.  It was also a good way to relive a bit of my childhood that way.

First thoughts? It shouldn’t be that hard right? I know drivers could be an issue but it shouldn’t be a show-stopper? Turns out things are not so easy to put WinXP on modern hardware.

The machine


A photo to show that I have successfully installed WinXP on this machine abet with lots of missing drivers.

A short video for “extra proof”

The target machine is a Lenovo Ideapad U330p which was manufactured in 25 July 2014.


Raspberry Pi 3 + UART/Bluetooth issues

Reading Time: 1 minute

The new Raspberry Pi 3 released on 29 Feb 2016 has issues with its UART port as the pinout GPIO 14/15 on the pin header is now based on a low throughput mini-UART which has baud rate problems.

To understand the issue better and know how to solve them you can see the talk I gave on this issue below. Both slides and the video are attached in this post. If you are intending to use the RPi3’s Bluetooth on Arch Linux ARM, I have my instructions in a Github gist here.

Happy playing with your Raspberry Pi 3!

The Engineers.SG page for my talk can be found here.


  1. BCM2835 datasheet: https://www.raspberrypi.org/wp-content/uploads/2012/02/BCM2835-ARM-Peripherals.pdf
  2. Original Github issue: https://github.com/raspberrypi/firmware/issues/553
  3. “enable_uart=1” explanation by RPi Foundation Engineer Phil Elwell https://github.com/raspberrypi/firmware/issues/553#issuecomment-199486644
  4. UART DT overlays: http://www.briandorey.com/post/Raspberry-Pi-3-UART-Boot-Overlay-Part-Two
  5. Detailed DT overlays: https://github.com/raspberrypi/linux/blob/rpi-4.1.y/arch/arm/boot/dts/overlays/README
  6. Arch Linux ARM Bluetooth forum issue thread: https://archlinuxarm.org/forum/viewtopic.php?f=65&t=9961
  7. My instructions to enable Arch Linux Bluetooth: https://gist.github.com/yeokm1/d6c3ca927919c61257cd


Eagle to DIY PCB Etching

Reading Time: 7 minutes

I design Printed Circuit Boards (PCBs) as my part of my job. I also have some PCB projects outside of work with my most famous project among my peers being my PCB name card.

A major problem PCB designers like myself face is time and cost. It takes about 2 weeks (1 week if you can afford to pay much more) between the time I send a PCB design (Gerber) file to a fabricator in China to the time I receive the boards. This wait time is frustrating as my work will stall till the boards come back and I can test them. There is also a minimum order quantity of 5-10 pieces which most of the time I rarely need during the prototyping process, 1 or 2 is usually more than enough. All these including the delivery costs add up to a hefty sum as one typically has to design a few iterations before getting it right.

Is there a better way?

A friend of mine Leon Lim introduced his technique of custom PCB etching to the maker community in Singapore for quite some time now. He uses the toner transfer method, heat press and chemical etching to remove unused copper. The process is detailed by him in 2 blog posts here followed by drilling here. This whole process can be completed within 1 work day which can help speed up the number of prototype iterations before sending for mass production.

I tried out this process including screen printing on my own name card as you can see below.


The only information missing is how does one generate the relevant image files for etching from your Electronic Design Automation (EDA) software aka PCB Design Software.

This is where this blog post will come in using the Eagle software as an example.


Pulau Semakau trip

Reading Time: 6 minutes

It is not everyday that one is like a tourist in our own country. I went on a trip with my fellow Repair Kopitiam coaches and others for a practically once-in-a-lifetime experience to Pulau Semakau, an island located 8km south of the mainland. It is affectionately known as a landfill island, where our incinerated trash gets sent.

Who would have known the cleanest public area in Singapore is the landfill itself!!! What a revelation! Our guide boasted that there are no cockroaches and other pests cos there is nothing left for them to consume. I also learned that the landfill island is actually a reclaimed combination of the original Pulau Semakau and Pulau Sakeng.

Costing some SG$600 million to reclaim and build in 1990s dollars, it is probably one of the most expensive projects undertaken by the government that are outside of the public eye and concern.


A view of the outside of the main administration building and the bus that will take us on the tour.


Recap of 2015 and plans for 2016

Reading Time: 4 minutes

2015 has ended and 2016 has just begun, so a new first post of 2016 to mark this moment.


PCB Business/Name Card

Reading Time: 6 minutes

I can’t count how many times I have received business cards only for me to forget about them shortly afterwards. I’m sure I’m not the only one that feel this way when you get a card from someone. For the technical-oriented, you can go directly to my Github link on this project.

Lets jump right into business. Here is my card:

(As with all pictures in this post, you can click to view the higher resolution versions of them.)


Front and back view of my business card as of Revision 7. All versions before Revision 6 are considered to be prototypes. The revision number can be found between the two battery holders.

Other than the colours, both name cards have similar features although I will explain the differences later. I shall hereby call them Young Blue and Formal Black indicating the target “market” in which I will pass my card too.

Slides for the talk I gave about this card in Hackware v1.5.

Video of the same Hackware v1.5 talk. Have to admit I was a little too excited.

Hope this has sufficiently piqued your interest to read further!