Now that the Type-0 project has my attention again I've been revisiting it's design and applying everything I've learned since the last time I worked on it to a new iteration. There's a lot to consider, especially given how much progress I've made on the software side in the process of working on the book for computing devices such as this.
I'm calling this iteration Type-0 Mark II.
I think I'll keep the basic form-factor since I see no reason to change it and I chose it in the first place because I like the simplicity of it. I might streamline it a little because it would be nice if it were easier and more comfortable to tuck it away and carry it. I'm considering allowing the display angle to be adjusted, or maybe to add some "kickstand" feet to allow it to sit at an angle on a table, but I'm not ready to commit to any of that just yet.
I'm going to keep the mechanical ortholinear keyboard. A quality mechanical keyboard is essential, and the ortholinear layout is simply the most compact option. I also like the ortholinear layout and the main thing holding me back from using it full-time is that right now I can only use them with a stationary setup. That said, I'm going to try to keep the design parametric enough so it's possible to use a QWERTY keyboard should someone else want to go that way.
The display is another matter. Here I'm torn because I like the theoretical simplicity of a character display but reviewing the journal (and revisiting my own memories) working with this display was a significant source of difficulty the last time I tried to work on Type-0. I think the reason is simple: this isn't a popular way to do things. I will probably take another stab at using the character display, but I'm going to timebox it so wrestling with it doesn't derail progress on the entire project again.
If I decide to give-up on the character display, what will I use instead? My first though is one of the commonly available long rectangular graphic LCD's with an i2c interface. I'd prefer something that works better in sunlight that most TFT/LCD displays, which would put e-ink at the top of the list, but I don't think the commonly available e-ink displays are usable for fast typing, and I'm also not sure if they are available in this desired form-factor. There may be another option that is more ideal, but I'll defer the search for when I know I have to perform it.
For the primary CPU I'm going to switch from the RP2040 to something ESP32-based. This has a number of advantages like WiFi/Bluetooth support but more importantly it aligns with the hardware I'm standardizing on for my Micro/CircuitPython projects making it easier to share software and simply make things easier for my brain. The ESP32 is so cheap, so common and found in so many devices that I'm comfortable accepting some of the trade-offs until I get around to designing my own chip and building factories to produce it.
I'm considering adding an additional MCU dedicated to the keyboard. I like how the direct GPIO approach reduces the part count, but in practice it creates some serious challenges on the software side and it also just gobbles-up GPIO pins that might be fun to use for other things. It might even be impossible when I switch to an ESP32 board (I'm not sure it will have enough available pins). I really don't like the idea of having to stick another chip/board in there with it's own separate firmware, etc. but on-the-other-hand if I do so, I could standardize all the peripheral I/O on i2c which makes for a much tidier architecture.
Another option if I go this way is to manage the keyboard and the display as a unit and treat them more like a serial terminal. This is interesting in that it's a long-established pattern, but it also feels like it might be overly-constraining and I don't want to make any hardware-level decisions that put more constraint than necessary on how the software works.
Oh what else?
I don't plan on changing the power supply any more than is needed if I decide to add a dedicated MCU for the keyboard. I'm toying with the idea of supporting replaceable dry cells, or adding solar charging, but I'm not ready to commit to any of that yet. I think if I could add a compartment for replaceable batteries that is optional, but retain the internal rechargeables that would be cool, but I don't want to give-up the rechargeable batteries for replaceable ones. The only reason I'm considering replaceable batteries is for the exceptional situation where USB power is unavailable. I suppose another option would be to expose a port or some terminals that an external power source or battery box could be attached in such an unusual situation, but that will depend on what ESP32 board is selected and what (if any) on-board charging/power management is available.
I had a lot of other cute/clever ideas for the original Type-0 that I'm going to set-aside this time around because I really want to get to something usable that I can take with on a trip this fall.
That's enough for now, I don't want to spend too much time in my head on this before laying my hands on it. With any luck I'll carve-out some time this week to start gathering parts and maybe take a pass at updating the printable parts...
Jason J. Gullickson, 2026