Hello, I am Brian Kelley, a senior in Computer Engineering at Purdue University. I am currently working at Intel until December doing Pre-Si Validation for an Atom SoC. I will be graduating in Spring 2013. I am looking for a career in Digital Hardware Design or Pre-Silicon Validation. I have a lot of hands-on ASIC/FPGA design and validation experience and really love doing both. If you are interested, here is my résumé.


In addition to my short, one-page résumé, below is a list of projects I have worked on both in school and on my own. I’ve enjoyed doing each one, and my family and friends always wonder what I do, so I decided to create this portfolio to showcase the work that I do.

Dual-Core Processor

In my Computer Architecture & FPGA Prototyping class, I designed a dual-core MIPS-based microprocessor with cache. After the semester was over and I had some free time, I implemented memory-mapped I/O and filmed a little demo video for fun and to be able to show off what I had done. Some of the features are:

  • Five stage pipeline
  • Direct-mapped instruction cache and set-associative data cache
  • Two cores, with coherence maintained using the MSI protocol
  • Memory-mapped I/O and peripherals

Curious? Watch the video and view more details.

Digital Oscilloscope

The concept of this project was to create a cheap oscilloscope ASIC chip aimed at students. Though not fabricated, the chip was designed, synthesized, and laid out.

The main logical blocks were a signal processor with features such as triggering and voltage/time division; a sample processor with features such as a peak detector and a cursor controller; and a graphics processor that output the signals and meta data.

View more details of my digital oscilloscope project.

Microcontroller Synthesizer

The official title of this mini-project was “DJ Digijock’s Digital Synthesizer,” but that’s a little cheesy (our professor loved cheesy).

It was a microcontroller-based synthesizer implemented in Freescale 68HC12 assembly. The final package had eleven carbon fiber or brushed plexiglass keys and a speaker to output the notes. The player could select different “instruments” to hear different types of waves and bend the pitch using a potentiometer.

Unfortunately, I did not snap a picture of the finished project, but the thumbnail to the right shows the keyboard keys and the microcontroller board.

PurTwit Twitter Client

PurTwit is a Twitter client programmed in Python using Tkinter and the Tweepy library. It can do most of the things Twitter could do when it was written (Fall 2010), with the exception of direct messages, which are not supported by the API nowadays anyway.

View screenshots of the client in action.

Android Certificate Installer

This is a little PHP tool I whipped up when I couldn’t install an x509 certificate on my Android phone. It has been used over 50k times!

Read the original blog post, the followup post, or just go straight to the tool.


LiteImgResizer is a C#-based image resizing tool for Windows. It was intended as a way for me to become familiar with C# and I was tired of having to use Photoshop just to resize an image.

View the blog post or go straight to the SourceForge website.