Mon 25 February 2013

Desperate times

Desperate times1 call for desperate measures2:





1 late sunday afternoon, nearly dead battery and a charger cable broken in the worst possible spot: 2mm from the connector

2 perfboard, solder, ziptie, electrical tape and bit of wire


Wed 04 July 2012

r0ket as Universal Charger

Here’s another nice use case for the µc³ r0ket:

Since it features a build in 3.7V LiPo cell and a fitting charging controller the r0ket basically can be used to charge LiPo or LiIon single cell batteries found in phones, media players, cameras or even toy helicopters.

After I realized that I had forgot to charge my camera and didn’t bring a charger to the easterhegg either I was happy that I already had set up one of my r0kets for charging external batteries.

First you have to unplug the build in LiPo battery and attach the VCC (right) and Ground (middle) pins to the appropriate pins of the cell you want to charge. If the battery you are about to charge has a temperature sensor connect it to the leftmost pin on your r0ket. Otherwise connect the left and middle pins with a 10k resistor.

With the voltage l0dable you will even be able to monitor the charging progress.

WARNING: This setup is only meant for single cell LiIon or LiPo batteries. Bad things will start to happen, if you try to charge multiple cells in series. Also keep in mind that lithium cells can burn or even explode if not handled properly, so always be careful and don’t blame me if you fuck up your carpet.

charging a camera battery


Mon 04 June 2012

Easterhegg 2012 - Basel

Das Easterhegg Easterhegg im Congress Zentrum Basel ist gerade gestartet. Wir wohnen atomschlagsicher(?) drei Geschosse Tiefe in der Zivilschutzanlage neben.
im Congress Zentrum Basel ist gerade gestartet. Wir wohnen atomschlagsicher(?) drei Geschosse Tiefe in der Zivilschutzanlage neben.



Um den Nichtschweizern das Umtauschen von Euros in Franken zu ersparen gibt’s die schicken Matetaler für alle hegginternen Ausgaben:



Sat 08 October 2011

r0ket flashlight m0dule

Per request, here are some pictures of my micro-m0dule for the Chaos Communication Camp r0ket-badge:


torch is on

This is probably the simplest possible m0dule one can build. I only used left overs: A white smd-led, a smd-resistor, a little bit of perfboard and a few wires.


Sat 06 November 2010

G1 Upgrade for more RAM

After the new stable Cyanogenmod version was released last weekend i decided to also upgrade the radio and hboot to modified versions that free additional, much needed RAM. Here are a couple of notes I took in the process to help you decide if flashing the new radio-version is worth the risk of bricking your phone.

When I started the radio upgrade I already had install the latest stable version from Cyanogenmod (6.1) and the latest available AmonRa Recovery (v1.7.0).

The following screenshot shows the radio and hboot versions installed before the upgrade:


Available RAM before the upgrade:

~$ adb shell free
              total         used         free       shared      buffers
  Mem:        97884        96188         1696            0          148
 Swap:            0            0            0
Total:        97884        96188         1696


WARNING: Do not follow these instruction if you do not understand what happens in every single step. If you brick you phone, it is your own fault.

The whole upgrade process takes about 30 minutes.

  • Reboot to the bootloader (Power + Camera) in fastboot mode and flash the new radio & hboot with these commands:
fastboot flash radio radio-
fastboot flash hboot hboot-1.33.0013d.img
fastboot reboot-bootloader
  • Erase the old system and boot partitons:
fastboot erase system -w
fastboot erase boot
  • Reboot to recovery (Power + Home) and restore the nandroid backup you created before
  • Install pershoot’s kernel via recovery
  • Reboot
  • Done



After the Upgrade ~14Mb of additional RAM should be available:

~$ adb shell free
              total         used         free       shared      buffers
  Mem:       112392       110448         1944            0          968
 Swap:        20224          652        19572
Total:       132616       111100        21516

The phone feels a bit faster and this is also reflected in the benchmark score:


As you can see, after the upgrade your G1 still won’t be able to compete with newer phones like the Nexus One or even the Desire Z. But it will probably run a bit smoother then before.

P.S: Suck it, Moto Droid!


Sun 21 March 2010

Ixus Remote Control Cable

The alternate CHDK firmware I am running on my Ixus 55 gives you the possibility to remote trigger the camera with a modified USB cable.

By attaching this cable to an Arduino board you can control your digital camera in all kinds of projects.

The aim

The camera should take pictures when the arduino “tells” it to do so. Since this is only a proof of concept right now, I will be using a button that is attached to the arduino as a trigger.

Basic layout

The button and the USB cable are wired up like this to the arduino:


The following code will make the arduino power the USB cable for 10ms when the button is pushed.



const int camPin =  13;    // USB pin 1 connected to digital pin 13
const int buttonPin = 7;   // vcc of button
static int pressed = 0;    // variable to remember button state
int buttonState = 0;       // initialize button state 

void setup()   {
  pinMode(camPin, OUTPUT);          // initialize camPin as output
  pinMode(buttonPin, INPUT);        // initialize buttonPin input
  digitalWrite(buttonPin, HIGH);    // set buttonPin to high 

void loop()
  buttonState = digitalRead(buttonPin);

  if (buttonState == LOW && pressed == 0) {		// as soon as the button is pressed
    pressed = 1;					// pressed state is set to "1".
							// This way the following commands will only executed once,
							// regardless how long the button is pressed.
    digitalWrite(camPin, HIGH);				// set camPin to high
    delay(100);                  			// wait for a 1/10 of a second	
    digitalWrite(camPin, LOW);    			// set the Cam off	

  if (pressed == 1 && buttonState == HIGH) {            // reset pressed state, as soon as the button is released
    pressed = 0;

The camera script

Now the camera has to take a photo as soon as the arduino powers up the USB port. This is archieved by activating the remote capabilities in the cameras CHDK menu at Main Menu > Miscellaneous Stuff > Remote Parameters > Enable Remote and loading this simple remote script.


Thu 04 March 2010

Easterhegg 2010

Nach zwei Tagen Vorbereitestress und 5 Minuten vor Beginn auf der Bühne fertig gestellten Folien hat der RepRap-Vortrag wie am Schnürchen geklappt.
Sogar der RepMan hat trotz massivem Gezicke beim Testen nach dem Umzug in den Vortragsraum brav gedruckt, als es darauf ankam.


Das hasenförmiges Schnitzel gabs dann danach in der Weltwirtschaft :)


Wed 28 October 2009


I somehow managed to lost the key for the sliding door to my kitchen. It probably fell into a trash bag, which I sometimes hang on the knob of said door when they are full and ready to throw away.

Of course I have newer locked the door until now, but robbed of the possibility to do so, I was overcome by a sudden urge to be able to lock the if need should arise.

The boring way to get a new key, would probably have involved taking a picture of the lock, show it to a locksmith and hope to find a fitting key.

But since we have build a 3D-printer a couple of month ago and “missing” keys had been printed successfully already, I wanted to try to design and print a new kitchen key.

After measuring the dimensions of the keyhole I started designing the new key in HeeksCAD. After only 3 not so perfect key designs I managed to print a really nice looking, working, new key for my kitchen door.

Here you can see a progress of the design:


From left to right: First design in HeeksCAD | final design as .stl in HeeksCAD | Printpath preview in skeinforge with raft and support structure.

The printed keys: