We're thinking of using something like that combined with an 8-inch LCD screen, but would not be adverse to using a Linux micromachine or a Raspberry Pi if someone is already working on a Snap! arcade for one of those platforms.
We envision students creating the cabinet out of cardboard. There are several examples of desktop arcades constructed from cardboard posted on YouTube, and that seems like an inexpensive and versatile medium.
Any thoughts, suggestions, or recommendations would be welcome. (Thanks!)
We are currently using Snap!Bridge to enable Snap! to talk to with MicroBlocks on a BBC micro:bit to interact with the arcade controls (joystick and buttons, etc.). John Maloney will no doubt be able to tell us whether the current implementation of Snap!Bridge will work equally well on Linux.
It will work on Linux, yes. You don't need Snap!Bridge, though, if you use the new Keyboard library for MicroBlocks. You could just program your board to pretend it's a keyboard and send keystrokes when a button is pressed or a joystick is moved.
This is the method we used for our two Snap! Arcade Machines, although back then MicroBlocks didn't have support for keyboard emulation, so we wrote the code in C (Arduino).
The only sort of downside is you need to use a board that supports the Keyboard library. Currently, we're supporting the Trinket M0 and the Metro M0, but it's easy to extend that support to other samd boards such as the Circuit Playground Express, the ItsyBitsy, the Due, etc. I believe the Pico should also work, but I haven't tried.
Here’s an example of why Snap! + MicroBlocks make a great combination. This 20-second video clip shows @loucheman 's remix of Pacman with arcade controls added:
=
The arcade controls use the MicroBlocks "Keyboard & Mouse" library mentioned by @bromagosa (above) to emulate keyboard input using a MetroM0 microcontroller.
When an arcade button is pressed, Microblocks sends a keypress to Snap!
We have a mechanical joystick on order that should come tomorrow. When it arrives, we’ll replace the arcade buttons with a joystick.
The Press Key codes are generating characters (for example, Press Key [38] in MicroBlocks produces an ampersand (&) ) rather than arrow movements, so there's still something that we're missing.
They aren't really available through normal channels at the moment - just available from rip-off outfits at inflated prices as you've noticed
They do pop up on the normal retail sites from time to time but you'd stand more chance of grabbing a ticket to a Beyonce concert than being quick enough to grab one
We finally located a Raspberry Pi 3. We were delighted to find that it had more than enough power / capacity to run the Snap! Pacman game without difficulty. While both the Pi 3 and Pi 4 are out of stock in the usual retail supply channels like Adafruit, etc., there are some Raspberry PI 3 units available on eBay for $50 (versus the normal list price of $35).
A $15 markup does not seem to be too much of a premium, especially compared with the 300 and 400 percent markups for the Raspberry Pi 4. Hopefully the supply constraint will ease by the beginning of the school year.
So now we need to order a screen for the Raspberry Pi 3 to put into the prototype arcade cabinet. There appear to be some 10-inch screens for around $50. Does anyone have a recommendation for a screen?
It works out of the box without installing any drivers, doesn't require an external power supply, it plugs right into the ribbon connector on the RPi, it's big enough, has a decent 800x480 resolution, and it's actually a touch screen!
We are using a Raspberry Pi 3. It works well with the Snap! Pacman game.
We would like to run it in an "arcade mode" in which the title bar (on the right) does not appear. That may be a question for a Raspberry Pi forum, but we thought that we would check here first to see if anyone has any suggestions? (Thanks!)
We used kiosk mode on Chromium. From the command line, just run chromium-browser --kiosk [your-url]. You can do the same with Firefox: firefox --kiosk [your-url].