The Portfolio
This is my portfolio, so please feel free to take a look around. All of the material enclosed is of my own.
I obtained my B.S. in Computer Engineering in December of 2009 from Brigham Young University - Idaho. I'm currently employed at Technologic Systems in Fountain Hills, AZ as an Embedded Systems Engineer. My future plans include persuing a masters degree in either computer software or hardware engineering.
- Resume: My professional
resume.
Direct Link: Derek_Hildreth_Resume.pdf
- Computer Engineering
4-Bit_CPU_Fundamental_Digital_Systems_CompE224.zip
8-Bit_CPU_Comp_Architecture_CompE324.pdf
BZFlag_Game_Controller_Computer_IO_CompE360.pdf
Ball_and_Beam_Full_and_Reduced_Order_Estimators_Feedback_Control_CompE470.pdf
FM_Transmitter_Data_Comp_Comm_CompE440.pdf
Inverted_Pendulum_with_Sliding_Mode_Control_Feedback_Control_CompE470.pdf
Microphone_Preamplifier_Electrics_Devices_and_Circuits_CompE350.pdf
Simple_Calculator_Verilog_Digital_Systems_Design_CompE340.pdf
Simple_Logic_Circuit_Fundamental_Digital_Systems_CompE224.bmp
Zener_Diode_Power_Supply_Basics_Electrics_Devices_and_Circtuits_CompE350.pdf
- Computer Science
All_Solutions_Discrete_Math_CS236.cpp
Book_Scanner_Object_Oriented_Programming_CS235.cpp
Collatz_Conjecture_Discrete_Math_CS236.zip
Pedigree_Chart_Data_Structures_CS235.zip
RSA_Encryption_Discrete_Math_CS236.zip
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
- Projects:
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.
-
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: http://www.thelinuxdaily.com/tutorial-setup-your-own-self-hosted-simple-web-server-for-free/
-
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: ftp://ftp.embeddedarm.com/misc/virtualbox/ts-virtual-dev/
Screenshot 1 2 3 4 -
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.
-
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.
-
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 http://thelinuxdaily.com. For example: Fedora 13 Goddard on MacBook Aluminum 5,1 [Guide]
-
I have written tutorials for installing (and using) several different versions of VirtualBox for several different versions of Fedora. Take a look: http://www.thelinuxdaily.com/?s=VirtualBox
-
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
- Documentation
Lab_Binder_Documentation_BYUI_Work.pdf
Lab_Write_Up_Template.zip
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
- Research
Computer_Development_in_Park.pdf
Computer_Development_in_Park_Presentation_Advanced_Writing_ENG316.pdf
Education_in_a_High-Tech_Classroom.pdf
Peripheral_Devices_Report_CompE324.pdf
Product_Development_Chapter_3_Product_Planning_Senior_Project_CompE499.zip
Product_Development_Chapter_7_Concept_Selection_Senior_Project_CompE499.zip
State_Reduction_and_State_Assignment_Techniques_Digital_Systems_Design_CompE340.pdf
Teaching_State_Reduction_Digital_Systems_Design_CompE340.pdf
Web_2.0_and_Beyond_Presentation.odp
Web_2.0_and_Beyond_Presentation.pdf
Web_2.0_and_Beyond_Report.odt
Web_2.0_and_Beyond_Report.pdf
Web_2.0_and_Beyond_Report_Column_Format.odt
Web_2.0_and_Beyond_Report_Column_Format.pdf
- Scripting
Firefox_Custom_Installer_For_BYUIdaho_Labs.zip
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
- Websites
S&S Machine
Jares Fencing
Lisa Hildreth Realty
Derek Hildreth Homepage