GameFlex-Controller is a flexible system that allows you to control driving games and vehicle simulators using:
- An Android application (your phone as a steering wheel/controller),
- A Raspberry Pi Pico (PicoETF) joystick running MicroPython,
- A Python bridge script that connects inputs to vJoy on Windows via MQTT.
This project was originally developed as part of an Embedded Systems course.
- Control any vehicle-based game (e.g. ETS2, Assetto Corsa, BeamNG.drive, Farming Simulator, etc.).
- Use your Android phone as a steering wheel and controller.
- Use a PicoETF joystick for a more embedded hardware solution.
- Inputs are transmitted via MQTT messages.
- The Python bridge converts MQTT messages into virtual joystick inputs (vJoy).
- Modular: use phone, PicoETF, or both at the same time.
android-app/
→ Android application source code (Kotlin).scripts/
→picoscript.py
→ MicroPython script for PicoETF joystick.bridgescript.py
→ Python MQTT → vJoy bridge script.
docs-bs/
→ Full documentation in Bosnian language (specifications, implementation details, setup guides, and demo).
- A driving or vehicle simulator game on Windows that supports joystick input.
- vJoy virtual joystick driver → Download here.
- MQTT broker (tested with MQTTX or Mosquitto).
- Python 3.10+.
- (Optional) Android Studio if you want to build or modify the Android app yourself.
The Android app has been built and published as an APK in the Releases section.
You can download the latest version (GameFlex-Controller.apk
) directly to your phone and install it.