CrankGPT — fully offline, human-powered local AI | CrankGPT
Skip to main content
Link
Menu
Expand
(external link)
Copy
Copied
We don't sell CrankGPT, nor are we affiliated with any cryptocurrency, token,<br>or meme coin that bears its name. If you see someone on the internet trying to<br>cash in on the project or the CrankGPT name in some way, it's not us.
© 2026 Squeez Labs
CrankGPT is a fully offline, off-the-grid AI box.
Our current demos are variations on voice assistants—turn the crank, say something, get a response—but we’ve generated images (small), made poetry (bad), and written code using the same setup. There’s no battery or cloud. Just a hand crank, a little computer, and a small stack of speech and language models running locally. Provided the electronics are kept dry and at a reasonable temperature, there’s no reason this thing won’t still work in a hundred years, though you’ll definitely need a fresh SD card.
As will be familiar to anyone who has ever undertaken a hardware project, it took about a week to build a proof of concept and many months of kernel optimizations, board revisions, code refactors, and CAD tweaks to get to a thing that works as we envisioned. This article walks through how we built it: the hardware, the local voice agent stack, and the engineering required to make a conversation feel real on a device this small .
Motivation
For something to have “smarts” currently assumes a wall socket and a data center. CrankGPT is a small argument that neither has to be true.
Local models are private models. Why give away what we don’t have to?
It offended our European small-practical-car sensibilities to see people around us throwing kilowatts and thousands of tokens at tasks small models could accomplish just as well as huge ones, for a fraction of the cost and energy.
Everyone is busy making things bigger. We figured opportunities abound to make things smaller.
Hardware
Single Board Computer
We used a stock Raspberry Pi 5 with 8GB RAM and a cooling fan HAT. There are better performing SBDs for the same price (an Orange Pi with its faster DDR5 RAM is an even better fit for LLM inference as we’ll discuss below), but it’s hard to beat the Pi’s accessibility and software ecosystem. The Pi runs speech recognition, a language model, and text-to-speech locally on CPU (no accelerators).
Audio
We used the KEYESTUDIO ReSpeaker 2-Mic Pi HAT: an all-in-one audio I/O solution for Pi designed specifically for voice assistants. It includes a stereo MEMS mic array and various audio outputs (we used the older version with the WM8960 codec). It sits directly on the Pi’s GPIO headers and has decent far-field mic performance, even within an enclosure.
We also tried various USB sound cards (this one worked well) to connect an external mic and speakers.
Power
We chose a cheap off-the-shelf switchable voltage 20W hand-crank generator marketed for emergency USB charging. The Pi normally draws around 1.5A, but when it’s working hard (as it does when doing inference on the CPU), its current requirements can increase substantially, causing the generator voltage to sag below the Pi’s required 4.8V or even, in the case of a momentary 5A spike, to trigger the generator’s internal overcurrent protection and shut off the voltage output entirely, causing the Pi to brown out.
To ensure the Pi sees a steady voltage when the full inference stack kicks in (and to afford crankers a little rest), we built a custom capacitor board to smooth out the generator’s output and act as a short-term (~20 second) power reservoir.
You can feel that load curve through the crank: when LLM inference and speech synthesis run together, the crank gets a lot harder to turn.
Description<br>Purpose<br>Label<br>Qty.<br>Source<br>Unit Price
DIODE SCHOTTKY 45V 15A R-6<br>Keeps current from flowing back into the generator<br>S_D<br>Digikey<br>$1.24
RESISTOR 100 OHM 5% 1W AXIAL<br>Ensure super caps in series charge equally<br>R_BAL1, R_BAL_2, R_BAL_3<br>Digikey<br>$0.19
CAPACITOR ALUM 2200UF 20% 10V RADIAL<br>Smooths out output when LDO shuts off<br>Digikey<br>$0.64
IC REG LINEAR POS ADJ 5A TO220-5<br>Regulates hand crank 6.3V to 5.3V SBCs expect. This is not an elegant solution—it wastes power and only works provided the voltage is high enough, but it doesn’t need steady power like a buck converter<br>LDO<br>Digikey<br>$9.96
CAPACITOR 50F -20% +50% 2.7V T/H<br>Store the power the SBC uses<br>SUP_C<br>Digikey<br>$5.79
RESISTOR 1K OHM 1% 1/4W AXIAL<br>Part of the voltage divider that sets the LDO’s output voltage<br>R1, R2<br>Digikey<br>$0.10
RESISTOR 2.2K OHM 1% 1/4W AXIAL<br>Part of the voltage divider that sets the LDO’s output voltage<br>R3<br>Digikey<br>$0.10
ON/OFF ROUND ROCKER SWITCH 12V<br>Connects and disconnects the SBC to allow priming the caps<br>SPDT<br>Amazon<br>$1.20
ANALOG VOLTAGE METER<br>Useful for seeing how much power is in the caps. Connect to ground and the pre-LDO unregulated voltage ouptut of the caps<br>Not pictured<br>Amazon<br>$6.99
USB C BREAKOUT BOARD<br>We use these to connect the generator to the...