Arcade is for retro 2D sprite-based games.
Arcade supports a 160x120 screen with 16 colors, and has a 2D game engine with sprites, platformer-style collisions, tile maps, particle systems and more!
Arcade is a web-based code editor.
Arcade is friendly to beginners!
Get started with building your own retro games, using the block editor and the many guides. You don't need to be a programmer to get started!
Arcade is friendly to seasoned programmers too!
Arcade runs on hardware (in particular SAMD51)!
While all games can be shared and played via the web, the fun starts when you compile them for SAMD51-based boards, like the Adafruit Itsy Bitsy M4 Express.
What is MakeCode Arcade?
This guide will show you how to build a MakeCode Arcade from a Raspberry Pi Zero or Pi 3A+. If you are looking for Adafruit M4 boards, try this guide.
- a Raspberry Pi Zero (we won't be using WiFi, but it's fine to buy the Pi Zero W if you want)
- a HDMI to mini-HDMI cable or converter
- a microUSB cable
- a micro SD card (capacity and speed don't matter much)
If you want to get all in a single kit, get the budget packet. If you don't feel like soldering, get the Pi with headers.
If your SD card comes with files on it, delete them, or just format the SD card as FAT32. Do not format as ExFAT. Then download the ZIP file below, unzip it, and copy all files to the root directory of the SD card.
After this, if your SD card drive is named
D:, then there should be file
D:\9.0.3.gz, and if your SD card is called
/Volumes/NO NAME, then you should have
/Volumes/NO NAME/9.0.3.gz. There should not be an
arcade folder on the SD card. The ZIP below above contains binaries built from https://github.com/microsoft/uf2-linux and https://github.com/microsoft/pxt-arcade-cabinet-menu
If you want to use Raspberry Pi Zero with Joy Bonnet, use the first file below. If you're building your own arcade with your own buttons and Pi Zero, use the second file.
If you want to use Raspberry Pi 3A+ (other models like 3B or 4 will not work), use the third file. It's setup for custom input by default, but if you want to use it with Joy Bonnet, just copy
arcade.cfg file from the first zip over to your SD card.
If you want to use a big joystick and buttons, it's quite easy!
Using standard connection
When you load up the
arcade-cardboard.zip on your Pi, it will show you pinout to follow. You would generally connect buttons one by one, and see which one you have connected by looking at the screen. Then you know which cable you've got, and you move it to the right pin.
Once you're done connecting everything, press ABABAB and the configuration program will be replaced by the game menu program. This will be persisted after reset.
Using custom connections
The other option is to connect the buttons as you like and then tell your Pi where the buttons are connected. This is done by editing
arcade.cfg file on the SD card.
If you have the Arcade Cabinet Pack, follow the assembly guide. If you plug in the buttons the way it's described in there, you will need the following in the
If you are building a custom player arcade cabinet (1 or 2 players),
Feel free to connect them differently, just follow these instructions and update the file with the right GPIO numbers.
To add new games head to https://arcade.makecode.com !
Once you have created your game,
- Press the Download button and say you don't want to pair anything if asked. You should then be given options to select type of board.
- Select Raspberry Pi (it will have the image of the menu above). This should create a file named
- Copy it to
ARCADEdrive that should be visible on the computer to which your Pi is connected with the USB cable.
ARCADE drive doesn't show up, make sure the USB cable is plugged into the USB port on the Pi that is closer to the HDMI port. The other one is power-only. If using a case, make sure it's plugged all the way in.
There are plenty of ways to share games with your friends, family and anyone else who you think might enjoy something you've created!
Let's quickly go over a few of your options.
Click on the Share button and follow the steps to upload a version of your game online. It will generate a URL for you.
Anyone with the generated URL will be able to play in a full screen mode, or edit your game! They'll also be able to download it onto their own Arcade if they have one.
This page supports oEmbed and other various embedding options.
Save into an image
Click the disk icon will save your code into a PNG image. You can import the image back or simply drag and drop it into the editor to reload the code.
The image below contains the falling duck game.
Downloaded .uf2 files also contain the game code. You can import them or drag and drop them into the editor to reload the code.