Welcome to Tribbeck.com

ARMCommand - chosen hardware


The processor being used is the Atmel AT91SAM7S256.

I opted for the Atmel AT91SAM7S series for several reasons:

  • Minimal interface requirements
  • Ability to interface to I2S devices
  • Fair amount of memory

I did look at the NXP LPC214x series as well, however I didn't use them because:

  • Several pins needed to be pulled high (there was no run of 8-I/O pins that didn't need this treatment)
  • OpenOCD support didn't appear to be available for all the series (LPC2148 had support, but 2144 [which I used as a test device] needed to be hand-generated - I was in a rush!).

That isn't to mean to say that the AT91SAM7S doesn't have its faults:

  • I/O pins are fairly randomly placed (this is also true of the LPC214x).
  • Fewer I/O pins than the LPC (which doesn't bother me a great deal for what I'm doing here)
  • Two voltages (VDDIO and VDDCORE - 3.3V and 1.85V respectively) - this makes it more ... interesting to route


I am using a Bolymin BL160128A OLED display, 160x128 pixels in size. The reasons for this are:

  • 18-bit colour
  • On-board driver
  • Built-in voltage conversion
  • Bright display
  • Nice aspect ratio

Joystick and keys

The joystick is an ALPS RKJXK122400Y joystick. Using the AT91SAM7S' built-in ADC, it gives me values in the range of 0x080 to 0x370 - which is a nice and wide value (the ADC will range from 0x000 to 0x3ff).

The keys are MULTIMEC 3FTL6 switches

Audio conversion

The audio DAC is a Wolfson Microelectronics WM8727 24-bit, 192kHz DAC (although it is only being used in a 16-bit mode, and at a lower frequency).

There is also a headphone amplifier, a Texas Instruments TPA122D.

Power conversion

In order to convert the USB 5V (or battery 6V) to 3.3V, a Texas Instruments TPS76733 is used. This also provides the reset signal.

Updated: 2011-06-08 20:41:20 | Comments: 0 | Show comments | Add comment
© Copyright 1997-2019
Tribbeck.com / Jason Tribbeck
All trademarks are the property of their respective owners.