Windows for Workgroups 3.11 on vintage and modern hardware in 2016

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

Windows for Workgroups 3.11 (WFW3.11) was an operating system (OS) released by Microsoft in August 1993 and ended support in December 2001. It is part of a series of OSes released by Microsoft at that time so it is common for people to refer to it as part of Windows 3.1x (Win3.1). The specific history behind its name and version number and be found on its Wikipedia article. Here is a brief list of first-impressions I have if I were to describe this OS.

  1. First Windows OS to have practical (installable) networking capabilities
  2. Last one to not have a Start Menu and legacy interface before Windows 95
  3. Last OS to require DOS as an initial install
  4. Last 16-bit OS

wfw-first

Here is a teaser screenshot showing that I managed to get WFW3.11 installed on a “modern” 2009 Thinkpad T400 with networking capabilities. Recognise some familiar applications there?

My talk on this subject

I gave a talk on this project at Hackware v2.2 on 7 September. Here are the slides and video.

Demo video

About 8 minutes of video for the vintage computing buffs. This shows the results of my work.

Why install WFW3.11?

(more…)

(Partial) Reverse Engineering the NDP 2016 LED Wristband

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.

ndp2016-re-wristband

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.

(more…)

Repair Kopitiam specialty electrical tools

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.

rk-equip-equipment-overview-small

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

The problems

(more…)

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

(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

modernxp-front

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.

(more…)

Raspberry Pi 3 + UART/Bluetooth issues

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.

References

  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

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.

etching-name-card-with-screen-print

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.

(more…)

Pulau Semakau trip

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.

admin-building

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

(more…)

Recap of 2015 and plans for 2016

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

(more…)

PCB Business/Name Card

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.)

pcb-name-card-main-resized

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!

(more…)

My hopes for Singapore politics

By now we should all know the poorer performance of the opposition this time round in GE2015 so I shall not harp on it already. I wrote a pro-PAP essay in an NUS module one year back just to go against the grain and my tutor even sent a personal message to say I did very well. I never actually expected how true my entire essay turned out to be. Anyway, I would like say here my hopes for the PAP government and the opposition parties. This is also the first election I’m voting in.

(more…)