Introducing Video Game Module Powered by Raspberry Pi
We're excited to announce the Video Game Module, our new product developed in collaboration with Raspberry Pi! The module is powered by the first chip designed by Raspberry Pi—the RP2040 microcontroller, the same as in the Raspberry Pi Pico board.
We slightly overclocked the microcontroller so it could generate a video signal. This allowed us to add the Video Out port for connecting to a TV and mirroring the Flipper Zero screen. The module also has a motion-tracking sensor that can be used in games and apps. As always, the firmware and schematics are completely open-source, so we’re excited to see the ideas our community will come up with.
Technical Specs
We decided to encase the module instead of leaving it as a bare PCB so that it could fit tightly on Flipper Zero and support the weight of a heavy video cable. The body of the module is made of the same plastic as Flipper Zero, so the devices look like a single unit when connected.
- Microcontroller: Raspberry Pi RP2040. Dual-core ARM Cortex-M0+ processor, clock running up to 133 MHz.
- SRAM: 264 kB on-chip.
- Gyroscope & Accelerometer sensor: TDK ICM-42688-P is a 6-axis MEMS motion-tracking sensor (IMU).
- USB Type-C port connected to the microcontroller. Acts as a USB device or host (with the limitation that USB power delivery is not supported).
- Video Out port: DVI-D signal in 640х480 px, 60 Hz. The port supports a well-known video standard that we can't name due to copyright limitations 🤫 The first letter is H, and the last one is I.
- GPIO breakout: 11 GPIO pins connected to the RP2040 microcontroller, two ground pins, and one 3.3 V power pin.
- Boot button: activates bootloader mode (for developers).
- Reset button: reboots the module hardware.
Video Out port
Playing games and using apps developed for Flipper Zero is much more fun on a bigger screen. The Video Out port can also be useful for practical purposes like displaying intercepted data on a larger screen while monitoring the broadcast on your Flipper Zero.
For the video out, we chose the most popular video port found in most modern TVs and monitors.
The module transmits the DVI-D video signal with a resolution of 640х480 px and a refresh rate of 60 Hz. The image resolution may seem low, but it’s important to remember that Flipper Zero’s screen resolution is 128х64 px, and such pixelated image looks very nice and sharp on a TV screen.
Video cables and their connectors are usually heavy, so we designed the module to fit Flipper Zero very tightly, making it hard to pull the module out of Flipper Zero when connected to a TV.
Gyroscope & Accelerometer Sensor
To add another input method, we installed a 6-axis MEMS motion-tracking sensor into the Video Game Module. This TDK ICM-42688-P sensor has a gyroscope and accelerometer. It can be used to control games and for more practical purposes like controlling a computer with an air mouse.
Independent access to the sensor from Flipper Zero
To make the motion-tracking sensor accessible not only for the Video Game Module microcontroller, we exposed the sensor's SPI pins at the Flipper Zero connector. This means that the motion-tracking sensor can be used directly by apps running on Flipper Zero, for example, Air Mouse.
The motion-tracking sensor is also connected to the Raspberry Pi RP2040 microcontroller inside the Video Game Module. This means that Video Game Module firmware and apps running on Flipper Zero have access to the sensor. Unfortunately, the sensor can’t be used by the module and Flipper Zero at the same time because of the SPI interface connection limitations.
Quick Start Guide
Make sure to read the Quick start guide carefully before starting the Video Game Module for the first time because these steps may not be immediately obvious:
- Update firmware on your Flipper Zero. You’ll need firmware version 0.98.3 or later.
- If you keep your Flipper Zero in a case, remove the silicone bumper before installing the module:
Demo Apps
The Raspberry Pi RP2040 microcontroller inside the Video Game Module makes it compatible with many open-source Raspberry Pi Pico projects. This means that the module can be used as a standalone device without connecting to Flipper Zero.
Here are several apps we prepared for Flipper Zero that work with the Video Game Module. We hope that trying them out will help you appreciate the sensitivity of the motion-tracking sensor and video out refresh rate. We’ll be happy if these apps inspire you with ideas for your own projects!
Oscilloscope (Scoppy project)
Scoppy is an open-source project that turns Raspberry Pi Pico into a simple 200 kHz Digital Oscilloscope. The Scoppy code can also run on the Video Game Module—just flash the module with Scoppy firmware and connect it to an Android smartphone via USB.
Scoppy Sources & Documentation: github.com/fhdm-dev/scoppy
Air Arkanoid game
Arkanoid is one of the most famous arcades in the world. Our version of the game is designed for Flipper Zero and supports the Video Game Module. Control the paddle in the game by tilting your Flipper Zero left or right and using the central button on the device’s directional pad.
To download Air Arkanoid, go to the Apps tab in the Flipper Mobile App.
Air Mouse app
The Air Mouse app turns Flipper Zero with the module into a computer mouse. Control the pointer on your computer by tilting and rotating your Flipper Zero with the help of the motion-tracking sensor inside the module. Simply connect your Flipper Zero to a computer or smartphone via Bluetooth or USB.
To download Air Mouse, go to the Apps tab in the Flipper Mobile App.
Flipper Zero Game Engine
To make it easier to develop games for Flipper Zero, we’re sharing our Flipper Zero Game Engine. The game engine helps game developers to do routine work faster, such as vector math, sprite caching, rendering, event and object behavior processing, etc. The Flipper Zero Game Engine also includes a motion-tracking sensor driver (ICM-42688-P), that can be used in games that support the Video Game Module. We’re also sharing an example of a simple demo game that uses the Flipper Zero Game Engine.
- Flipper Zero Game Engine: github.com/flipperdevices/flipperzero-game-engine
- Demo Game: github.com/flipperdevices/flipperzero-game-engine-example
Open-source Firmware and Schematics
As always, the firmware and schematics are fully open-source. We can’t wait to see the amazing use cases for the module the community will come up with. We also welcome commits to our official firmware repository.
- Firmware Sources: github.com/flipperdevices/video-game-module
- Schematics & Pinouts: docs.flipper.net/video-game-module/gpio
Compatibility with Raspberry Pi Pico
We exposed all unused RP2040 pins at the 14-pin GPIO breakout and Flipper Zero connector for you to use in your projects. You can compare the Video Game Module pinout and Raspberry Pi Pico board pinout below:
- GPIO pins 8-15 and 18-20 are used inside the Video Game Module for video out. These pins aren’t accessible via Video Game Module connectors.
- GPIO pins 0-7, 16, 17, 21, 22, 26-28 are exposed at the connectors in both the Video Game Module and the Raspberry Pi Pico board. Note that pins 2-7 are also connected to the motion-tracking sensor.
- GPIO pins 23-25 and 29 are used inside the Raspberry Pi Pico board and aren’t accessible via the connectors. In the Video Game Module, these pins are unused and are exposed at the 14-pin GPIO breakout.
How to Buy
The Video Game Module is now available for customers in the EU and US through our official shop and our official distributor, Lab401. Shipping to other regions through partner distributors will be available soon.