-
Notifications
You must be signed in to change notification settings - Fork 109
Video Game Module
This wiki page is about the Video Game Module (VGM) for the Flipper Zero.
The official blog entry for the Video Game Module contains links to many helpful resources, such as technical specs, getting started guide and list of apps at launch. You can buy the Video Game Module for Flipper Zero at the official store.
Feel free to drop into my Discord server for discussions. I have a v0.1 FAP of Air Labyrinth game available for download & I have submitted it to the App Store as well. It is pre-installed on RogueMaster firmware in the GPIO/VGM folder.
My YouTube channel has videos on VGM, and I will continue to add more videos over the next couple of months. Let me know the topics you would like me to cover.
Here is the YouTube video playlist which links directly to the videos about the Video Game Module.
- Video Game Module Tool : Install firmware on your Video Game Module.
- Air Arkanoid : Tilt left/right to move.
- Air Mouse : Tilt left/right/up/down to manipulate your computer's mouse.
- Air Labyrinth : Tilt left/right/up/down to move within a maze.
You can build your own custom firmware, to control various aspects of the VGM.
For example, you can change the HDMI output colors, change the bitmaps, add new "CLI" commands, etc.
I've only tried building the firmware on Kali Linux. On my Windows computer, I use VirtualBox to run Kali. The following commands will install all of the tools needed to build the firmware.
sudo apt updatesudo apt upgrade -ycodecmakesudo apt install protobuf-compilersudo apt install qflippersudo apt install libstdc++-arm-none-eabi-newlib
mkdir repocd repogit clone --recursive https://github.com/flipperdevices/video-game-module.git vgmcd vgm-
git switch release(orgit switch main) git pullcd buildcmake ..make
The source code is in the ./repo/vgm/app folder. After running the make command the custom firmware will be available at ./repo/vgm/build/app/vgm-fw-0.1.0.u2f. Use the qFlipper application to copy the file to your Flipper Zero SD Card. I copy it to a folder I created named vgm, but you can use any folder you prefer.
- Make sure the Video Game Module is attached to your Flipper Zero.
- Run the
Video Game Module Toolprogram located underApps/Tools(NOTE: some firmware useApps/GPIO/VGMfolder instead.) - If you want the official firmware, select
Install Official Firmware. Otherwise selectInstall Firmware from Fileand then choose the u2f file that you copied to your Flipper Zero.
- The easiest way is to edit COLOR_BG in app/frame.c This will change to use the background color you specify. The color is RGB565 format (5-bits Red, 6-bits Green, 5-bits Blue). https://rgbcolorpicker.com/565 is a color picker that can help figure out the hex value.
- You can also edit the COLOR_FG which is the color of writing.
- If you want to customize the LEFT BAND, edit framebuf[i] = color_bg; replacing color_bg with your HEX value, like
framebuf[i] = 0x8086;. - If you want to customize the RIGHT BAND, edit framebuf[FRAME_WIDTH - i] = color_bg; replacing color_bg with your HEX value, like
framebuf[FRAME_WIDTH - i] = 0x8086;. - If you want to customize the TOP/BOTTOM BAND, add else statement
if(frame_y >= 0 && frame_y < 64) {
if(is_pixel_set(¤t.frame, frame_x, frame_y)) {
color = color_fg;
}
} else if (frame_y<0) {
// TOP BAND
color = 0x8086;
} else {
// BOTTOM BAND
color = 0xFF00;
}