To: My Website Visitors
Jesse and I are writing back and forth about a project he’s working on to build a screenless qwerty note-taking device.
Jesse is a very capable software hacker with some hardware tinkering behind him. If you’re following along, your mileage may vary, but feel free to write with your own questions and ideas.
You can find me below or at email@example.com
To: Jesse Andrews
You mentioned that you’re into an iterative approach. I am too! One of the things that I like to do early-on for iterative projects is to define the main blocks and their interfaces.
Defining the blocks means you can focus on one part of a problem at a time.
Defining the interfaces means that you can trade out different blocks and likely get similar results.
Down to the brass tacks then! I’m going to focus on Hardware for now. I really like the idea of a pocket-sized qwerty with all the bells and whistles. I think it’s possible with maybe 3 or 4 jumps from my “Version 0” as described below.
I suggest that you take this project in three parts that can be iterated almost totally independently from one another.
Once we’ve defined the main bits, the next thing to do is to list the interface between them.
If I were gonna go out on a limb, I’d guess that we can make “USB” the interface at each point for the hardware bits. We have to do a little math to figure out if I’m going to recommend USB 2 or USB 3. The biggest difference for you is that USB 3 has many more options for the amount of power you can draw.
If things stay below 500mA of power draw, then sticking with USB 2 is probably a good idea. It’s a much more simple protocol. If they don’t, then we can make some adjustments.
Between the Computery-bits (whatever they are, to be discussed below) and the power bits, we’ll use USB.
This makes it easy to source a wall-wart power supply, or to use a USB battery pack, in a few dozen or more available sizes and form factors.
If you want to learn more about power management, you can DIY a USB-compatible power supply as well. You could probably make one from lemons or potatoes.
This is a bit of a tricky suggestion because it puts a constraint on both your keyboard and your computery bits.
Your computer needs to support some kind of USB host mode. This is easy to do with any raspberry pi or x86 kind of computer. It gets a little more complicated with microcontrollers, but not a lot.
We can find a microcontroller that supports USB On The Go (OTG) directly in the hardware.
Honestly I trust you to come up with something useful here. I’d suggest we plan on both wifi and removable storage. I think you should save onto “disk” in some durable-but-readable format. I’d suggest line-formatted JSON or protobufs for serialization and deserialization of your notes.
Build something quickly and figure out what you like about it.
Make this mobile. Battery-backed RPI should be pretty straight forward to use a USB backup battery.
Use a keyboard you like better. I like using the Atreus because it’s a pretty good open-source base to keep growing from too.
This is a fun time to iterate on the keyboard and the eventual form factor.
Let’s swap the raspberry pi for something a little slimmer?
We can investigate a raspberry pi zero, or any number of microcontrollers with USB-OTG support.
Let’s consider collapsing the computer/power system blocks into one integrated “compute & power” unit. Maybe we custom design/fabricate this?
Let’s collapse the keyboard, power, and compute blocks into one custom project, based on all the stuff we learned above.
26th February 2020
I won't ever give out your email address. I don't publish comments but if you'd like to write to me then you could use this form.
I'm Issac. I live in Oakland. I make things for fun and money. I use electronics and computers and software. I manage teams and projects top to bottom. I've worked as a consultant, software engineer, hardware designer, artist, technology director and team lead. I do occasional fabrication in wood and plastic and metal. I run a boutique interactive agency with my brother Kasey and a roving cast of experts at Kelly Creative Tech. I was the Director of Technology for Nonchalance during the The Latitude Society project. I was the Lead Web Developer and then Technical Marketing Engineer at Nebula, which made an OpenStack Appliance. I've been building things on the web and in person since leaving Ohio State University's Electrical and Computer engineering program in 2007. Lots of other really dorky things happened to me before that, like dropping out of high school to go to university, getting an Eagle Scout award, and getting 6th in a state-wide algebra competition. I have an affinity for hopscotch.