agsBOY

Als Basis für Mikrocontroller-Basteleien aller Art haben wir im Frühjahr 2010 diese „tragbare Spielekonsole“ entwickelt.

Features

Liste der Features:

  • ATmega32 / ATmega644
  • MicroSD Slot, angeschlossen an SPI
  • 132×132 Pixel LCD, 4096 Farben, SPI (wie Nokia 6100, Diagonale ca. 3 cm)
  • analoger Schiebe-Joystick aus der Playstation Portable 1000
  • 3-Achs Beschleunigungssensor, I2C
  • Soundausgabe (PWM) über Mini-Lautsprecher oder 3,5mm Klinkenbuchse
  • USB mini B Buchse, erlaubt Programmierung über Bootloader, Stromversorgung, Datenaustausch
  • wahlweise Stromversorgung über 2 Mignon-Batterien
  • diverse Taster, LEDs

Alle diese Features sind auf einer doppelseitigen Platine im Halb-Euro Format (100mmx80mm) vereint, die trotz der feinen Strukturen (6mil) von Hand belichtet und geätzt werden kann. Die endgültige Version wurde professionell gefertigt.

Als PDF: agsboy_uebersicht.pdf

Dokumentation

Die wichtigsten verbauten ICs mit Links zu Datenblatt und Hersteller:

Funktion Hersteller  Bezeichnung Interface
CPU Atmel ATmega32  
CPU Atmel ATmega644  
LCD Controller Epson S1D15G10 SPI  
LCD Controller Epson S1D15G17 SPI  
LCD Controller Philips PCF8833 SPI  
Beschleunigungssensor Freescale MMA7455 I2C / (SPI)
USB Interface FTDI FT232RL seriell
Spannungsregler Linear Technology LT1610

Errata für Revision G

Bauteil Erklärung
R7 Kollidiert mit für Serie verwendetem Display - nicht bestücken, per Software auf gültigen Pegel setzen
R11 Widerstand zwischen MISO und MOSI wurde für alte Display-Ansteuerung gebraucht, stört Initialisierung der SD-Karte - nicht bestücken
R20 604k Widerstand nicht in Standard E24 Reihe enthalten, ggf. durch Reihenschaltung 560k + 47k ersetzen
X4 Erweiterungsstecker kollidiert mit C2, ggf. Stecker nicht bestücken oder etwas hochstehen lassen
X6 Joystick: Der Betätigungsknopf bricht leicht bei seitlicher Belastung. Ggf. mit Unterlegscheibe verstärken. Zu den Befestigungsbohrungen gibt es keine passenden fertigen Distanzstücke. Diese müssen selbst angefertigt werden. Stattdessen kann der Joystick auch einfach mit der Platine verklebt werden, das hat sich bei den Prototypen als einfachste Lösung gezeigt.
X8 Statt der vorgesehen Lumberg Klinkenbuchse (teuer, schwer zu beschaffen) wird Reichelt EBS35 geliefert, ein Pin muss etwas vebogen werden
Pull-up für MISO fehlt, entweder 10k zwischen Pads von R11 und R6 bestücken oder per Software Pull-up aktivieren

Dateien

Präsentation im Flash-Format

Schaltplan (PDF), Revision G

Eagle-Dateien (ZIP), Revision G

AVR Studio Demoprojekt mit Beschleunigungssensor und minimaler Displayansteuerung

Quick & Dirty Music Player spielt Sounddateien (8-Bit unsigned PCM, Mono, RAW) von MicroSD Karte. Basiert auf dem genialen FAT Treiber von Elm Chan.

Erste Ansätze einer Pacman-Implementierung. Bisher funktionieren nur die Sprite-Animationen. Sprites von http://www.google.com/pacman/: