I discovered a way to send 1-bit of data from the Commodore 64 to the Joysticks. And I use this one-bit of data to turn on/off the rumble in the gamepads through the Unijoysticle.
TL;DR: Support for Amiga and Atari ST mice, USB console, and re-connect improvements.
I ‘m happy to announce that Bluepad32 v3.5 has been released. It contains two new big features:
Mouse support
Console
and many fixes & improvements here and there.
Mouse support
Some of the supported mice
Mouse support has been added both at the “core” level, and at a “platform” level.
By “core” level, I mean that all platforms (Unijoysticle, NINA/AirLift, Arduino, etc.) receive the mouse information: x & y movement and the Left, Middle and Right buttons.
And by “platform” level, I mean that the Unijoysticle platform transforms the mouse data into quadrature events that both Amiga and Atari ST computers can understand.
Using mouse on the Amiga 500
See the complete list of supported mice here: supported mice
For those not familiar with Unijoysticle 2, it is a device that allows you to use modern Bluetooth gamepads like Sony DualSense or Nintendo Switch controllers (to name just a few) on old computers like the Commodore 64 or Amiga.
What’s new in version 2+:
Case friendly: lower profile, LEDs & buttons are close the border and has mounting holes.
Looks nicer: Uses SMD components for almost everything
Supports buttons 2 & 3 in port #2. Some Amiga games might use them.
Cheaper to manufacture. I reduced the price from $60 to $35
It is now possible to use Bluetooth gamepads both in Arduino and CircuitPython projects.
This means that you can use your PlayStation (PS3, PS4, PS5), Nintendo (Wii, Wii U, Switch) and Xbox One S gamepads in your electronics project: control a robot, home-automation, video games, etc… everything controlled from your favorite gamepad.
The catch is that not every Arduino or CircuitPython boards are supported. In fact, only a few of them are supported.
For Arduino, the boards that have the NINA-W10x (ESP32) co-processor are supported, like:
My goal is to build a video game console for (my) kids. I want to teach them programming in a fun way: fun for them… and also fun for me. The video-game console features are:
Chosen: 64×32 LED matrix. Let’s see what we can do in this extremely low-resolution screen.
A powerful enough micro-controller:
Chosen: Matrix Portal M4, mostly for convenience since it comes with an ARM Cortex M4, ESP32, “expansion port” + header to connect to the matrix LED. It already supports CircuitPython. As a bonus it has an accelerometer.
Portability: It should be portable, no need to use an external power supply.
In other words, I’m building a Nintendo Switch killer. What will happen next is that Nintendo will run out of business. If this happens, my 7-year-old kid will kill me, since his dream is to be a video game designer at Nintendo… so probably I shouldn’t be that aggressive in my marketing campaign.
I’m happy to announce the release of Bluepad32: gamepad support for the ESP32.
Bluepad32 is a firmware that runs in the ESP32 microcontroller. It supports all the modern Bluetooth gamepads like Sony (PS5, PS4, PS3), Microsoft (Xbox One S) and Nintendo (Switch, Wii) gamepads.
Who is this for?
This is for:
…tinkers / makers / electronic hobbyist
…that want to add gamepad support into their projects