Sound visualisation

This visualisation of Debussy’s “Clair de Lune” is too beautiful not to share. The music and visuals create an experience akin to synesthesia. The music evokes one’s sense of proprioception of space via the moving shapes and colours. The author of this work is Stephen Malinowski, and it was done in 2011. Here’s another one by Malinowski as well, based on Stravinsky’s “Rite of Spring”.

Pacman arcade game for Maker Faire Rome – the making of

Pacman set up
Pacman set up

I had the good fortune to work on a really fun project for the Maker Faire Rome as part of my freelance stint with Metalworks by Maxus, the creative technology R&D arm of the media buy company. So I would like to share a bit on what went on behind this project.

The brief given to me by my client was to make a multi-player Pacman game. It would be fun for audiences to play with at the Faire and a tribute to one of the most successful arcade games of all time. It would also be a good maker showcase of how open source technologies can be used to create your own arcade game.

For the map design of the game, a Pacman Google doodle was used as a reference. I used sounds from the original 1980 game which I managed to find on the Internet.

Screen shot 2013-09-08 at AM 11.43.44

I worked with a graphic designer for this project. He was based in India while I was based in Singapore. He provided me with the map graphic as well as the sprites. He called the sprites “Blinky” (the one-eyed ghost) and “Pacmax” (portmanteau for Pacman Maxus). The font selected was “Optimus Prime”, a sci-fi font found online. The bonus cherry was replaced by a Maxus logo. Below is the character design sheet showing the graphics used for the movement animation.


I used Processing to code the game. Processing is an open source programming language based on Java. It was designed to make it easy for artists and creative hobbyists to code their own interactive projects. Processing is maintained by a huge community of volunteers and the forums were really helpful whenever I needed to find some information. After coding the game in Processing, I then exported it as an application. Here is a screenshot of what the Processing interface looks like.

Screen Shot 2013-09-16 at 12.01.17 PM

I designed the map based on a tile system. There are 59 tiles by 20 tiles and you can see the grid system below.


For some of the game logic, I referred to an article online that analysed the logic behind the original 1980 game. The game logic for this Maxus version of Pacman is quite simple once I had the tilemap system in place. The whole game was coded in about 1000 lines of code and took me about a month working on it full time. I designed the map on a piece of graph paper using a pencil and eraser before translating it into code.

Photo 23

Here are some screenshots from the game.

This slideshow requires JavaScript.

As for the hardware, my client found these huge arcade buttons that looked inviting to play with. I hooked them up to an Arduino micro-controller. Arduino is the hardware “companion” to Processing. Just like Processing, its intention is to also help artists and designers realise their ideas in hardware, and is an open source effort maintained by a vast online community. Its programming interface is designed to be very similar to Processing and the two can be used compatibly.

The circuit is a simple one involving eight button switches. I first made sure the circuit was working using a breadboard and jumper wires.

Photo 21

I then started soldering the circuit onto an Arduino Protoshield, essentially a perforated board designed specially for the Arduino, but not before translating the breadboard circuit into a soldered circuit on a piece of paper.

Photo 18

I had to use a “third hand” to help hold the shield while I used both my hands to solder.

Photo 17

I used ribbon wire for all my wires. The colours helped me to identify the wires and its form factor is neat and compact.

Photo 26

My colleague helped me to drill some holes into a plastic office tray holder for me to insert the buttons. We literally hacked office stationery to make our arcade controllers!

Photo 29

I wanted to 3D print a casing for the Arduino but I was running out of time. So I bought a cardboard box to house the Arduino and added an “insert coin” button to it.

Photo 6 Photo 9

Here is my messy workstation at the Maxus Singapore office.

Photo 13

Here are some photos showing how the hardware progressed during the course of a week.

Photo 24 Photo 15 Photo 5

I enjoyed making this Pacman arcade game, and through this experience I have learnt some new cool tricks with Processing and Arduino. I also have to thank my colleagues in Metalworks for their help and support, in no particular order – Harish, Upesh, Mithru, Rollen, Adam, Tom and Nico. Harish was the coordinator for this project in India. Upesh was the graphic designer based in India. Adam helped me with sourcing the sound files. Mithru helped me with technical implementation. Rollen gave me useful tips about programming and moral support. Tom and Nico helped supervise and direct the project.

