Self-Balancing Robot

The following is a computer vision project for a class in Human Computer Interaction. The task was to create an autonomous moving vehicle that finds the center of a projected light source, built exclusively from laser-cut parts and some given electronics.

I decided to create a self balancing robot because it’s more agile than a device with more wheels and for the extra challenge that comes with it. It took a lot of iterations before I had a working prototype, especially because of gears and weight optimisations.

First Prototype

My initial design was basically a shelf on wheels. Because only laser-cut parts were allowed, the wheels are just multiple acrylic circles. The top level of the shelf held a battery and the light sensors, below that was an Arduino Nano. On the bottom layer was a breadboard with an H-bridge on it (for controlling the DCs).

Self Balancing Robot Prototype Self Balancing Robot Prototype

In all my prototypes the balancing magic is done using an ultra sonic sensor. It detects the distance to the ground and can calculate the tilt angle using that information. Surprisingly, this worked out quite well. Usually people use a gyroscope for balancing things, but I had this sonar lying around and wanted to play with it.

Last Prototype

Unfortunately the above robot had a few flaws. It wasn’t able to balance itself because the DC motors didn’t output enough power. Friction between the gears and not enough transmission resulted in barely spinning wheels at all (without any load).

Self Balancing Robot Sketches

I needed to come up with a new robot that has significantly less weight, smoother axis and improved transmission. I came up with the sketch above, it has some more gearing and gets rid of the layers (shelf look). I also removed the breadboards and used thinner acrylic to make it more lightweight.

Self Balancing Robot Prototype Self Balancing Robot Prototype

This robot didn’t only look fancy, it was also able to balance itself! Although it couldn’t tolerate a lot of distortion because of the weak motors, it was my final version (just in time for the contest).


We actually had a competition for all the projects that my fellow students created for this class, you can have a look at the different approaches in this short video. Everyone had a ton of fun and as usual, there wasn’t any robot that didn’t had some weird issues. Anyway, my version won me an engraved mango for being the most exotic design, jay!

Self Balancing Robot Battle Self Balancing Robot Battle

If you want to learn more, you can find some images, wiring details and code on the project site on

3D printed catapult

As part of my ongoing lecture about Human Computer Interaction, I got the assignment to shoot a small metal ball as far as possible – with a 3D printed thing.

That sounds like an easy thing to do right? Right, if there weren’t these specifications:

  • No additional materials allowed (printed plastic only)
  • Magazine holding at least 3 shots (metal balls)
  • Next shot loads automatically
  • Trigger may be operated with a stylus
  • Object stands & deals with the recoil itself
  • Dimensions of max. 5cm x 5cm x 5cm
  • Using max. 3cm³ of material


Every team only has one chance to get it right. No prototyping iterations possible – the submitted model will be printed once and used for the competition.

Keeping in mind that all parts of the ‘thing’ will be made out of plastic, a catapult with a bendable arm (orange object in the center) seems like the best approach.

Catapult 3D Model CAD

You’ll find quite a few flexible lever / spring objects that create tension (brown in the render above). The ones in the front create some pressure against the trigger mechanism, the ones in the back are there to control the shot reloading.

When the catapult arm bends down, it will also toggle the shot reloading and one ball will roll onto the arm. The long blue bar at the very right will hold the arm in place until someone triggers the shot. The trigger mechanism can be operated by pushing a stylus or pen into the hole of the orange object in the front-right corner.

3D Model

Although I have barely used any 3D modeling software before (SketchUp years ago), I was able to create the object above with Tinkercad in just a few hours. It looks really messy, but that’s due to the tough space limitation. You may want to check out the real STL model in 3D to get an idea of what’s going on there.

Catapult Tinkercad Editor

Phyisical Object

(not printed yet, come back next friday)

If you want to play with the model, feel free to copy it directly from Tinkercad:

ReMerchant – Apps World Hackathon

The Apps World came all the way to Berlin this week, so I decided to check it out and was happily surprised that there was a hackathon ongoing when I arrived! Of course I joined, together with my fellow student Jonas Pohlamnn. Spoiler: great success!

ReMerchant App Photo

The Albert device

One of the sponsors was Wincor Nixdorf – the company behind the Albert, an Interactive Multifunctional Payment Device that runs Android (see above image). You can imagine a lot of retail stores having these devices in the future – we created an app for the albert that customers and sellers will benefit from.

The ReMerchant app

ReMerchant allows you to track and identify customers in stores using nothing but the Albert device. It uses Bluetooth and assigns the unique addresses to customers. When a device comes in range of the Albert, it can detect the associated customer.

Knowing which customers are near by is a huge thing for stores. Store owners can prepare items based on the last purchases of that user, they can track in which other stores the customer has spent money and on which items, they can provide an overall more personal customer treatment. If you can’t imagine all the possible advantages of this, take a look at our presentation slides.

Winner Price Photo

The jury did see the potential of our prototype and rewarded us generously. As usual, the app is open-source and available on GitHub, feel free to check it out:

eBay Kleinanzeigen Estirator

I’ve spent the past 48 hours at the HPI Hackathon sponsored by eBay Kleinanzeigen and, but this time I organised the event together with 2 of my fellow students. Of course I couldn’t resist and hacked together a little app together with Jakob Frick, the so called Estirator!

Estimator App Photo

Estimate Prices!

The app will show you a bunch of eBay item listings, but only one at a time and without mentioning the price of that item. You now have to estimate a price for each item, just based on the photo and title.

After you have done that, the app will show you all the items that you have previously estimated – but this time it will tell you the real price.

But, what’s the point?

The estimated prices from each user are coming together in a cloud database hosted on the Google App Engine. It can generate a ranking of items that are currently available on eBay, sorted by how much under worth they are sold.

Advantage for users: After they have contributed to the database by estimating items, they can find super cheap offers within seconds.

Advantage for sellers: They can get an idea of how much customers are willing to spent for their products.

Advantage for eBay: Possible A/B testing for product photos and their influence on the customer.

The app is open-source and available on GitHub, feel free to check it out:

Materialized – Remote Control Collection

One of the things that make Android L awesome is the new Material Design. Of course the Remote Control Collection won’t miss out following new design guidelines – so I created the app from scratch and made sure it would fit well into the new Android environment.

New UX

I’ve completely redesigned the whole experience, not only the UI. Keeping the Google guidelines and lectures from my recent Human Computer Interaction class in mind, I changed the way users would need to interact with the app. For the first time ever, I took advantage of usability testing and used the feedback from communities, highly engaged users and testers to build an app that maintains it’s complex functionality while being super intuitive to use.

Remotes Devices

Comparison Over Time

Taking a look back to the first release of the app, which was in late 2012, the UI has changed quite a bit. Here’s a comparison of version 1.3 (Gingerbread), version 2.2 (ICS, Holo design) and version 3.2 (L, Material design).

UI comparison