Skip to main content


3D-Printed Electronic Drum Pads (Drum triggers)

Source files available in GitHub:

Inspired by a 3D printed drum pad by Frank Piesik, I decided to make my own 3D printed drum pads. I have an old cheap Medeli DD402 electronic drum kit lying around and not used for quite a while because of some faulty piezo-electric sensors that I was too lazy to replace. So instead of fixing the those faulty noisy rubber drumpads, I thought to replace it with a 3D-printed mesh head drum trigger.

I have made up my mind from the beginning that I will replace every rubber drum pad of my Medeli drum kit with a 3D printed one. This meant that I had to print 4 drum pads and that I have 4 chances/opportunities of improving the design. I did it in a Agile/ Iterative way and also in a modular design so that I do not have to re-print the whole thing if I decide to change the design in the following iterations. I only need to re-print the specific parts that was affected by the new design.

Iteration 1

I took the design of …
Recent posts

Building a 3D Printer and My 3D Printing Adventure

I can't believe it was almost 10 years ago since I first heard about the RepRap project. It is an open source hardware project aims at building a self-replicating 3D printer. The concept of open source mechanical hardware was new at the time. I badly wanted to have one but I could not afford it. The kit was so expensive at the time. If I remember it right, the kit was being sold for 4,000 USD. It was way beyond my ability to afford. It's the price of a second hand car. After all, I was making only a few thousands pesos (Php) at the time.

Two weeks ago, while I was checking for the status of my online purchases at AliExpress, an advertisement came up about a 3D printer called Delta. It caught my attention so I clicked the ad which leads me to a product on sale about a something called Kossel Delta 3D printer. It looks familiar, it looks like a RepRap design but it's different. There is no Cartesian rods, instead, it has a triangular frame wherein three stepper motors are dr…

Raspberry Pi Hadoop Cluster

I am currently in the process of learning Hadoop architecture, administration and the MapReduce programming model. I started reading about Hadoop and took free online courses but there is something missing. I wanted to try out what I read or what I was told on those training. In some exercises in the training a VM was used as a single node Hadoop server. But for me it doesn’t make sense, so I tried out setting up more VM and configured them into a Hadoop cluster. But still the experience was not very satisfying because it lacks the touch of the hardware. I wasn’t really running a cluster but simply just a bunch of virtual machines connected together in a virtual network. So I thought “How about I build a cluster of cheap computers.” In fact, that’s what Hadoop was designed for, to run on a cluster of commodity hardware. I tried googling around about cheap cluster computer and found a few blogs and videos about guys who ran MPI and Hadoop on a mini cluster of Raspberry Pi boards. So I …

Smart Socket : A small step to "Internet of Things"

It was a long weekend and I did not have anything planned. I was on a "couch potato" mode watching 4 movies in a row. It was very unproductive and I was just sitting upright in my bed with a pitcher of water and a sack of chips when the sun sets and it got dark. I needed to turn on the lights in the living room and few lights in the kitchen but i didn't want to stand up. I wished I could just do that with an app on my phone. So after finishing the 4th movie. I jumped into my computer and started searching about such ideas. The first interesting thing that i found was the Wemo, a home automation product by Belkin. They featured a product that is very similar to what I need. They feature of main socket that can be turned ON and OFF from the internet. I then encountered the phrase "Internet of Things" which refers to the technology behind internet connected devices. They are not limited to home but are also getting attention from factories and manufa…

Back to Blogging

It has been almost three years since the last time I created a blog article and more than four years since I've written an interesting one. I blame Facebook for this. So many things happened to my life. I changed and learned a lot. 

Four years ago, while I was living in Manila, my company sent me to the United Kingdom. It was one of the memorable experience of that chapter of my life. I learned about so many things. So many to mention here but to cut it short. It had opened my eyes to more possibilities and opportunities. I lived in Manchester City for almost 2 months and went for weekend strolls to London, England and Edinburgh, Scotland. It was an amazing experience for a young man from a poor tropical country in Asia who has never left the country before.

I met new friends and shared the experience. I really cherish those moments. The experience has also inspired me to work harder and dream bigger.

A year after the trip, I decided to quit my job to move to Singapore for a better o…

Solution : Maxlines Property in Silverlight TextBox

I have had this requirement since last week about putting a limit on the number of lines you can write in a multiline (AcceptsReturn=true) TextBox in Silverlight 4 and was disappointed to know that there is currently no way you do it like in WPF. In WPF, the TextBox control has an integer property called MaxLines which you can set to limit the number of lines. In Silverlight, there seems to be no way because you wouldn’t possibly know when or where in the string a word wrap split has occurred. It would be simple if you are using a fixed-width font like Courier/CourierNew because you can simply count the number of characters that would fit in one line, but in my case, its Comic Sans. The client insisted that they wanted this feature so I decided to write my own logic to simulate the word wrap algorithm used in Silverlight TextBoxes. Below is the result of what I did. The object below is a Silverlight textbox with MaxLines property set to 6.What I did was I extended the SilverlightTextB…

Timer for Android – Make a TextView Blink

I am pretty sure some of you may been through the same problem where you needed a simple periodic timer for your Android app. You may use java.util.Timer but this is not a good choice as this timer creates a new thread for some reason and you don’t want to invoke multiple threads in your mobile app. So I created this simple timer that makes use of the android.os.Handler class. Below is the source code of the Timer for android. Sorry for the formatting and naming convention. I’m used to the C# conventions.package;
import android.os.Handler;

public class Timer {
private int _interval;
public int getInterval() { return _interval; }
public void setInterval(int delay) { _interval = delay; }
private Handler handler;
private Runnable _tickHandler;
private Runnable delegate;
private boolean ticking;
public boolean getIsTicking(){ return ticking; }

public Timer(int interval)
_interval = interval;
handler = new Handler();

public Timer(int interval, Runnable onTickHandler)
_interval = i…