That’s all folks! Thanks for reading.

‘Fluid Vase’ by Kwok Pan Fung

Beautiful example of how code can be realised in the physical world through 3D printing. This vase takes the form of a 3D freeze  of water in motion captured in a split-second time frame.

Description from Vimeo:-

Fluid Vase – Action becomes Object from Kwok Pan Fung on Vimeo.

Launch of Fluid Vase at

Action becomes object. The process of pouring water into the vase becomes the vase itself.

Through the web interface, the user can influence and observe the formation of the Fluid Vase. Any part of the action can be frozen in time, from which the physical object is produced on demand with cutting edge 3D printing technologies.

Supabold is about the experimental. We are about breaking boundaries, taking on generative design and mass customization as a serious pursuit.

My first hackathon

Had the opportunity to take part in a hackathon – my first to be exact. The hackathon was about gathering software developers, creatives, UX/graphic designers or anyone interested to make a mobile game app. The client is Coca-Cola and the creative brief was to put across the message that a can of coke classic only contains 139 Cal, which is 7% of your daily Cal intake. This is to dispel the notion that a can of coke is grossly high in Cal.

The event was held over last weekend at the offices of the organiser, the BBH MakerLab. BBH stands for Bartle Bogle Hegarty, an established advertising firm whose logo is a black sheep. You can see a sculpture of a black sheep below at their building. The idea behind their logo is the motto that when all the white sheep “zig”, the lone black sheep will “zag”. The idea is to be individually unique and go against the mainstream in the creative process. Black-coloured sheep are extremely rare and is caused by a recessive gene.


We used an experimental IDE or a software development platform called “Gamology” by Gingee Games (an Israeli company). The platform allowed us to quickly prototype a mobile phone app that can be immediately deployed onto a phone. No need to know any programming languages, just drag and drop interfaces and media assets. It helped that the CEO and lead programmer of Gingee Games were here personally and helped us to familiarise ourselves with the platform and trouble-shoot any problems.


I took part with a friend. Although we didn’t win, I think the judges got excited about our idea. We came up with an idea to use augmented reality markers in supermarkets as part of a game to allow users to collect information about Cal of different food products, including a Coke can. The markers would be read by the mobile phone camera and the data processed by our app called “Calorie Coke Counter”. The brief is here and our presentation slides are here.


It was a great learning experience although I didn’t have time last weekend to do much else. I enjoyed the creative process and working in an environment with other creative minds. The organisers were really friendly and helpful and one of the judges gave really good feedback. I knew some of the other participants and 4 out of the 9 teams were students or alumni from LASALLE. In fact, the winning team were my ex-classmates from LASALLE! I’m glad my first hackathon was an enjoyable and memorable one.

My first foray into 3D printing

I am freelancing on a project that is about making a vending machine work. The machine dispenses drink samples of a nutrition brand product. My team lost one of the dispensing trays for one of the machines, so we decided to 3D print a copy of an existing one which looks like this.


For this job, the office had a Makerbot Replicator 2, a low-end printer that cost about USD2000. It can print small objects using a plastic material called PLA that comes in a reel. It comes in different colours but each object can only be printed in one colour because the printer only has one nozzle.


Here is a close up of the printing tray. It is about 20 cm by 15cm and I had to make my tray slightly smaller to fit into the printing area. The blue surface is painter’s tape, and it is stuck onto the glass plate to prevent the object from sticking onto the glass, so that it can be peeled off easily once it’s printed.


I spent about a day learning how to use Tinkercad, a 3D sketching programme that runs on a web browser. I like the user interface which is intuitive and friendly to use. You can also download 3D models from the Thingiverse, an open source library online that is user-contributed. Below are my sketches as seen in Tinkercad. I downloaded the sketches as .stl files and sent it to the Makerware slicing software to convert it to a sliced model for the Makerbot in .x3g format.

Screen shot 2013-09-05 at PM 03.55.04 Screen shot 2013-09-05 at PM 03.54.17

The first version of the cover. I had problems removing the rafts. In fact, I sustained minor cuts on my hands trying to remove it. I could only remove like 60% of it, so I decided to re-print it using different settings for the rafts.


I ran out of green PLA, so I used translucent white instead. The second version of the cover didn’t work also. The problem this time was that I had problems removing the supports from the flip side of the cover, since I tried printing it from on the opposite side instead.


The third and final version. I printed it with the top of the cover facing downwards. The rafts were easier to remove compared to the first version although I managed to remove only about 95% of it. There are still stray bits of rafts sticking onto the top surface and I decided to live with it rather than risk injuring myself trying to remove it with brute strength.


On the other hand, the bottom part of the tray printed well with no problems. The rafts came off easily and the surface is acceptably smooth. You can see how the raft is still intact after removal.



Here is the final product. I still could not remove 5% of the rafts from the cover. But it will do.

complete1 complete2


In conclusion, I would say that 3D printing is not as easy as it seems. The main challenge was with removing rafts and support material. And I also encountered other problems like not leveling the build plate and not feeding the nozzle properly because I was unfamiliar with the machine. But in the end, I was proud that I managed to print out something useful.

3D Audio Android App

3dsound_1 3dsound_2

I met Ted Chen and Phyo Ko Ko at the Singapore Mini-Maker Faire last week. They are behind this really cool Android app called “3D Audio” that allows you to listen to your music in 3D mode. You can control where you want your stereo sound to come from, two sound channels for left and right audio. I love the interface design which is simple and intuitive and attractive at the same time. Ko Ko was telling me he coded the interface from scratch and it took three months to code! This is because the design layout is customised. I downloaded and tried out the app and it works excellently. Kudos to the two of them. They are part of this spin-off company from the Nanyang Technological University called Immersive Soundscape. You can search for the app on the Android store by typing “dsp 3d audio”. The app is called “3D Audio Demo” by Immersive Soundscape. Go on, try it and be amazed!

Arduino workshop on 3-4 Aug

Had the great opportunity to attend a weekend crash course on Arduino. Since I was already familiar with Arduino, it was more of a refresher course for me and I got to meet other makers and DIY enthusiasts. It was hosted by David Goomba, the guy in the Arduino company in charge of workshops. I paid about $300 for it and it was very worth it. The workshop came with a fantastic starter kit with a guidebook, the Ardunio Uno and lots of electronics components for the projects in the guidebook. I had the opportunity to play with sensors and components I have never touched before, such as the tilt sensor and LCD panel.

Continue reading “Arduino workshop on 3-4 Aug”

The Singapore Mini-Maker Faire 2013

This was the second year of the event held on the last weekend of July. While I was a visitor last year, I became a participant this year with my own maker booth entitled “Hobby Electronic Light Gadgets” where I displayed some of my DIY light gadgets. It was held at the Scape Warehouse.


This is my booth set-up. It was fun talking to people and explaining my exhibits. My booth wasn’t very popular though, which is fine. One young kid, around 3 or 4 years old, threw my arc reactor to the floor and I had to bring it home and repair it. Gah.


I love Iron man and he appeared! Together with War Machine and a mini-Iron man.


This is me trying out a $200 Jedi light saber. You can actually whack something with this sword since it has a shock resistant casing. Yup, you can actually spar with another “Jedi” with this toy. Really cool stuff. You can check out their website.


I was really impressed by this booth which is by Shapeways. You can use their 3D printing services to 3D print high resolution, coloured objects made of metal, ceramic, etc. The technology is amazing. Their booth showcased jewelry and all sorts of highly detailed sculptures.


I also really enjoyed this booth which showed props from anime or manga, made by a product design student from NTU. Really a labour of love. I was impressed at how they were made, using laser cutting and layering the cuts together.


This booth featured concept art spaceships which are the kind of models that movie makers would use to design the movie spaceships on the screen. Think Star Wars. These models are based on recycled plastic water bottles and other stuff found around the house. The maker of this booth was lamenting to me how kids nowadays have lost the interest to make their own toys or make stuff in general. Sad but true I guess.


And finally, the highlight of the maker faire for me was the chance to hear a talk given by Andrew “Bunnie” Huang, a cult figure in the maker community here. He is a brilliant hardware guy with a PhD from MIT. He makes his own ICs and circuits and has a number of start-ups under his belt. He gave a presentation explaining why Singapore is better than Silicon Valley for hardware start-ups. I heard a lot of good things about Singapore coming from him which made me happy.