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.


  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.


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

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

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


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


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!


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.


How I will “fix” the opposition wards after the election if I’m the PAP government?

This is meant to be satire and obviously does not represent what I desire to happen and I hope all these will never happen. I’m personally partial to the opposition. Just that I had these random thoughts and I had the urge to pen them down. I saved the best point for the last (11th point) about the Population White Paper.


Thoughts on SG50 Jubilee weekend & 3D Printer National Anthem

Let me start this post with my 3D-printers’ rendition of the Singapore’s National Anthem. Happy 50th Birthday Singapore!

(You may need to turn up the volume to hear.)

If you are curious how this is done, check out this and this.

So now on to my thoughts for the SG50 Jubilee weekend.


Graduation, Uni story arcs and thanks

(Long post warning: 2.5k words)

This post is 2 weeks late as I was rather busy during this period. Anyways, as this will be the last post I will have about Uni life, thought would like to thank a few key people and describe the 5 story arcs that has greatly defined my time in Uni.

The mandatory first picture is of course this one lah.

commencement main

Just collect the dummy scroll simply with no fuss. Unlike the few from the Information Systems Department who pulled selfies on the stage.


Introduction to Bluetooth Low Energy

Having just given this Intro to Bluetooth Low Energy (BLE) talk 3 times already, I thought I would like to gather all the videos and links so far into this blog post for future reference.

These 2 BLE talks are seriously the most complex presentations I have undertaken to date. I covered

4 hardware platforms: Arduino, Raspberry Pi, Android, iOS

4 programming languages: C, Javascript, Java and Swift

On top of that I had to restart my computer in the middle of a presentation to showcase the packet sniffer.

My slides on Slideshare. Link to the source code and powerpoint file. https://github.com/yeokm1/intro-to-ble 

Part 1 of my talk at Hackware v0.7 (13 May 2015). This covers the basic concepts of BLE plus code and live demos on Arduino and Android.