Skip to content

Super 8 Camera Digital Conversion

Solar Earbuds

Have you ever been annoyed by having to charge your headphones? There is a cure for that 🙂

Digital Film Cartridge for Analog Cameras (using Raspberry PI)

Ever wanted to take digital pictures and videos with your old analog camera? How about live video streaming over WiFi? You can 🙂

Cable Tie Weed Whacker

Let’s whack some weed 🙂

Turning a USB fan into a phone charger

Well, as the title already says I converted a 2€ USB fan into a device that can charge my phone:

It works by adding a DC/DC converter that boosts the voltage of the fan up to 5V and mounting this to my motorcycle. Most of the details are explained in the video above.

Installing Linux into a 286 laptop from the year 1989

Ever wondered what useful things you could do with a 32 year old laptop? Well, this is one option:

In this project I added a Raspberry PI Zero to the insides of the laptop. Both are connected via a serial link and can exchange data via it. You could use this for several applications:

  • Using the 286 with a terminal emulator as an interface to the Linux of the Raspberry PI. This way you can do the typical Linux shell stuff on a retro machine. With this you are quite far up on the hipster level 🙂
  • Connecting the DOS on the 286 to the Internet
  • Transferring files to the DOS filesystem

Terminal emulator

On the 286 side you need to install MS-DOS Kermit:

On the Raspberry side there is nothing to do. So this is really easy to setup.

Connecting DOS to the internet

The setup needed for this is quite nicely described in

Transferring files

Transferring files can easily be done using the internet tools described above. Alternatively, you could also use the Kermit file transfer for a more direct (and likely faster) transmission of files.


To summarize, using this machine is quite fun. It is also borderline useful. But the most funny thing is that you can install a complete system into the cracks of the original laptop that is ~100x more powerful than the laptop itself. Crazy times 🙂

Android 9 on a GSM phone from year 2000

This post shows a small nonsense project that “installs” Android onto a phone from the year 2000

This post is meant as an addition to the video presenting the device:

The items used in this project are:

To remove the watch interface from the smartwatch, you need to install the following two apps:

  • Nova launcher
  • Fluid navigation gestures (to add touch “Back”, “Home”, “Recent apps”) softbuttons

Since I needed to mount the display rotated by 90°, I had to permanently rotate the display contents. This can easily be done by ADB commands as decribed here.

Is it usable?

Sort of. Basically, everything that the average Android user uses works. It is sometimes a bit uncomfortable due to the screen size but together with text to speech it is even doable to write longer messages and such. If your main need is to have a phone but only do browsing and other things occasionally, this is quite a nice option. It definetely is very good at a particular thing: Reducing you smartphone usage 🙂

Eachine Mustang P-51D aileron servo repair

The aileron stopped working on my Eachine P51d plane. This post describes how to solve this issue.

Update (08/06/2021): I found a much simpler fix for the issue. See at the bottom of this post.

This post is a follow-up to my previous post about this plane. In the last post I described the damages and repairs coming from a battery connected in reverse. After these fixes, the plane flew again good as new for a couple of months. Then, suddenly, it behaved very odd. It showed the following sympthoms:

  • The aileron control stick on the RC moved the rudder servo instead of the aileron servo
  • The rudder control stick on the RC was completely dead
  • Everything else worked as expected
  • The aileron servo moved left-right-center on power-up but otherwise was completely stationary

As odd as it looks, there is a simple explanation to this behavior. The receiver PCB I repaired in my fist post is actually used in different types of planes. The P-51D is a 4 channel type, but there are also some 3 channel type planes using this PCB. So for some reason, the receiver thinks it is mounted in a 3 channel plane. This post finds the cause of this and also shows an (extremely stupid) fix for this.


As described above, the reason for the odd behavior is that the receiver thinks it is mounted in a 3 channel plane. So the obvious question is: Why?

The next obvious question is: How does the receiver actually know which type of plane it is? A jumper on the PCB or different firmware versions would be simple measures to differentiate between plane types. But the designers of the receiver took a more elegant way.

Rudder and elevator servos are integral parts of the receiver PCB. This makes sense since these are needed in both 3 and 4 channel planes. The aileron servo is connected via a plug to the receiver PCB. And this is how they differentiate: They simply detect whether an aileron servo is connected or not.

Alright, easy enough, this means that the receiver cannot detect the aileron servo anymore and so it switches to a 3 channel. But… the servo actually works fine and even moves at power-up! So the receiver sends movements to the aileron servo and the servo moves accordingly. What?? Why does the receiver then think that there is no servo connected? Maybe the receiver is to blame?

