I just got done reading through this thread and your idea is very cool.
I can't think of any reason not to do it, after all this forum is "Build Your
OWN Arcade Controllers".
I2C protocol allows up to 128 devices to be addressed on the bus (
http://forum.arduino.cc/index.php?topic=159860.0)
thats plenty for enough buttons and still will be able to run all your other I2C devices such as haptic feedback
and Real Time Clock, etc. Since I2C breakout boards exist (the SparkFun comes with one) it makes it quite a bit easier
to accomplish. Each I2C breakout board should have it's own buffer to store and display a picture and I can see from the
picture of the PCboard that the address can be changed through jumpers. However, the data sheet states this one is designed for
only 2 different addresses (
https://cdn.sparkfun.com/datasheets/LCD/Monochrome/Micro-OLED-Breakout.pdf) so a different breakout
board might be prefered. However, a shift register might get around this problem with the sparkfun unit.
Getting it into an existing arcade pushbutton housing might be another matter but I don't think we are interrested in
how hard that could be. Technology changes fast and so do prices. The more we build this idea the more manufacturers
will cater to us and deliver cost effective and smaller tiny screens.
So I propose a change to the definition and scope of the project to start the ball rolling.
1. Make a One and Two player start button screen display the player's character for each game selected. (For example if
Galaga is selected it will display one ship above the one player start and two ships above the two player start button.)
2. Use tiny screens either in the top of bushbuttons or mounted on the control panel above the one and two player start buttons.
a. Maybe this
http://www.adafruit.com/products/684 screen from Adafruit is a better solution. It's in color and has an SD
holder built in.
3. I like the Teensy++ 2.0 microcontroller, so I will use that.
a. SparkFun MicroView - OLED Arduino Module (
https://www.sparkfun.com/products/12923) has a microcontroller built in but not color
4. Use USB serial protocol, from a frontend, to tell microcontroller what graphics to send to the screens.
So there is the definition. Shall we proceed?
Kevin
www.projektprodukt.com