Hardware, Software, and Wetware on the Bleeding Edge

Tsurino Handheld

Now I’ve got a bit more of an ambitious project this time. I heard about the Beepy and have been interested in getting one, but it seems that it still isn’t available, so I’m going to try my hand at designing my own. It seems to be a far from trivial project. The Beepy uses a BlackBerry Q20 keyboard, but looking around for those on the repair parts market I find that they are several times more expensive than the BlackBerry Q10 keyboard and harder to find and interface as well. In contrast the Q10 has a lot of resources for interfacing it, and after I got several of these tiny Hirose connectors that I’d had to ask some phone repair technicians to solder onto a breakout board I had made (this invariably requires a hot air gun or hot plate which I don’t have). This is fragile stuff and it was fairly difficult to get this working, especially since the connectors are rather confusing. I was able to partially interface it to an Arduino Nano so I know it can be done. I have an Adafruit Sharp Memory Display which should be good enough, though using it instead of a raw LS013B4DN04 LCD module (which is hard to come by now) might make things slightly bulkier.

A suitable microcontroller that might be usable to provide keyboard events over I²C might be the ATMega8a, which is also used in the M5Stack CardKB. The RP2040 used in the Beepy (which cribbed from the SolderParty BBQ20KB) feels like it’s overkill for this sort of thing, and I don’t think I have the ability to solder a QFN package either.

Power Tree

After that I kinda need a power source, and well, designing a battery power supply proved to be a bit of a challenge. A serious power management IC like the AXP803 used on the PinePhone seems like overkill, so instead I’ll make use of three relatively simple ICs. For the charger there’s the TP4056 (the Beepy uses the related TP4054), which is found on dirt-cheap USB charging power boards. Next I need a boost converter of some kind to get a straight 5 volts out of the battery. The Beepy uses the TPS61030, which TI has acknowledged has problems and they recommend that you use something else in new designs. One such component that I often see on standalone boost converter boards is the MT3608, which I once used to make a GAL22V10 programmer, and it looks like it should be suitable. If not, the TPS61023 might be better, but it’s much more expensive. The AMS-1117 LDO regulator should suffice to get us 3.3V out of that too.

As for the core system itself, I’d been thinking of using a Milk-V Duo, a very small RISC-V SBC that looks like it might be able to do more than enough to be useful. The one thing it doesn’t have is Wi-Fi, and it’s not clear how I’d interface it to one. Supposedly it has SDIO pins that can be used for this, and perhaps I might be able to use an ESP-12F module to add Wi-Fi capability.

Milk-V Duo (CVITEK CV1800B)

By the way, Tsurino (釣野) is originally the name of a character I invented, Tsurino Aran (釣野愛桜), who transforms into a cyberpunk hacker magical girl named Enigma after (depending on the story) she encounters a future singularity superintelligence that grants her the power to save the world. Yeah she’s a riff off Alan Turing.

Leave a comment