Introducing Video Game Module Powered by Raspberry Pi
2024-2-14 00:1:30 Author: blog.flipper.net(查看原文) 阅读量:11 收藏

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.

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.

The module is powered by the Raspberry Pi RP2040 microcontroller
  • 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.

The Video Game Module allows mirroring the Flipper Zero screen to a TV

For the video out, we chose the most popular video port found in most modern TVs and monitors.

We can’t name the port’s standard due to strict copyright limitations. Getting certified to use the name seemed like too much work. We were too lazy to do it :)

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.

The top side of the Video Game Module with the Video Out port and status LED

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.

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.

0:00

/0:04

The motion-tracking sensor can be used in apps and games

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 connected to the Raspberry Pi chip and Flipper Zero

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.

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:

  1. Update firmware on your Flipper Zero. You’ll need firmware version 0.98.3 or later.
  2. If you keep your Flipper Zero in a case, remove the silicone bumper before installing the module:
Remove the silicone bumper if your Flipper Zero is in a case

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

Raspberry Pi Pico 200Khz Digital Oscilloscope : 14 Steps (with Pictures) -  Instructables
The Video Game Module can be turned into a simple digital oscilloscope

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.

The Air Arkanoid game can be controlled via the motion-tracking sensor in the Video Game Module

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.

Control your computer with your Flipper Zero and the Video Game Module via Bluetooth

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.

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.

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:

The Video Game Module pinout and Raspberry Pi Pico board pinout

Please note that although the Video Game Module is compatible with the Raspberry Pi Pico, because the module is built on the same microcontroller, the GPIO pinouts are slightly different.

  • GPIO pins 6-15 and 18-20 are used inside the Video Game Module for video out and for connecting the motion-tracking sensor. These pins aren't accessible via Video Game Module connectors.
  • GPIO pins 0-5, 16, 17, 21, 22, 26-28 are unused and exposed at the connectors in both the Video Game Module and the Raspberry Pi Pico board.
  • 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.

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.


文章来源: https://blog.flipper.net/introducing-video-game-module-powered-by-raspberry-pi/
如有侵权请联系:admin#unsafe.sh