The VICEboard enables you to connect your C64 keyboard (or one from the VIC20) via Bluetooth to a PC, Mac or Raspberry Pi. It uses the "positional" keyboard mapping as defined by the VICE emulator. So you can use this keyboard to get an experience closer to the original machine. It is recommended to use it with the SDL version, since the VICEboard offers optional key combinations mapping to special keys, like "CTRL + F7" will send "F12" to access the configuration menu.
The VICEboard, disconnected:
A successful Bluetooth connection turns the LED to green:
A view at the inside:
The ESP32 microcontroller board with battery:
The black case was ordered at Pixelwizard.eu. It must be black, since the machine running VICE is a black desktop machine.
Two things: Bluetooth is wireless, and since the ESP32 board I used, is capable of handling a LiPo battery, no wires are needed. In fact it's quite cool, just to pick up the board, press RESTORE (which is for obvious reasons the wake-up key), watch the LED turn from red to green, showing an established connection, and then start typing.
The other thing is, that there is slightly more logic on key handling: pressing SHIFT + cursor keys sends the codes for cursor up and left. And there's also a meta-key combo that was inspired from BMC64: pressing CTRL + F1-F7 will send F9-F12, so CTRL + F7 will get you to the menu of the SDL version of VICE which you then can navigate with the cursor keys. And this is configurable using a terminal program on the USB serial interfaced, which is also used for charging.
Downside compared to the Keyrah is that there are no joyports, I don't take this very serious, as the joyports on the Keyrah also don't work 100%, if you use both at once. Also I support only C64 keyboard right now, no C128, C16, or Amiga.
What's also quite nice is that building your own is as easy as it can be: just connect the GPIOs of the ESP32 to the keyboard connector and the dual LED. No resistors needed, pwm does the right brightness. Even the setup of the GPIOs can be configured rather easy in the source code. I have prepared the code to be able to setup the GPIOs using just a jumper wire.
One idea I have for future improvements is to create a PCB for a specific common ESP32 module, so you only have to solder in the connectors and the module. Soldering ~20 wires on a smaller footprint led to problems like a wire coming off.
There is a difference between the classical "wireless keyboards" and Bluetooth: Bluetooth uses one generic receiver and the rest is done in software, so no special Bluetooth keyboard receiver. There is no Bluetooth included by RetroGames, and since they are violating the GPL, there is no easy way on adding new kernel modules, which would be needed for the Mini. I've dissected mine from the software point of view, after soldering in the UART connector.
I can even tell you, which build system they use. Which is good, because it means reproducing a build and adding features like support for USB ethernet for uploading data or adding a Bluetooth stack for my keyboard would be rather easy, after the source code has been released. But I've heard they are deaf on that ear, and you'll need a lawsuit to get the code.
But rest assured, if I come up about some wireless USB connectivity, I'll see if I can come up with a conversion option of the VICEboard.
I also noted another problem: the VICEboard is intended to run with a positional keyboard mapping, while THE C64 MINI only supports symbolic keyboard mapping. While it should be possible to counteract that effect, it would be more reasonable to ask Retro Games Ltd. for inclusion of the mapping. It might be also possible to misuse one of the country mapping for positional by changing a file on a modded THE C64 MINI.