Thomas Laubach

FabAcademy 2016, Kamp-Lintfort, Germany


My Video Game System In Action

On time for the presentation of my final project, I had the idea to give my project a fancier name: LEDmePlay w/u. I chose "Let me play" as this project derived from an older project of this name. The suffix "w/u" is a malapropism of "with you". At last this is a device for two-player action.

Below is the video that I did using iMovie on my Mac for the final project presentation. The video is far from perfect. In fact, it is my very first video apart from the gameplay videos we did for the LEDmePlay. The video shows me playing a game of Pacer, a Pac Man clone I programmed last year and slightly modified for LEDmePlay w/u. For the FabAcademy, I have programmed a Breakout clone, Wallbreaker, which I regard work in progress. I did not clarify this misunderstanding during the video session as I fell victim to adrenaline. I apologize.

Now it is time for a retrospective. Have I reached the goals that I had set for this project? Yes and no. On the one hand, I have not been able to include the functionality to read a game from SD card, burn it into the Flash ROM and then play it. On the other hand, I have improved many things from the original LEDmePlay arcade game system: embedded joysticks and buttons, improved electronics design, a much cheaper breadboard in comparison to the Arduino Mega 2560, and a fairly original and pretty case. This does not mean, however, that the housing of the original LEDmePlay is bad - in fact it is awesome, and everyone seems to like it. I am happy that so many people expressed their interest in the project, and that so many people really like the new design.

In the aftermath of the FabAcademy 2016, I want to add above described funcionality. For further explanations on the requirements on the bootloader please have a look at my assignment on networking. I can try three different methods:

  1. Use two Arduino compatibles that are communicating via SPI. One reads from SD card, stores the complete sketch in Flash ROM, then writes it out onto the second Arduino's Flash ROM.
  2. Use two Arduino compatibles that are communicating via SPI. One reads from SD card, stores page by page of the sketch in a buffer in variable memory, and at the same time writes page by page into the other Arduino's Flash ROM.
  3. Use a single Arduino compatible. It reads a game from SD card and stores it page by page into its Flash ROM, then performs a reset. After resetting it finds the new program in Flash ROM and executes it. This would require every game/program to continuously poll an input device with which a user selects a new game.

What else could I improve? I have adapted Daniele Ingrassia's design of his Satshakit 128. His design is easily adaptable and understood. My games for the LEDmePlay w/u consume too much memory to fit in the footprint of the Arduino Uno or the Satshakit. Daniele told me it should be possible to attach an FTDI cable directly to the Satshakit 128 for programming. Alternatively, I would like to add an FTDI chip and a USB plug to my board design. To make the board larger would also be good, as this would simplify the installation of the electronics inside the case. And, last but not least, the design of the case could be better, as the assembly is far from easy.

Finally, I want to thank my colleagues for advice and a helping hand. I could not have made the case design without support. I would have required several more efforts to build it. I got numerous advice on what to check when my electronics did not work. The FabAcademy is also about mutual assistance.