It turns out that the servo is the culprit. And I am not the only one having this issue: Apparently, the servo was damaged as well from the reverse battery incident but lived on for a couple of months. After that it failed as described above.

Unfortunately, I do not have a suitable measurement tool at hand to understand how exactly the receiver determines the presence of the servo motor. I tried some simple thinks like adding a pull-up or pull-down to the data line to fix the issue but that did not change anything. So it seems to be a bit more involved than that.


The obvious and easy solution to the issue is then to simply replace the aileron servo. But hey, you are on my blog so of course I solved the issue the stupid way… I built a Frankenstein servo.

I still had one of these cheap Turnigy servos laying around:

So what I did was I opened up the original aileron servo, removed the electronics and put in the electronics of the Turnigy servo. And this (to my own surprise) fixed the issue: The receiver recognizes the Frankenservo and it moves like the old one does.

Here you can see a picture of the monster:

If you are doing something similar and your servo spins endlessly after power-up you simply need to swap the polarity of the DC motor.


To summarize, my poor little Eachine P51-D flies again thanks to the Frankenservo. Just remember: Stupid causes (reverse battery) are best fixed with stupid solutions (Frankenservo) 🙂

Update (08/06/2021)

Even with the fixes described above, I still had occasionally the issue that the aileron servo did not work. Therefore, I researched a bit further how the actual detection of the presence of the aileron servo works. Remember that on powerup the aileron servon moves from left to right? This is part of the detection. Apparently, they measure the battery voltage and since a moving servo consumes more current, the battery voltage drops and they thus are able to detect the presence of the servo.

For whatever reason, this detection did not work reliable anymore. The fix is really really simple. Just increase the current draw of the aileron servo. I simply wired a 8 Ohm resistor in parallel to the internal DC motor connections of the aileron servo. This way the servo consumes more current when it moves and the flight controller is again able to detect the presence of the servo. This fix will also work without the Frankenservo modification (using the standard aileron servo).

USB-C PD for TS100 soldering iron, DPS5005 lab power supply & power drill

This post describes some simple mods that add USB-C PD to typical workshop devices

Until recently the typical round DC jacks were the de facto standard for supplying DC power to devices. USB replaced some of these connectors for low power applications but for everything above 1A you typically had to use DC jacks.

While DC jacks are simple and easy to use, they are also quite cumbersome. You have several different diameters of the jacks, even different diameters of the inner pins, different polarities and different voltages. This means that you typically have a bunch of power supplies and you have to check carefully before each use that you connect the right supply to your device. The chances of frying devices is not insignificant.

Luckily, some years ago USB PD was standardized. This seems to be the first time that you have access to an almost universal DC power standard that eliminates all the problems of the DC jacks. There is just one connector type, no risk of wrong polarity, the device requests the voltage it needs and almost all power sources are compatible with multiple voltages. So it offers you a true plug-and-play experience and allows you to reduce your stack of power supplies to just one.

Requesting a specific voltage from a USB PD supply

USB PD uses the USB control channel to allow a device to request a specific voltage. While this might sound complicated at first, it is really easy to use in practice. What makes it easy is that you can buy modules that do the communication for you:
ZYPDS module

Above you see the ZYPDS module which I used. It is cheap and very small. You can use jumpers set it to 9V, 12V, 15V or 20V.

TS100 soldering iron

In my TS100 soldering iron I replaced the DC jack with a 20V ZYPDS module (props to ). At 3A this gives you a theoretical maximum of 60W, which is quite powerful for such a small iron. It heats up insanely fast and can solder even very heavy gauge wire:

TS100 with USB PD

DPS5005 lab power supply

In case of the DPS5005 I also used the same 20V ZYPDS module, allowing me to realize a power supply with almost 60W of power:

Luckily, the standard housing already has a hole for micro USB that can also be used for USB-C. I designed a simple 3D printable part that can be screwed into the housing and holds the ZYPDS nicely at the back of the unit:

The OpenSCAD source code for the part can be found here:

$fn = 64;

SCREW_D = 3;
SCREW_Z = 10;
SCREW_POS_Y = 4; //distance to outer wall

BLOCK_X = 20;
BLOCK_Y = 10;
BLOCK_Z = 15;

USB_X = 9.4;
USB_Z = 3.6;
USB_DEPTH_Y = 6.1;
USB_POS_Z = 9.4; //from bottom of housing to bottom of usb plug

PCB_X = 10.8;
PCB_Z = 2.4;
PCB_POS_Z = USB_POS_Z-1; //from bottom of housing to bottom of pcb

