How many buzzwords can I fit into one project? Find out soon with my ESP32 E-Ink 18650 USB-C 4G LTE BLE GPL Linux mechanical-keyboard ruggedized open laptop!
See Project Goals for more information/an actual description.
Chromebook : Internet :: NAVI : bash. A hackable E-Ink "mini-luggable" with batteries that last a year.
To make the experience fit your profile, pick a username and tell us what interests you.
We found and based on your interests.
How many buzzwords can I fit into one project? Find out soon with my ESP32 E-Ink 18650 USB-C 4G LTE BLE GPL Linux mechanical-keyboard ruggedized open laptop!
See Project Goals for more information/an actual description.
I was looking for good docs on E-Ink displays and found articles like Essential Scrap's tutorial for repurposing old e-reader displays, Sprite_TM's webpage-viewing low-power display, and the badgy project here on hackaday.io (coincidentally, the last two are both ESP8266-driven WiFi E-ink display projects). While I considered the ED060SC4 (preferably H2) mentioned in the Essential Scrap article, I wasn't looking forward to designing (or borrowing from an open-source hardware project) a driver with all of those weird voltages and the shift registers for setting pixels.
Upon further perusal I found a mention of Good Display in the comments of the badgy project. I looked on their website (or an affiliated reseller? It's a little confusing because half of it is in Chinese and the other half requires Javascript) and found a 7.5 inch BWR E-ink display (also on Aliexpress). As soon as I knew it was possible to have multiple colors I knew this was a feature the laptop needed. If editing code, for instance, the red could be used for minimal syntax highlighting. Looking at their demo video the display seems as responsive as the other ones I was considering, it has an SPI interface, and it only costs about $20 more than one of the old ED060SC4s. Some code can probably be shared with the badgy project as well. All things considered, the GDEW075Z09 seems like a better choice than an older recycled model.
The CPU I've chosen for the project is the ESP32. Of course, this chip is normally used in an embedded context, not as a CPU in a general-purpose PC. This may seem like an odd choice - and it is, part of the fun is trying to get this to work. But when you consider the non-goals of the project, it starts to make sense:
Of course, there are some obvious downsides to trying to use a microcontroller as a general-purpose user-facing CPU:
The number one goal of this project is to have the battery last as long as humanly possible. My goal is for this computer to be the one you'd want to be stuck with in a post-apocalypse scenario. A computer with a ten-year battery would be totally ridiculous - but in a good way.
As I mentioned in a previous project log, the computer I'm writing this on only runs free software, so I'm not about to taint it by installing Fusion 360 in a VM. Even though I don't have Fusion installed, I have the next best thing: real life. Let's get the "case" (a lunchbox for those of us just tuning in) and see how many 18650s we can put in there.)
I don't even have any 18650s on hand though. (I am a student working on this project with no budget, so skull this project so I can buy some batteries!) My first thought was to 3D print some mock 18650s, but then I realized how stupid that was. I have a jar full of U.S. pennies though, and Wikipedia tells me they are about 19 mm in diameter - just a little bigger than the 18.6 mm max diameter of an 18650. By layering pennies on the bottom of the box (and assuming I have enough vertical space), I can approximate how many batteries I can fit in there:
So let's assume I can cram 80 18650s in there. That's kind of ridiculous - and probably not something I will actually do, even with my fixation on battery life. OK, let's try again, but positioning them horizontally, as if they were in battery holders. An 18650 is 65.0 mm (it's in the name!) or about 3.5 pennies tall. If we have 8 pennies of vertical height, we could fit 10 columns of 2 batteries each, and we're left with lots of room for cooling, extra boards, etc. sort of like the Novena.
I'll discuss why I chose the ESP32 in more detail in a later project log, but for now what you need to know is that it is very power-efficient, especially when positioned as a shitty CPU instead of a great microcontroller. Its low-power modes allow it to go into sleep while staying connected to a Wi-FI AP, and it has a secondary controller that uses even less power - on the order of µA. Assuming the laptop is being actively used 25% of the time (that is, 6 hours a day - a generous estimate), sleeping while connected to an AP 50% of the time, and sleeping until keys are pressed 25% of the time (with no network traffic), a little back-of-the-Wolfram math suggests the battery should last almost ONE AND A HALF YEARS. Holy crap. Of course, this figure will be lower once I account for the e-ink display, keyboard controller, etc., but I no longer think battery life will be such a hard problem...
The Free Software Foundation's Respects Your Freedom certification "encourages the creation and sale of hardware that will do as much as possible to respect your freedom and your privacy, and will ensure that you have control over your device." The RYF cerfitication has several criteria a project needs to adhere to to earn it:
And there you go. Once I have a working prototype and I am sure all these plans are feasible, I'm pretty much going to copy-paste this into an email to the FSF and wait for my shiny sticker.
It feels good to just dump all this out onto the page. These ideas have been brewing in my head for months...
This project started by me making lists of what my "ultimate laptop" would and wouldn't have. My ultimate laptop would have:
And as with any project it is important to define non-goals. In this case they almost describe the project better than the goals:
Of course, many of these non-goals could still be achieved by a motivated enough hacker. For instance, I don't plan on writing a driver for the Hall effect sensor in the ESP32, but if someone needed one they could. Someone probably could run X on it given enough effort, it just isn't a priority for me.
Create an account to leave a comment. Already have an account? Log In.
Become a member to follow this project and never miss any updates