The PHYTEC America team wanted to take a byte out of nostalgia while showcasing the phyCORE-AM62x dev kit. What better way than reviving a classic 80s arcade experience—Pac-Man style!
phyCADE is a see-through arcade machine featuring clicky buttons, a joystick, an HDMI display, and a retro rainbow aesthetic. Under the hood, it’s powered by the phyCORE-AM62x, running on a Retro-Pi open-source meta-layer to deliver smooth gameplay and a full retro gaming experience.
Let’s power it up and hit start!
P.S. This whole project was inspired by Alan's Inventions Rasp Pi 3D printed arcade. Check out his channel and his free 3D files!
Game Console Hardware
- phyCORE-AM62x: The heart of the arcade
- HDMI display: Bringing pixels to life
- Arcade joystick, encoder and buttons: Clicky and responsive for that real 80s feel
- Transparent acrylic mini arcade enclosure: Because seeing the magic inside makes it even cooler
Software Magic
- Meta-phyCADE: Based upon multiple open source resources
The phyCORE-AM62x System on Module (SOM) is powered by TI’s AM62x Sitara processor—a quad-core Cortex-A53 powerhouse with serious embedded Linux game. It consolidates complex, hard-to-route components from a chip-down design into a compact, production-ready module, giving developers a shortcut straight to the high score.
While this Pac-Man-inspired demo only showcases a slice of what the AM62x can do, don’t let the playful joystick and pixels fool you—this SOM is built for real industrial action.
So, insert coin (figuratively), fire up the Quickstart guide, and let’s get the SOM booted up and ready to chomp through development like it’s 1980.
Additional Resources:
That last link has lots of resources available (guide links, component placements, pin muxing, ect).
🕹️ Press Start: Software SetupTip: Watch the Cafe Yocto Video on "Build the BSP" to see how to run through this section of the guide.
PHYTEC’s Linux BSPs are built using The Yocto Project, which is a powerful tool that allows OEMs to create production ready software images for custom hardware built around the phyCORE-AM62x System on Module (SOM). Depending on the needs of your end application and the design of your system, you will require custom modifications to the Linux kernel and/or the packages included in the root filesystem. The Yocto Project is one way to manage those changes.
This section will walk through the setup and build process of the Yocto BSP in order to generate default software images for the phyCORE-AM62x development kit. Once the BSP is built, it can serve as a starting point for product development.
Requirements
The following system requirements are necessary to successfully follow this BSP Development Guide. Deviations from these requirements may or may not have other workarounds:
- Ubuntu 22.04 LTS, 64-bit Host Machine with root permission.
If using a virtual machine, VMWare Workstation, VMWare Player, and VirtualBox are all viable solutions. - At least 100GB disk space free
- At least 8GB of RAM
- At least 4x processing cores available to the Host Machine
- Active Internet connection
The above minimum build resources (RAM/CPUs) should result in a build time of ~3.5 hours.
Host Setup
Yocto development requires certain packages to be installed on the host machine to satisfy various dependencies. Run the following commands to ensure these are installed:
Host (Ubuntu)
sudo apt-get update
sudo apt-get install build-essential autoconf automake bison flex libssl-dev bc u-boot-tools python diffstat texinfo gawk chrpath dos2unix wget unzip socat doxygen libc6:i386 libncurses5:i386 libstdc++6:i386 libz1:i386 g++-multilib git python3-distutils
Git Setup
If you have not yet configured your git environment on the Host Machine, please execute the following commands to set your user name and email address:
Host (Ubuntu)
git config --global user.email "your@email.com"
git config --global user.name "Your Name"
git config --global http.sslcainfo /etc/ssl/certs/ca-certificates.crt
Yocto Build Steps
Firstly, dedicate a directory on your Host Machine for housing the BSP and navigate there:
Host (Ubuntu)
mkdir ~/BSP-Yocto-Ampliphy-AM62x-PD23.2.0
cd ~/BSP-Yocto-Ampliphy-AM62x-PD23.2.0
Yocto based Linux BSPs are comprised of many meta-layers, each containing recipes for fetching, building and packaging various components destined for the bootable software image you intend to build. Some meta-layers are provided by the Linux community, such as meta-python for example. Other meta-layers are more platform specific and are made available by PHYTEC or the silicon vendor (in the case of the phyCORE-AM62x, the silicon vendor is Texas Instruments). All the meta-layers required for this PHYTEC Linux BSP can be setup using the phyLinux tool:
Host (Ubuntu)
wget https://download.phytec.de/Software/Linux/Yocto/Tools/phyLinux
chmod +x phyLinux
./phyLinux init
The above will launch an interactive session that walks you through the BSP setup. Use the following guide to help you navigate through the interactive prompts:
phyLinux Interactive session:
# SoC Platform : am62x
# Release : BSP-Yocto-Ampliphy-AM62x-PD23.2.0
# MACHINE : phyboard-lyra-am62xx-3
Initialize the BSP Environment
Source the build environment (a build directory and the $BUILDDIR environment variable will be automatically setup):
Host (Ubuntu)
source sources/poky/oe-init-build-env
Download the BSP Meta Layers
Navigate to your BSP's sources directory:
Host (Ubuntu)
cd $BUILDDIR/../sources
Clone this repo and branch:
Host (Ubuntu)
git clone https://github.com/tloanPhytec/meta-phycade.git -b kirkstone
Enable the layer in your build:
Host (Ubuntu)
cd $BUILDDIR
bitbake-layers add-layer ../sources/meta-phycade
Build the image:
Host (Ubuntu)
bitbake phytec-headless-image
This command instructs bitbake to run all the tasks associated with the phytec-headless-image build target, which is an image used by PHYTEC to validate the BSP-Yocto-Ampliphy-AM62x-PD23.2.0 release.
🔦Flashing SD Card1. On your VM, run the following command without the SD card connected to the host machine.
Host (Ubuntu)
ls /dev/sd*
2. Connect the SD card to the Ubuntu host machine.
3. Run the following command again with the SD card connected to the host machine.
Host (Ubuntu)
ls /dev/sd*
4. Unmount the SD card from the host machine. Do not remove the card from the machine.
Host (Ubuntu)
umount /dev/sdX*
5. Navigate to the directory containing the SD card image we want to flash. This will be in the deployment directory of your local BSP build at $BUILDDIR/deploy/images/phyboard-lyra-am62xx-3/
Host (Ubuntu)
cd $BUILDDIR/deploy/images/phyboard-lyra-am62xx-3/
6. Flash the.wic.xz image to the SD card:
Host (Ubuntu)
sudo xz -dc phytec-headless-image-phyboard-lyra-am62xx-3.rootfs.wic.xz | sudo dd of=/dev/sdX bs=8192 conv=fsync
Note: Note that you have to flash the SD Card image to the entirety of the SD Card. This is done by specify the output location of the flashing command without a numbered partition specified. For example, if you try to flash the SD Card image to /dev/sda1 this will result in a improperly formatted SD Card.
7. Unmount the SD card from your Linux machine.
Host (Ubuntu)
umount /media/<user>/boot /media/<user>/root
🥾Booting from SD Card1. Insert the micro-SD card into the powered off development kit.
2. The phyCORE-AM62x development kit is configured to boot from an SD card slot by default. But it doesn't hurt to verify this!
- S7 should be ON to override default boot settings.
- See the images below for boot switch placement and settings
Before gobbling any pellets, make sure you’ve got your arcade buttons, joystick, and screen ready to roll. Let’s bring this little cabinet to life—one wire at a time!
💾"Controller Select: Joystick & Button ConnectionStart with the arcade buttons. Use the included wires from the arcade kit to connect each button to a 3-pin wire lead. Then, plug the wire lead into the development kit using either a jumper wire or a custom connector. Here’s how the buttons should be assigned:
- Green button = "key-play" function = pin 9 on the X17 header
- Blue button = "key-plus" input = pin 13 on the X17 header
- Yellow button = "key-minus" input = pin 11 on the X17 header
- Red button is just for looks—it doesn’t have a function, but it sure looks good on the front panel.
Next, connect the joystick. Plug the wire from the joystick into the encoder’s 5-pin joystick connector. Then connect the encoder to the development kit using a USB-B to USB-A cable. Be sure to use the lower USB-A port on the dev kit. The joystick will register as a standard USB game controller, so it’s plug-and-play with no extra setup needed.
For sound, you’ll need to connect the speakers to the dev kit’s audio connector. First, tin the exposed ends of the speaker wires with a bit of solder. Then insert them into the phoenix-style audio header and tighten it down to hold the wires in place. The red (positive) wire should be near the X17 connector, while the black (negative) wire should be closer to the audio jack.
To set up your display, connect the 7-inch HDMI screen to the development kit using a standard HDMI-to-HDMI cable. Power the screen separately using a 5V Micro USB cable—any standard cable should do.
Finally, power the entire dev kit using the included 5V/2.5A USB-C power cable.
Note: It’s important not to use a generic cell phone charger here—those often can’t supply the correct current, and you might run into boot or stability issues. Stick with the recommended cable for reliable performance.
Because enclosure assembly can vary depending on the machine and software you're using, the following steps serve more as general guidance than a strict step-by-step process. Adjust as needed to fit your tools, materials, and preferences.
Note: Take at the provided 3D STL files for an earlier version of the phyCADE housing if you feel comfortable with 3D printing.
Start by cutting and engraving the acrylic using a CNC laser machine. It's best to keep the protective paper wrapping on during this process to prevent burn marks and scratches. While the laser is working, begin printing the HDMI bracket using clear PLA on your 3D printer so everything finishes around the same time.
Once the acrylic is cut and engraved, carefully peel off the paper wrap. At this point, you can start filling the engraved areas with epoxy resin. We recommend preparing a sacrificial test piece to experiment with your epoxy colors and test the resin’s viscosity before applying it to your final pieces. Keep in mind that the text and engravings are mirrored—this is intentional. By engraving the back side, the front of the acrylic remains smooth and clean. This helps avoid bubbles or concave spots in the epoxy once cured.
Epoxy generally takes about 24 hours to fully cure, depending on the environment and brand used. Once cured, it's time to begin assembly. Use acrylic fusion solution (make sure to wear proper PPE, including gloves and a mask—it’s potent stuff). Again, we strongly suggest testing the fusing process on a spare piece of acrylic to get a feel for timing and handling.
When you're ready, start fusing the acrylic enclosure together, one piece at a time. Take your time with alignment—fusion solution sets fast, and misaligned pieces are hard to adjust once bonded. The fusion curing process takes at least 24 hours to reach full strength. Depending on your design, you may need to use temporary supports, jigs, or clamps to keep pieces from shifting or sliding during the cure.
🟡 WAKA, WAKA, WAKA in Action!Our team has taken this demo on the road for quite a few events, one being the EOSS here in Seattle, WA.
- Add a power off button to the back of the case for safer use
- Add a score board
- Add more games to the collection!
Comments