Tinkering with Raspberry (and other things)

Nerf Barrel Extension + AmmoCounter + Chrono

OK, so now I am into Nerf-Guns. Seems my 8-year old alter ego has taken over. But, following the motto from the legendary eevblog, don’t turn it on, take it apart!

These Nerf blasters come with different technologies. There are purely mechanical ones, powered by springs and compressed air, and then there are some that use motors and flywheels to accelerate the funny foam darts. My first Nerf was a “Recon MK II”, mechanical. As soon as I held it in my hands I wanted to add an ammo counter (Remember: I am old and the Alien movies, especially the M41A pulse rifle, are part of my life…).
The question is how to add something electrical to a purely mechanical thingie. And I had some constraints: it has to be reversible and it needs to remain child-safe for the occasional battle with kids. So the voltage/motor/whatever modifications found on the internet were a no-go.
Well, the removable barrel extension seemed to offer enough space to integrate some circuitry… Continue reading

Tiny Word Clock with Attiny85

The “Hello World” of microcontroller projects undoubtedly is a clock. As this was my first try with an Attiny85 I decided to build a tiny version of my big living room word clock (which is 40 x 40 cm) and put it into an IKEA picture frame.
I have been using an 8×8 LED-matrix (WS218b, Adafruit Neopixel compatible) and the first challenge was to get the German words for the different times into this 64 positions. The source code is heavily based on Adafruits tutorials. Continue reading

Elevator Information Display using two ILI9341 TFTs

It has been a long time since my last post, well, I have been busy and had significantly less time for tinkering.

But back again. Take an old elevator panel, two displays and a Raspberry Pi and transform it into a home information system.

Ingredients and Original Idea

  • A really old but massive elevator panel with all the original wiring, the buttons and even the led-matrix displays.
  • A Raspberry Pi (of course)
  • Two ILI9341 2.2″ TFT panels
  • Adafruit’s python library for ILI9341

My original idea was to reuse the LED-matrix from the old panels to display some information. This unfortunately was not possible as these are not ‘normal’ matrix displays but do have some sort of logic built in. Applying a voltage on the terminals (in the middle of the picture) does display the preprogrammed floor numbers in the display. Well, this is not a big issue, TFT displays are much cooler.
Here is an image of the unaltered elevator panel:original elevator panel

Continue reading

Making an eGalax/Pollin touchscreen work with tslib

Some months ago I found a cheap 7″ LCD screen with a resistive touch-panel. Searching the internet gave me some hope that the screen would work perfectly with my RaspberryPi. And alas, it did. Under XWindows, which I wasn’t going to use on the project I had in mind when buying the touch-display. So the search began and lastet. There’s lots of information out there about eGalax-touchscreens, most of it stating that one needs to compile a custom kernel, hack into some outdated driver software and so on.

After some investigation it became clear that the information available is mostly outdated, as the newer Raspbian images do recognize the touchscreen without compiling a custom kernel. So I started on my own and tried to get the screen working not with XWindows, but directly with the framebuffer. Continue reading


Windows Phone 8.1 on Nokia Lumia – A rant (Updated 2014-07-14)

I know I have been quiet for a while now. And now I start a rant? Yes, I need to share my thoughts because otherwise I will definitely crush a phone.

For those interested why I have been so quiet: I got myself a new job, switched from freelance work to a permanent position. So no more tinkering around when I am in fact in my home office…

Now on to the rant:

At the moment of writing this blog post I am literally seconds away from just throwing my girlfriend’s new Nokia Lumia 635, which I have the honour of setting up (at least I am the nerd here), out of the window or, to avoid being sued by passers-by, with full force against a wall. And I think I could happily live with the best girlfriend ever not talking to me for a very long time. (No, not really). Continue reading

Quicktip: Selfmade LED lamp with T5.5 socket (Telephone Lamp)

For my newest project, the “intelligent desk clock” (I shortly mentioned it at the end of the last post) I need to have big momentary switches that could be illuminated. The idea is to let the switch blink if there is user interaction needed.

I found some switches that need old-style bulbs with “telephone lamp” socket, technically a “T5.5” or “T5.5k” socket. These are usually bulbs running at 12V or higher. I want to realize the project with an Arduino or a Raspberry Pi, so 5V is the voltage I have available. LED lamps with T5.5 socket are rather expensive, luckily I was able to order 10 pieces for 7 EUR from ebay. They do have red LEDs but I thought I could desolder them and solder some white ones to the socket.

Today I found some cool switches at my electronics shop, immediately purchased a bunch and at home, was able to completely disassemble the switch. So I now am able to put some label behind the orange button! Of course the shop had the fitting bulbs in stock, with real lamps rated at 12V, but for 0.5EUR a piece. So I took some, too.

