Beastie Box is my project to create my dream hacker’s laptop from off-the-shelf components.
- minimum two-hour useful battery life
- ergonomic mechanical keyboard
- matte, HD screen
- GPIO (analogue and digital in & out)
- a functional hacker’s laptop, usable for work and play
- all software and schematics released under an OSI license
My intent is to break the project down into several milestones, each of increasing cost and complexity. I can scrub the project at any milestone, reducing wasted time and money.
Get some experience with CAD, 3D printing, and third-party fabrication (probably laser-cut aluminium) by assembling a ‘ghetto laptop’. Largely built out of parts lying around in my workshop, it will include:
- 5” LCD
- Raspberry Pi A
- mini rubber-dome keyboard
- USB trackball
- cheap battery pack w/ USB ports
bench-test prototype v1
Assemble a motherboard (SBC? mini-ITX?), PSI, battery, and charger. Test that size, reliability, battery life are acceptable. Calculate battery life based on estimated power drain of more powerful production motherboard.
bench-test prototype v2
Add a matte LCD monitor, GPIO card, 4G modem router, USB 3.0 hub to build. Bench-test.
Design and fabricate a case. Most likely option at this point is a laser-cut aluminium chassis, with 3D printed bodywork.
prototype -> production
Purchase a new motherboard, CPU and RAM (as powerful as battery life and cooling will allow). Purchase a multi-touch trackpad, ergonomic mechanical keyboard, and decent speakers. Enhance prototype with these.
Ensure all features of FreeBSD including 3D acceleration and suspend / resume function on my chosen hardware.
At this point, the system will be ready for professional use.
Write simple CLI tools to control aspects of the system like the battery, GPIO, keyboard lighting, etc.
Ensure that all software, schematics, instructions and shape files are of production quality, and available online.
I’m currently working on the first milestone - awaiting a few parts to complete the ghetto laptop. I’ll post detailed updates to my blog as work progresses.