This unit has a wide variety of external hardware to the AT MEGA128.  As shown in the diagram to the right, there are 3 accelerometers and 3 gyros, each mounted 90 degrees to the next, giving the three components of rotation and acceleration. The accelerometers made by Kionix (KXM52-1050) are slightly higher in quality than the ones manufactured by Freescale and Analog Devices (Sensitivity is 660 mV deg/sec!). Additionally, the eval board we received had the three accelerometers perfectly set at 90 degrees apart inside the chip, so we did not have to calibrate the bias ourselves. The Gyros were provided by Analog Devices. These were tied into the micro by using an external A/D, as the one in the microcontroller was not sensitive enough to fully use our sensors. It is a MAX197ACNI.

The LCD is a Crystal Fontz CFAG12864B-WGH-N Graphical LCD, with a resolution of 128x64 pixels. It also comes with a built in inverter for the negative voltage in the backlight. This makes reading the display in the dark and the direct sunlight much easier. The LCD was implemented from scratch, detailso f which are in the software section. We should note that we had a much larger LCD we had found lying around in Aaron's basement, but it had some problem with its memory (or so we think), so we reverted to the Crystal Fontz. For the GPS Receiver, we are using a GARMIN embedded unit, the GPS18e. This unit is a 12-parallel-channel, WAAS-enabled GPS receiver, with a CMOS output. It is also powered off of 5V to minimize the number of external power regulators needed for operation. It reports data back in the standard NMEA 0183 v2.00 and NMEA 0183 v3.00 formats, both of which our unit can decode. (read more in Software).

The GPS Unit transmits serial in an inverted format, so a 7400 high speed logic inverter was used to rectify the signal (HIGH is logic 1 and LOW is logic 0 on the GPS, which is backwards compared to the ATMEGA128).

The microcontroller we selected was the ATMEGA128. We chose this over a 32 or smaller chip due to its features of DUAL UART and high pin count.

We implemented a small analog passive low pass filter on the board to help filter down the accelerometers.