Here are pictures of the switch and the disassembled parts:


Make your own T5.5 LED lamp

Take a look at the T5.5 lamp from the shop. It’s just a metal socket an the bulb soldered to it. The metal parts are glued to the bulb with tiny spots of some hot glue. With the help of a scalpel and some brave cutting and bending (watch your fingers if the glass breaks) the bulb can be detached from the metal socket. With a firm pull the whole bulb can be teared off. Now take a soldering iron and clean the soldering spots and, using the scalpel, clean the glue residue from the socket.

Shorten the wires on the LED (remember which side is Anode and Cathode, respectively) and the resistor (I used 220 Ohms, the usual value when using 5V and an LED). Solder the resistor to one wire on the LED and bend the wires slightly outward so they will make contact with the metal socket when fitted in. (One square of the paper is 5mm x 5mm)


Now fit the LED into the socket so that the socket is just around the bottom of the LED. You will need some sort of fixation tool like alligator clamps to make your life easier. Now cautiously solder the wires to the socket and you’re done. You should end up with something like this:


You will definitely need all your patience making this LED thingy. Taken into account that an LED lamp with T5.5 socket will cost around 5EUR (6 USD) each, it’s worth the effort.

1 Comment

GPRS/GSM via Serial (again)

I recently stumbled over a cheap GPRS/GSM shield made for the Arduino platform, of course on ebay, of course from China. As it was priced at a very reasonable 20 EUR (25 USD), I thought I’d go with the risk and order from China. Several weeks later it finally arrived and, I couldn’t believe that at first, worked out of the box.

This is how it looks. If you get interested in one of these gadgets, just search for “GSM Arduino” on ebay, that should do the trick.


It’s a SIM900 based design and has a real time clock (plus buffer battery) on the back. A full description of all the possible AT-commands can be found here. It is basically the same shield that can be bought from Seedstudio, but much cheaper. A description with some sample sourcecode (that is working!) can be found at the Geeetech-Wiki pages. Continue reading


132 LED-matrix with AS1130 and Python

The AMS AG (austriamicrosystems) does have a neat little (literally) chip called AS1130 on the market. This chip is able to drive 132 LEDs, arranged in a 12×11 cross-plexed matrix. It can store up to 36 individual frames (pictures) and up to 6 patterns for blinking and PWM control of every single LED in every single frame. The frames can be displayed as still images or as a movie, the chip even scrolls the frames without the need for doing any calculations on the controlling computer side.
I could not find any Python code for that chip so I dived into the datasheet and wrote my own driver. As always, the sources are available via GitHub. Here is a short video demonstrating the capabilities of that chip. I had to use some paper to shield the ultra-bright LEDs or the camera would have recorded just a bright white spot…

Continue reading

Pi-Hicle final – motor-control and autonomous driving

So this is going to be the final part of the “Pi-Hicle” series (here are Part 1, Part 2, Part 3, Part 4). There is some good news and some bad news… But first a video of the vehicle moving:

The good news is that the BigTrak is in fact runnning on its own, avoiding obstacles with its three IR sensors. The bad news is that I have discarded the Raspberry Pi for this project. The vehicle is controlled by an Arduino mini now and there won’t be a Raspberry Pi in it in the near future. Now why this?

  1. I fell in love with the BigTrak and I simply can’t make any more holes in it, let alone ripping the keyboard off
  2. My plan to decrease the speed gradually as obstacles are detected does not work. There is not enough torque to move the wheels when the speed goes below 60% (and that is still too fast indoors, at least at my home)
  3. With the vehicle moving that fast a video camera is obsolete, one wouldn’t get a clear picture of anything (and I don’t have pets to annoy…)

So I am going to share the last steps in making this project. This involves mounting the sensors and putting everything together and the simple, yet working, code for making the BigTrak drive. Continue reading


Pi-Hicle part 4 – Sensor Phalanx

I finally had the time to do some more work on my Raspberry Pi controlled Big Trak. So this is all about sensing the environment, well, avoiding obstacles, that is.

My idea is to have the vehicle measure the distance to any obstacles in front and to both sides. If it can’t move any further in forward direction, it will be turned in the direction (left or right) where there is the biggest distance to any obstacles. Very simple but that should be very effective. And it gives the impression of “real autonomy”, because the vehicle will turn in different directions to avoid a collision.

To get this done I ordered three Sharp GP2Y0A02YK0F distance sensors. They are well documented and used by many people out there, so I thought they should do for me, too. The sensors translate the distance into a voltage, so there is an analog value to be mapped to the distance. There is a data sheet with a nice graph showing the expected output voltage oder distance. According to the specifications the sensor has a range of 20 to 150 cm. That quickly proved to be a little too optimistic… Continue reading