The Portfolio

All of the material enclosed is of my own. Use these bookmarks to get around quickly:

  1. Resume
  2. Hardware
  3. Software
  4. Projects
  5. Documentation
  6. Research
  7. Scripts
  8. Websites


Direct Link: Derek_Hildreth_Resume.pdf

Computer Engineering

Computer Science

Technologic Systems TS-7500 gettemp.c
Technologic Systems TS-7500 ledctl.c
Technologic Systems TS-7500 getdio.c
Technologic Sytems TS-7500 sbus.c (setdiopin, getdiopin, gettemp)
Technologic Systems TS-7350 getbufin.c
Technologic Systems TS-7390 GTK Example


Wireless Cell Phone Controller

I was a part of a successful engineering project which controlled a cell phone remotely from a central location. We were able to reach out about 6000 feet over 802.11g from a central location to an embedded system with Bluetooth capability for controlling the cell phone. We used the Hands Free Profile (HFP) of the Bluetooth stack to do so. We were able to make the cell phone call a number, answer an incoming call, hangup a call in progress, and send DTMF tones.

My role in the team was to research, purchase, and prepare the embedded system for controlling the cell phone. We used python on to embedded system (Linux) to establish a connection to the central control and then wait for, accept, and initiate cell phone commands. The central control side (Windows) used a program written in C# to search for cell phones, control them using a custom script, and keeping a log with accurate timing. The control side was also able to play, pause, resume, and fast forward through the custom script.

Personal LAMP Server

I made an individual effort to learn how to setup a Linux server running SSH, FTP, Telnet, RDP, HTTP (Apache), and RealVNC services as well as create clean documentation for the Linux community to follow. I was sucessful in completing the tasks I set out to accomplish and the resulting documentation can be found on my blog here:

Linux Virtual Machine Development Environment

While supporting Technologic Systems' single board computer (SBC) product users, I noticed many customers had an incomplete developement environment. Mostly it was incomplete because in order to develop on a Linux based SBC, a Linux development PC is recommended. Some customers Lacked the resources and time to go out and purchase a separate PC to Dedicate as a Linux PC, so I created a completely free and easy to use Linux development environment in a virtual machine (VirtualBox) that we Called the ts-virtual-dev. It emulates the development environment used By Technologic System employees and makes it incredibly easy to start Developing programs, custom kernels, busybox builds, and much More. You can read more about it here:
Screenshot 1 2 3 4

Linux Kernel Compile Instructions

Like in my experience in the item above this one (Technologic Systems Linux virtual development environment), I noticed a lot of questions Coming in from customers about compiling additional kernel modules for the Technologic Systems single board computers (SBC). Technically, this level Of support is not something we've been allowed to support in the past, but I was able to create a few guides which walked users step by step on how To create a custom kernel that suited their needs. These guides can be Found in the section Documentation below.

LaTeX Technical Documentation

Recently I've been practicing the art of technical documentation. I taught myself LaTeX and then provided templates for the community And colleagues. These can be seen in my portfolio here, but for more Information, visit my blog: LaTeX Laboratory Template and LaTeX Resume Template and Examples

Fedora Linux on MacBook 5,1 Aluminum

I have written tutorials for installing every version of Fedora Linux on a MacBook Aluminum (5,1) since Fedora 10 was Released. These tutorials can be found on my Linux Blog at For example: Fedora 13 Goddard on MacBook Aluminum 5,1 [Guide]

Virtualbox Guides

I have written tutorials for installing (and using) several different Versions of VirtualBox for several different versions of Fedora. Take a look:

Photo Gallery Sync Script

Another personal project that I took on was developing a script, called picup, that would automatically Scan my images searching for keywords within the EXIF data and then both Sync and create a gallery based on the keywords. This script powers my gallery. I have created A blog post with instructions and examples on how to use it here: Picup: A Keyword Scanning Script to Synchronize or Upload Photos to an Online Gallery

360 Webcam and Temperature Dashboard

I developed an online dashboard to control and monitor a 360 degree network webcam and temperature guage (RS-232) which are mounted on a remote building. I used a combination of Python, Shell Script, PHP, MySQL, Google Charts API, and a pinch of Perl and Regex. I have my server setup to take five pictures around the building every half hour and also record the temperatures of four zones to the database every hour. Google Chart API is used to wrap up the data into several nice, easy to read charts. The images are compiled into a GIF image for a timelapse view. Also, user visits are recorded to the database and displayed on the dashboard. I created my own API in Python to control the 360 degree Canon network camera programically. You can find the source code here:


INL TS-7350 SBC Remote Cell Control Setup Manual.pdf
INL TS-7350 SBC Remote Cell Control Setup Manual.tex
Technologic Systems TS-7350/70 Manual
Technologic Systems TS-7500 Getting Started Guide
Technologic Systems WIFI-G-USB-2 Manual
Technologic Systems TS75XX/TS4500 Manual
Technologic Systems TS-4200 Manual
Technologic Systems TS-SOCKET Manual
Technologic Systems VirtualBox Guide
Technologic Systems Guide on Manually Expanding/Growing SD Card
Technologic Systems TS-73XX Read-Only Debian Guide
Technologic Systems TS-73XX Kernel (2.6) Compile Guide
Technologic Systems TS-7800 Kernel (2.6) Compile Guide
Technologic Systems TS-7260 Kernel (2.4) Compile Guide
Technologic Systems TS-72XX Kernel (2.4) Compile Guide



Remote Photo Backup and Gallery Creation via Keyword Script
Script to Auto Expanding/Growing SD Card
Auto Detect, Download, and Install Proper Wireless Card Driver (README)
Technologic Systems TS-7500 Read-Only Debian linuxrc


S&S Machine
Jares Fencing
Lisa Hildreth Realty
Mirror Image Environmental Services
Iron Bull Supply (Development stalled)
Derek Hildreth Homepage
Cody Hildreth Homepage