Project Listings

Below is a listing of programs and hardware generally completed while I attended UC Santa Cruz. In 2005, I was awarded a BS in Computer Engineering. Please feel free to contact me about anything listed on this page.
   - Charles Shiflett  


Wireless Heart Rate Monitor

Atmel Prototype The picture at right is a prototype embedded system for a small scale water control project using telemetry. Mid semester, my project changed to a wireless heart rate monitor. I built upon what I had already engineered for the telemetry project to create a robust heart rate monitor.

The final design was a 1.5 by 3 inch very low noise 64 times over sampling analog to digital converter which sent an EKG digitally (wireless or serial) to an interface board [ Picture ]. The interface board facilitated a wireless module, programming the chip, and chip to computer communications [ Picture ].

A snapshot of the development process may be viewed in either picture [ One ] or [ Two ]. An idea of the process is also visible in one of my early layouts for the board [ Schematic ]. On the software side, A [ Screenshot ] of the software. I also wrote a [ Paper ] on the development process. Additionally, the [ Code ] or [ Presentation ] may be viewed. Further information is available by request.

Older Projects

The picture above with the text "Project Listing" on it is one of my first projects. It was an HC11 integrated with a 8bit ISA bus (not shown), which interfaced with the antique 8bit (think 8086) devices that were quite common and readily available in the 90's. The board used traditional wire wrapping techniques similiar to the original apple [ Wirewrapping Link ], though not nearly as complicated. Wirewrapping is still in use today, though with the cost of having a custom fabricated board being only about $70 [ ], it is neither cost nor time effective.

I also have a few robots I made, as well as a board to do frequency up conversion using hardware fourier analysis of a square wave. I am in the process of finding robot pictures, in the meantime, you can take a look at the infinitly less interesting fourier board [ Picture ].


Bear Markup Language
The Bear Markup Language is a way of embedding SQL queries into HTML. I created the language to implement a online storefront tied to a inventory/accounting system [ Source Code ].

The code is a BML parser written in C, which also includes a CGI library written in C, and a series of database wrappers, all of which I wrote. Also included are sample BML files, and SQL (triggers, procedural SQL, creation routines... See PDA6).

BearPlay A DVD Player for OS X
Note: BearPlay may be used to play DVD's on a macintosh computer. See below for instructions. BearPlay uses Apple's DVD player framework, which is included with OS X. It should let you play DVD's without having to license any software, but will still take advantage of whatever hardware exists on the macintosh to accelerate DVD playback. In addition, BearPlay speaks a simple text based language (play, paws, seek, ...) over the console, making it ideal for DVD control via remote.
BearPlay is intended for non-linear playback of short DVD clips. You create the clips using the "gui" interface, for playback on 'g-c3'. 'g-c3' is a stand-alone text controlled DVD player, however, it must either be invoked via 'gui' or the command line. It is not intended to be "clicked". Currently, things only work right if title 1 contains the DVD content.

The two programs, 'g-c3', and 'gui' are collectively known as BearPlay.

The latest and greatest version is available below (x86):

[ BearPlay ]

The source code is available upon request. Please direct any interest in the program to my email address (below). The 'gui' interface is a little awkward, though in general, it will auto-detect the first DVD you insert (or mount). You can also load DVD content from the file system using file->load.

To start 'gui': Mount the DMG, (you may need to copy the files to your harddisk). Click on 'gui'. It gives you potentially useful debug information if you load it from the command line.

MTCW Digital Filtering
Morse The Chocolate Wave is a program which uses fourier analysis to decompose audio containing morse (dih dat dit) into thet text to which it corresponds [ Details ].

Boggle is a game involving 16 die each containing 6 different letters arranged in a random fashion. I used C-code to implement interactive play and solving (in O(1) time) of boggle [ Source Code ]. I dislike the coding style used, but... Don't blame me I was just following orders! It is a scary overuse of Abstract Data Types (ADTs).

A Student forum for grading and evaluating teachers made as an attempt to show student concern over the switch around 2000 from narrative evaluations to grades at UCSC. I designed this forum as a general purpose engine which read page specific data off a database containing the site. This made the site easy to maintain, but made switching between hosts a pain. The source code is available on request. Written in PHP.

Kenwood TR-7950
Are you the proud owner of a Kenwood TR-7950?

If so, download the [ manual ] here. Includes Schematics!

All are available on request.

< -- B a c k
bear at yikes dot com