Software Development

MJHammel’s Projects




The value of an over-exuberant penchant for experimentation and fiddling should never be underestimated, if only because it helps measure the onset of age-associated mental debilitation. In other words, everyone needs a hobby. Or two. Or ten.

What to do in 2017



Back in October I started work on a new app for PiBox: an XM radio player.  The hardware is an XMPCR, a device sold in the early 2000’s that connected over USB to a PC.  The device didn’t last long.  I think there was some concern that people would steal […]

PiBox: XM radio app (PiXM) and wifi scanning in PNC


It’s official: PiBox will be at the Colorado Springs Maker Faire on October 15th. The Maker Faire will be held at Library 21c which is just North of the Northeast corner of the Chapel Hills Mall.  Last year saw around 6300 attendees and turnout is expected to be even better […]

PiBox @ CS Maker Faire, Oct 15th


So here’s my use case:  I need a camera that is easily positioned away from the Raspberry Pi and can stream via mjpeg-streamer.  Not huge requirements.  Here is why the Raspicam doesn’t fit that use case. I’ve received a camera with the wrong cable from a Chinese distributor via Amazon.  […]

Why a Raspicam isn’t better than a USB webcam.



Programming the ESP8266 is rather easy.  I’m using the Arduino libraries and the makeEspArduino build system because I like to use the command line, not IDEs.  Stock libraries provide everything you’d expect: Wifi setup, web servers, DNS support, etc.  There’s even a library that allows you to boot into the […]

ESP8266: its’ all about power


One of the longterm goals for PiBox is to integrate it into the home.  I want to see the PiBox Server provide centralized communication for an array of IoT devices.  One way to do this is with Bluetooth Low-Energy, aka BLE, aka Bluetooth 4.0.  This specification allows very low power […]

PiBox: bluetooth for video means no omxplayer


When I was just getting started with embedded development I found many tutorials on how to perform cross compiles required setting up some shell functions and variables before working on builds.  This is a necessity for embedded work because the embedded build for the target platform won’t use the same […]

cdtools, because who has just one project?



I was trying to set up a directory index via a named vhost under Apache today.  Typically all you need to do for this scenario is something like this in an apache conf file. <VirtualHost *:80> ServerName files.gfxmuse.org DocumentRoot /home/httpd/files <directory "="" home="" <span="" class="hiddenSpellError" pre="" data-mce-bogus="1">httpd/files"> Options +Indexes </Directory> […]

apache 2.4/Fedora quirk in welcome.conf


I’ve been working on building custom Debian and Ubuntu distributions for use under VirtualBox.   One advantage that both have over Fedora is debootstrap.  This tool allows you to create a default rootfs from pre-compiled packages inside a directory.  You can then chroot into that directory to install the kernel image, […]

Debian/Ubuntu debootstrap images for VirtualBox


I’ve been working on PiBox now for a couple of years.  The immediate goal is a consumer-oriented device for video playback while not connected to the Internet.  In other words, play movies while camping.  I have longer term goals for it, but that’s where the project is aimed currently. At […]

Raspberry Pi: Kodi vs PiBox use case comparison