difference() {
translate([-BLOCK_X/2,0,0])cube([BLOCK_X, BLOCK_Y, BLOCK_Z]);

    //screws bottom
    translate([SCREW_SPACING_X/2,SCREW_POS_Y,-0.1])cylinder(d=SCREW_D, h=SCREW_Z+0.1);
    translate([-SCREW_SPACING_X/2,SCREW_POS_Y,-0.1])cylinder(d=SCREW_D, h=SCREW_Z+0.1);
    translate([-USB_X/2,-50+USB_DEPTH_Y,USB_POS_Z])cube([USB_X, 50, USB_Z]);
    translate([-PCB_X/2,-50/2,PCB_POS_Z])cube([PCB_X, 50, PCB_Z]);

Power drill

Lastly, I converted my power drill to USB PD. It works great (see it in action in the video above) but the torque is of course not very high at 3A. But for my purposes it is enough.

Power source

Some final notes on the power source. You can of course use your typical USB C laptop chargers. As said above, it is nice to have just a single power supply for all your needs. But the real benefit of USB PD in my opinion is if you use it with a power bank. This way you can have your portable soldering iron, lab power supply, etc. all powered by the same power bank. No more messing around with thick mains cables. And no more frustration from separate batteries for each device that are either empty or damaged. You just take care of the single power bank and that’s it.

The power bank I am using is the RAVPower PD 60W (Amazon affiliate link):

RAVPower PD 60W Powerbank USB C Power Delivery 20000mAh: ...


Transforming my devices to USB PD makes my life easier. Less power supplies, less batteries, less cables I have to worry about. No doubt I will continue in the future to upgrade other devices to USB PD.

Eachine Mustang P-51D Electronics Repair

This post describes how to repair the electronics of a Eachine Mustang P-51D after reverse battery connection

Recently, I bought a 400mm Eachine plane for flying around in the park. At a weight of 50g it is a perfect park flyer with only very little risk of injuring someone. This is quite a nice change compared to my Wifibroadcast quadcopter. Here is a picture of the plane:

Eachine P-51D Mustang

Being so small, the plane is still extremely stable in the air thanks to its active stabilization system. In fact, it flies like a much larger plane in a very compact form factor. I really like it.

But what I seriously dislike are the battery connectors. It is quite hard to determine in which direction you need to connect them. What is even worse is that they actually can be connected in reverse! This is really a no-go for a consumer product. I found this out the hard way, my plane released the magic smoke and was dead from that point on.

Since I only had the plane for a couple of days I thought about turning it in for warranty. But meh, how boring is that? You just write stupid emails with customer support, wait and learn nothing in the process. So I opened it up and repaired it by myself. This is what this post is about. It is just a hint to everyone who was as stupid as me (and connected the battery in reverse) or who just wants to know what is inside before opening it.


Disassembly is rather easy. All foam parts are glued together with some kind of very flexible glue that lets you lift off the main wing a bit. Between the wing and the fuselage the glue then gets stringy and can be cut with an exacto knife. You just have to be careful and patient and after a minute or so the wings should be detached. Under the wings you find the main PCB with the elevator and rudder servo motors:

To remove the PCB you first need to unscrew the connectors of the servo motors. After the screws are removed, these can simply be pulled upwards. Next, the PCB has to be removed from the fuselage. Again, the same type of glue is used so you have to carefully bend the fuselage and cut the strings of the glue. Finally, you need to unsolder the motor wires (marked M+ and M-) and unplug the aileron servo connector.


The actual repair is quite simple. All that was blown was a 3.3V regulator. Luckily, it acted like a fuse and protected the microcontroller, sensors and radio that are supplied by it. You can see the the part and its connections in the following image:

All you need to do is to replace the regulator with another one. The electronics consume roughly 40mA so every regulator above 100mA should work with sufficient safety margin.

I found a slightly bigger regulator in my box of scrap PCBs and mounted it to the PCB:

The input of the new regulator is connected via a thin wire that could act as a fuse. This way I have some extra protection in case I am stupid enough to connect the battery in reverse again (which is quite likely… ).

After I added the new regulator I was very happy to see that all the other components survived and the plane is able to fly again.

To glue everything back together I recommend “Uhu POR” which is specifically made for flexible joints. To my eye the original glue of the plane is very similar to the Uhu product.


I can highly recommend the Eachine plane. It is a really fun toy and combines the good properties of a large stable plane and a compact easy to carry plane. I cannot recommend connecting the battery in reverse, obviously. But it is not the end of the world.