Retro Joystick Control
Posted Mon 8-Aug-2011
Suppose you have an old joystick that you want to use to control your
latest micro-controller project. These joysticks use a DB-15 connector
with a readily available
pinout. A Game
Port style joystick consists of digital buttons, and analog axes. In
this post, I will go over how to optimally interface the axes of these
types of joysticks with your microcontroller.
Inside of the joystick, mounted at right angles are potentiometers, one for each axis:

A Bare Metal Example
Posted Mon 16-May-2011
Recently I took a class on Embedded Systems at Portand State University, and was required to program a bare metal ARM development board. This is a continuation of my notes on how to program the board. You can read the first part here.
In order for this development environment to work, we need to implement the syscalls that newlib will use for the C standard library. Most of the required syscalls are necessary in order to access abstractions that wont make sense on the development board. For example, with a concept of a process, there is no need for the fork() system call. In fact, the only system call we really need to implement is sbrk().
more...A Bare Metal ARM Environment
Posted Mon 16-May-2011
I recently took a class on Embedded systems design at PSU. In this class, we covered designing memory systems, serial busses, as well as sensors, transducers, and outputs. The labs for this class used an ARM development board based on the (then Intel) PXA270 microprocessor. Students were supposed to develop software in ARM assembly to demonstrate what was learned in class.
I decided to implement my solutions in C to provide more of a challenge. In order to do this, I needed to set up a development environment to cross-compile C code for the PXA270.
more...A NES Rumble Pak
Posted Tue 25-May-2010
Recently, I participated in Oregon State University's Engineering Expo. Every year, freshmen are encouraged to enter innovative designs based on the TekBot learning platform used in the ECE program.
A friend and I decided that we would try to implement a macro system for the robot: by using an NES controller, we could have the robot record button combinations and sequences, then play them back later.
