Saturday, 14 December 2024

Freebee Pi

Just musing for now, but how cool would it be to make a simple board with a Freebee keyboard, space for a floppy controller, normal bee serial and parallel ports, plus power etc., and then just whack a Raspberry pi zero on it to do all the compute magic. Really easy, quick, and cheap to build, and gives the hardware bee experience but using an emulation in the Pi, so it just plugs into any old HDMI display.

And showing how I randomly change directions in stuff like this. I bought a very cool Keychron keyboard recently, ironically with the intention of having soimething I could steal keyswitches from, as it's keyswitches are socketed. It's a cool keyboard (I'm actually using it now). But as well as the socketed keyswitches it does really nice bluetooth, so I can use it anywhere. Of course I pulled it apart and it's got an little processor that does the work with a bluetooth module.

This leads to some inevitable interwebs research, and I found that there's whole libraries of HID (keyboard) stuff that's completely open source. And Adafruit do a phenominally awesome ESP32 "Feather" module that has integrated USBC and Bluetooth, that has all the brains I need. Further wandering around the Adafruits website showed me the Adafruit floppy wing that does a whole floppy interface WITHOUT NEEDING A FLOPPY CONTROLLER! (Please excuse the shouting).

But once I've spliced the floppy interface onto the feather, I haven't got enough GPIO left for my keyboard... What to do? A bit more searching shows the incredibly well supported MCP23S17 16 bit SPI IO expander, which is like a Z80 PIO but with an SPI interface to the processor.

So now the whole direction of the project has changed. What if rather than just doing a Microbee clone in a Raspberry PI, we instead do a PC/Mac/Linux/Whatever peripheral, that can connect via USB or Bluetooth, that gives the host access to Microbee floppies (ala uBeedisk), a Microbee format keyboard, Microbee tape I/O, Microbee compatible serial connector, and even the 15 way GPIO port. Just plug it in (or pair it and get the power from a normal Microbee plug pack), and play. You can use it as a keyboard (I'm that perverse) or run a uBee512 and use it as the keyboard for your emulator...

This is what the board is looking like so far. There was a bit of extra space so I added a second feather device. This can be an OLED display, or sound interface, or really whatever you want. I've tried to limit the use of GPIO as much as possible (using the SPI expanders) so that most of the GPIO pins are free for use by the feather.

No comments: