Dear Issac, about that keyboard idea


It has been a while since I've blogged. Thank you for the push to do this publicly.

For anyone who doesn't read my private DMs with Issac, after starting to discuss my keyboard idea, he suggested:

Ok so I have an idea.

What if we go back and forth on this in public

Mailing list style* but posting to our respective blogs.

* Mailing List Style

Issac sent a blog post a couple days ago - Dear Jesse, What's up?

Between being sick and travel, it has taken some time to get started, but here we go.

Write-only Keyboard

I want a keyboard to type ideas into as they occur wherever I am (in a meeting or in bed at night).

I am a touch typist with fairly good accuracy (able to type without looking at either the keyboard or the screen without that many mistakes).

In the past I have used my laptop in bed at night to write notes with the screen completely turned off. I want to recreate that experience rugged hardware (I don't want to break my screen by misplacing the laptop after finishing). I also want the software to be simpler - you can only write, there is no editing, no apps (that you can accidentally switch to), just notes that show up in an inbox (of some kind) you can edit later.

Atreus + ESP32 + Battery = Win?

I'm imagining an Atreus that I can take everywhere and it uploads my typed notes over wifi when available.

Atreus in back pocket

Atreus in back pocket - © Phil Hagelberg

What is my goal?

You asked "what is the goal?"

I care both about building the device but also learning more about making things out of atoms and new technologies.

And I think collaborating with folks such as yourself is pretty darn fun too!

What do I want to learn?

This is definitely a major factor.


I would like to learn about batteries and more generally dealing with power for microcontrollers based projects.

Between Arduino and the ESP family of devices (and whatever new goodness Adafruit sends in their quarterly AdaBox), I already have a collection of microcontrollers / sensors / components that work with a mix of 3.3v and 5v.

I would like to have a better understanding of how to use existing components with microcontrollers and how to power them (using both wall power adapters and batteries).

Processing logic signals?

blank stare, goes to wikipedia, closes tab

I don' think this is something I'm interested in as a topic on its own. I'm guessing that at some point I might need to know some of this in order to build something I want. But I don't feel a pressing need to learn it for its own sake.

It seems like to build a keyboard without having to have one GPIO pin per key, I only need to learn the basics of how to make a keyboard matrix.

The author says I need to understand Ohm's law. I remember V = IR from high school - not that I understand the implications. Given that the author says the solution is diodes on every switch...

Is the keyboard matrix even related to processing logic... Should I spend the time to understand that page as it would help with my prior stated goal of "understanding of how to use existing components with microcontrollers and how to power them" - or should is knowing that it is a solved problem - just add diode???

PCB design / fabrication?

Given that I'm not yet comfortable with the basics (resistors / diodes / etc), I am fine sticking with breadboarding / using . Once I feel more comfortable with the basics, this would be cool to explore (next year?) atreus hand wired

atreus hand wired

Hand wired version © Brendan Mattia

Coding on microcontrollers with different constraints?

I don't think this is one of my goal in itself.

I feel comfortable with C and other low level languages - so if I need to code in a low level language to save power, that is ok with me.

Like you, I'm blown away with micropython / circuitpython - especially when combined with low powered wifi devices.

I would like to know more about constraints around things such as "write-cycles" (is there a limit to how many times you can write files to flash). And assuming that I figure out how to use a battery in a sane way, how to minimize power usage.

What do I want to accomplish?

I want the device, but I also this device is part of a larger journey into making things that are both digital and atoms.

Use it or Build it?

I want to use it. While there are projects I do just to learn things, this is a real need I have. Longevity

I like building things incrementally, so I'm ok with the "v0" being throw away. And I expect needing to build a few versions before having my final solution.

So, given my current (incomplete) knowledge about the space, I feel like building two different prototypes would be a good next step.

beautiful wooden keyboard

Beautiful Atreus build © Joel Cranmer

My Process

Side projects and "Adult-ing"...

How much time do I want to spend on this?

I want to spend a lot of time. The reality is that between family, health and work - I don't think I can do more than a few hours a week on this.

My passion is making things and learning. Now that my daughters are older, family time is starting to overlap with maker time in awesome ways.

How much time before I'm saving notes somewhere?

Since I think I can get the RF keyboard prototype working quickly, I don't think this is a major constraint. The place I'm most hurting for this device is when in bed at night. (I previously built a prototype using a USB Thumbdrive mini voice recorder to recording thoughts at night. Then when I plug it into my USB it would automatically upload to google cloud storage and use thier transcription service. Then download the text and put it in my notes with a link to the audio so I could listen if the transcription was bad. It worked well - while my wife was on travel for work. It didn't work so well trying to record thoughts without waking her...)


Yes, iteration is good. The more I know, the more I know I don't know. I am wrong a lot, but can figure out what "right" is by iterating towards it. Smaller cycles to test out ideas. In software I like to break things down to the simplest idea that embodies the core idea, build that, then continually improve, each step being "shipable".

Next Steps

I would love to hear what you think next steps should be. If I was exploring on my own, my next steps would to start to working on the ideas laid out in "explore different questions about the final device".

At a higher level, I would love to hear what you recommend for me learning electronics in general. My daughters and I have started with @chibitronics and we loved When Thea LED The Way.

Here are some of my rambling notes / research

rf keyboard with raspberry pi zero w