Seb Holzapfel

Seb Holzapfel

Hobbyist | Student | Engineer

Projects       Resumé/CV       Blog       Contact


The UberDrive

Not so uber

The UberDrive (as I like to call it) is completely cross-OS USB-compliant storage device – and can store a whopping 7 kilobytes of data. Admittedly this was never really a ‘project’; more so a result of a couple of hours’ fiddling around. Basically, I worked off of the back of one of microchip’s CDC storage class demos, flipped the config switches so that it would run on my model PIC (24FJ64GB002)instead of what it was designed for and modified the device name. Then I dissected an old USB cable, breaking it out into headers so that

Read the rest...


UPDATE: This thing’s now on IndieGogo! The below material is severely outdated :)


Metanact is a fast-paced 2D spaceshooter whereby the game is played in the user’s filesystem – directories and files are each displayed as in-game objects. As this is an HSC project of mine, I’m unsure of the rules associated with distributing source-code, documentation etc; basically – I’ll keep much of it under wraps until the project is handed in — probably around October this year. Without doing too much harm, the game is written in C++, uses SFML for rendering and media and depends on Boost

Read the rest...

Procrastination and 40K

Probably not something which increases my employment prospects, I thought I should stick this up here. Anyway, myself and a bunch of friends roll dice and pretend to destroy plastic every second Sunday. For anyone who’s familiar with 40k, I play Necrons and over the years have accumulated a little over 2000 points of the time-absorbing buggers. Against a nice backdrop of computing books so that I don’t forget my priorities, a picture:

Of course, I usually have the little guys packed up in boxes so visitors aren’t confronted by their deadly beauty too much.

Running roughly

Read the rest...


A new platform

With all the buzz surrounding the raspberry pi (an arm-based embedded Linux platform) at the time of it’s release, I decided to buy one. After fiddling around with the Wheezy terminal and checking out a few applications, I decided to write a game for it. As a challenge, I decided to use C++ and have the thing be hardware accelerated. After thinking for a short while and sketching some mockups in Photoshop, a breakout clone was decided upon; and so began research into libraries to assist me.

Libraries on libraries

At the time of writing, at

Read the rest...


A need for read

About a year ago I purchased an ‘atomic IMU’ unit from Sparkfun ( for completeness, an IMU is an Inertial Measurement Unit, providing readings in (usually) >= 6 dimensions of global and angular acceleration ). Since then, I have used it in a few projects – a gyro mouse for a virtual reality headset (link), measuring the deceleration of a toy car for a physics demonstration; and as a nice test data-source for serial communication fiddling. Recently I had familiarized myself a little with the PyQt GUI framework, and was in a search for small project ideas to reinforce what

Read the rest...

Playing with Javascript

School productivity

Our Software Design lessons at school have always been competitive, classmates competing for the shortest code, the most interesting project ideas etc. The fruits of one of these unofficial ‘competitions’ though, I think is worth a write-up; the JavaScript Challenge. The challenge was to create animated, interesting graphics in JavaScript using only ASCII characters. Classmates probably wouldn’t be too happy if I stuck their submissions online, hence I’ll only supply my own. With all due modesty though, the nearest competitor was a white spiral generator, which didn’t animate – so you’re not missing out on

Read the rest...



Beginning year 11 my electronics workbench was quite decked out; the only thing missing was a decent DC power supply. Reading around online, good ones with decent range and constant current capability were going to set me back at least 150$ (quite a lot for the cash-strapped student I was!); so I decided to make one.

After a few weeks of spending the odd school afternoon perfecting prototype circuits, simulating, and slowly piecing a master-circuit together, I had a working schematic.The following weekend I layed out a PCB in EAGLE and sent it off to iTead Studio to

Read the rest...

4-bit Pic24 Alphanumeric LCD library

Looking all over the internet, I could not find for the life of me any existing Alphanumeric LCD library for the C30 compiler – so I made one, which requires 6 pins to operate. It only has 3 commands; lcd_print, lcd_command and lcd_init. For printing anything more complex than a string, the standard library can be included and sprintf is used to format a temporary string to be sent the LCD’s way. Files here are tested on a PIC24FJ64GB002, MPLAB X 1.10, C30 3.30c.

An example main.c file – Flashes an LED while displaying a

Read the rest...