Bluepad32 support for Arduino and CircuitPython

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: Arduino Nano RP2040 Connect (great board, get one if you haven’t already) Arduino Nano 33 IoT Arduino MKR WiFi 1010 Arduino MKR VIDOR 4000 WiFi Arduino Uno WiFi Rev 2 …and probably a few more. If it has the NINA-W10x co-processor, it is supported. And similar for CircuitPython, the boards that have the AirLift (ESP32) co-processor are supported, like: Adafruit MatrixPortal M4 (great to create a video-game console) Adafruit Metro M4 Express AirLift Adafruit PyPortal Adafruit PyBadge With the additional benefit that you can use any CircuitPython board by attaching the stand-alone AirLift module: AirLift module

July 26, 2021 · 5 min · ricardoquesada

Building Quico: improved sound, gamepad, and more (part III)

This is the third blog-post regarding “building a video-game console for (my) kids”. See Part II: chiptune, and Part I: gamepad. https://www.youtube.com/watch?v=Ne4RNotvTO0 Quico We have name: Quico. From now on, I’ll refer to this project as “Quico”: Quico ( /ˈkiko/), short for Kids Console (or Kids Computer) Also, one of the main characters of El Chavo del Ocho Sound Shield I converted the breadboard into “shield” for the MatrixPortal M4. Shield for the MatrixPortal M4 “Shield” features: Output: Headphones: Audio jack or Speaker: 5V/GND/AudioOut pins Fits perfectly on top of the MatrixPortal M4 Sturdy connection: 8 pins + 2 screws Easy to solder: All components are through-hole, except audio-jack (SMD) but it is as easy to solder as the rest. Open source / open hardware ( docs, schematics, layout) Shield + MatrixPortal M4 + LED matrix

December 31, 2020 · 2 min · ricardoquesada

Designing a modern retro console for (my) kids: Adding chiptune music

The ideal modern-retro video game console https://www.youtube.com/watch?v=G_Fzt8RlbFc 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: Modern components, with a retro “spirit”. Easy to program, a must. Chosen: Python, in particular CircuitPython Gamepad support: Multiple gamepads at the same time (multiplayer is a must). Chosen: Bluepad32 firmware since it supports all modern Bluetooth gamepads ( see my previous post) “Retro” sound: Chosen: SN76489 (more info down below) “Retro” screen: Chosen: 64x32 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.

December 13, 2020 · 5 min · ricardoquesada

Bluepad32: Gamepad support for ESP32

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. https://www.youtube.com/watch?v=V0AGUe-CrEY Who is this for? This is for: …tinkers / makers / electronic hobbyist …that want to add gamepad support into their projects …in a maintainable and easy way For further info, read: Adding new platforms. Real world examples Unijoysticle 2: Gamepad support for the Commodore 64 / Amiga / etc. MatrixPortal M4: Gamepad support for the Adafruit AirLift family of boards ULX3S: An FPGA-based computer Just add an ESP32 to your project, and control it with a gamepad!

November 24, 2020 · 2 min · ricardoquesada