[HN Gopher] zclaw: personal AI assistant in under 888 KB, runnin...
___________________________________________________________________
zclaw: personal AI assistant in under 888 KB, running on an ESP32
Author : tosh
Score : 108 points
Date : 2026-02-21 12:37 UTC (14 hours ago)
HTML web link (github.com)
TEXT w3m dump (github.com)
| johnea wrote:
| I don't really need any assistance...
| throwa356262 wrote:
| Me neither.
|
| But I have 10-15 ESP32's just waiting for a useful project.
| Does HN have better suggestions?
| pacifika wrote:
| Build a synthesizer
| brcmthrowaway wrote:
| Why do you have so many? eWaste..
| fragmede wrote:
| I need 1, but they come in packs of 10.
| cameron_b wrote:
| desk rover - https://www.huyvector.org/diy-cute-desk-robot-
| mo-chan
|
| a kid-pleaser at the very least
| iwontberude wrote:
| No, no, but we insist!
| throwa356262 wrote:
| "LLM backends: Anthropic, OpenAI, OpenRouter."
|
| And here I was hoping that this was local inference :)
| micw wrote:
| Sure. Why purchase a H200 if you can go with an ESP32 ^^
| sigmoid10 wrote:
| Blowing more than 800kb on essentially an http api wrapper is
| actually kinda bad. The original Doom binary was 700kb and
| had vastly more complexity. This is in C after all, so by
| stripping out nonessential stuff and using the right compiler
| options, I'd expect something like this to come in under
| 100kb.
| __tnm wrote:
| yeah i sandbagged the size just a little to start (small
| enough to fit on the c3, 888 picked for good luck &
| prosperity; I even have a build that pads to get 888
| exactly), so i can now try reduce some of it as an exercise
| etc.
|
| but 100kb you're not gonna see :) this has WiFi, tls, etc.
| doom didn't need those
| pitched wrote:
| Doom had the benefit of an OS that included a lot of low-
| level bits like a net stack. This doesn't! That 800kB
| includes everything it would need from an OS too.
| __tnm wrote:
| yah my back of the envelope math..
|
| the "app logic"/wrapper pieces come out to about 25kb
|
| WiFi is 350 Tls is 120 and certs are 90!
| epcoa wrote:
| > vastly more complexity.
|
| Doom is ingenious, but it is not terribly complex IMHO, not
| compared to a modern networking stack including WiFi
| driver. The Doom renderer charm is in its overall
| simplicity. The AI is effective but not sophisticated.
| peterisza wrote:
| right, 888 kB would be impossible for local inference
|
| however, it is really not that impressive for just a client
| Dylan16807 wrote:
| It's not completely impossible, depending on what your
| expectations are. That language model that was built out of
| redstone in minecraft had... looks like 5 million parameters.
| And it could do mostly coherent sentences.
| godelski wrote:
| > built out of redstone in minecraft
|
| Ummm... > 5 million parameters
|
| Which is a lot more than 888kb... Supposing your ESP32
| could use qint8 (LOL) that's still 1 byte per parameter and
| the k in kb stands for thousand, not million.
| Dylan16807 wrote:
| https://www.youtube.com/watch?v=VaeI9YgE1o8
|
| Yes I know how much a kilobyte is. But cutting down to 2
| million 3 bit parameters or something like that would
| definitely be _possible_.
|
| And a 32 bit processor should be able to pack and unpack
| parameters just fine.
|
| Edit: Hey look what I just found
| https://github.com/DaveBben/esp32-llm "a 260K parameter
| tinyllamas checkpoint trained on the tiny stories
| dataset"
| __tnm wrote:
| haha well I got something ridiculous coming soon for zclaw that
| will _kinda_ work on board.. will require the S3 variant tho,
| needs a little more memory. Training it later today.
| g947o wrote:
| Serious question: why? What are the use cases and workflows?
| milar wrote:
| for fun!
| grzracz wrote:
| I don't fully get it either. At least agents build stuff, claws
| just run around pretending to be alive?
| codazoda wrote:
| They do build things. The same things.
| eleventyseven wrote:
| The various *claws are just a pipe between LLM APIs and a bunch
| of other API/CLIs. Like you can have it listen via telegram or
| Whatsapp for a prompt you send. Like to generate some email or
| social post, which it sends to the LLM API. Get back a tool
| call that claw then makes to hit your email or social API. You
| could have it regularly poll for new emails or posts, generate
| a reply via some prompt, and send the reply.
|
| The reason people were buying a separate Mac minis just to do
| open claw was 1) security, as it was all vibe coded, so needs
| to be sandboxed 2) relay iMessage and maybe 3) local inference
| but pretty slowly. If you don't need to relay iMessage, a
| raspberry pi could host it on its own device. So if all you
| need is the pipe, an ESP32 works.
| grigio wrote:
| yeah i still can't believe many people bought a mac mini just
| for the claw hype
| yoyohello13 wrote:
| I'm running my own api/LLM bridge (claw thing) on a raspberry
| pi right now. I was struggling to understand why all the Mac
| mini hype when nobody is doing local inference. I just use a
| hook that listens for email. Email is especially nice because
| all the conversation/thread history tracking is built in to
| email already.
| theturtletalks wrote:
| Is there a heartbeat alternative? I feel like this is the magic
| behind OpenClaw and what gives it the "self-driven" feel.
| v9v wrote:
| Relevant: https://github.com/sipeed/picoclaw
| yauneyz wrote:
| Genuinely curious - did you use a coding agent for most of this
| or does this level if performance take hand written code?
| xgulfie wrote:
| An esp32 image that makes http api calls is like, the first
| thing you do with an esp32, it's what they're made for
| bensyverson wrote:
| This is absolutely glorious. We used to talk about "smart
| devices" and IoT... I would be so curious to see what would
| happen if these connected devices had a bit more agency and
| communicative power. It's easy to imagine the downsides, and I
| don't want my email to be managed from an ESP23 device, but what
| else could this unlock?
| K0balt wrote:
| A highly opinionated thermostat?
| bensyverson wrote:
| Or how about a robot vacuum that knows not to turn on during
| important Zoom calls? Or a fridge that Slacks you when the
| defroster seems to be acting up?
| K0balt wrote:
| I'm all for more intelligent cleaning robots. The object
| avoidance AI is pretty good these days, but some of the
| navigation algos are just total garbage, unable to deal
| with trivial anticipatable problems.
| GTP wrote:
| I have a couple ESP32 with a very small OLED display, I'm now
| thinking I could make an "intelligent" version of the Tamagotchi
| with this. Do you HN crowd have other cool ideas?
| K0balt wrote:
| That would be sweet. That the supermini type with the 0.46"
| display? Those are fun for lots of things.
| tempaccount5050 wrote:
| You know I tried this exact thing a few months back, sans the
| ESP32. You just end up writing a state machine and defining a
| bunch of constants anyway or the LLM just kinda gets stuck in a
| loop. Hm, it doesn't seem to know when to eat. I'll add a
| hunger variable... Etc etc until you're not even sure what you
| want the LLM to do.
| roxolotl wrote:
| This is a great example of how silly this whole thing is. There's
| next to nothing to these claws. Turns out that if you give an llm
| the ability to call APIs they will.
| felipeerias wrote:
| If it turns out that there is significant value in everyone
| having their own personal agent running 24/7, we might end up
| needing a lot more compute than anticipated.
|
| (It's a big if! I'm not convinced about that myself, but it's
| worth considering that possibility.)
| tokenless wrote:
| I am using a claw. I am not ready to give it access to much
| but web and cron plus a chat channel is useful and feels more
| light touch than typical AI sessions and UIs
| anonzzzies wrote:
| I use opencode, cerebras GLM with some mcps for that. It's
| so lovely because you press enter and there is the answer
| already.
| yoyohello13 wrote:
| What's most shocking to me about the whole OpenClaw hype is how
| little people in tech seem to know about computers...
|
| It's like most of the industry hasn't ever looked any deeper
| than their node_modules folder.
| anonzzzies wrote:
| > It's like most of the industry hasn't ever looked any
| deeper than their node_modules folder.
|
| Most didn't do even that. And yes it is shocking. amusing but
| also not really; now those people get credible tech jobs
| because of AI without actually understanding literally
| anything. That's why I don't get the 'AI will never replace
| tech people' -> most tech people were never tech people, just
| (resume lying) grifters and they can (and will) be easily
| replaced by claude or even glm. It's the vast majority of
| tech people I ran into at big corps in the past 20 years,
| especially if they are from outsourcing hubs; they just see
| programming/tech as trial and error, search google (now ask
| AI), copy/paste, see if it runs, repeat. I see people _daily_
| that cannot remember how variables work (and they often have
| a bachelor or even master in CS...), not even 5 minutes, they
| just ask ai and copy /paste it (yep also most don't know
| claude code exists, they use chatgpt Windows client or, if
| they are advanced, Copilot).
|
| HN is a nice echo chamber and most people here don't believe
| it's that bad and that's why they don't believe AI has a
| chance. Please come with me to Barclays or Shell (or straight
| to Wipro etc) or so and let's have a chat with some
| programmers! Your jaw will be on the floor.
| alexalx666 wrote:
| I think you can use C++ on esp32, that would make the code more
| readable
| p0w3n3d wrote:
| My new DIY laptop has 400GB RAM accessible and it runs only
| esp32*
|
| ____
|
| * Requires external ram subscription
| czardoz wrote:
| Really looking for a minimal assistant that works with _locally
| hosted models_. Are there any options?
| Onavo wrote:
| The bottleneck here is usually the locally hosted model, not
| the the assistant harness. You can take any off the shelf
| assistant and point the model URL at localhost, but if your
| local model doesn't have enough post training and fine tuning
| on agentic data, then it will not work. The AI
| Assistant/OpenClaw is just calling APIs in a for loop hooked up
| to a cron job.
| czardoz wrote:
| Exactly. OpenClaw is good, but expects the model to behave in
| a certain way, and I've found that the local options aren't
| smart enough to keep up.
|
| That being said, my gut says that it should be possible to go
| quite far with a harness that assumes the model might not be
| quite good (and hence double-checks, retries, etc)
| telescopeh wrote:
| It really depends on what resources you have qwen-code-next
| will run them but you will need at least 64gb of memory to run
| it at a reasonable quant and context.
|
| Most of these agents support OpenAI/anthropic compatible
| endpoints.
| godelski wrote:
| Depends what you mean.
|
| If you mean something that _calls_ a model that you yourself
| host, then it 's just a matter of making the call to the model
| which can be done in a million different ways.
|
| If instead you mean _running_ that model on the same device as
| claw, well... that ain 't happening on an ESP32...
|
| I think if you are capable of setting up and running a locally
| hosted model then I'd guess the first option needs no
| explanation. But if you're in the second case I'd warn you that
| your eyes are bigger than your mouth and you're going to get
| yourself into trouble.
| yoyohello13 wrote:
| Why are you looking? Just build one for yourself.
| godelski wrote:
| Wow, the rare bash <(curl foo.sh)
|
| pattern. As opposed to the more common curl
| foo.sh | bash
|
| Equivalent but just as unsafe. If you must do this instead try
| one of these # Gives you a copy of the file, but
| still streams to bash curl foo.sh | tee /tmp/foo.sh | bash
| # No copy of file but ensures stream finishes then bash runs
| bash -c "$(curl foo.sh)" # Best: Gives copy of file and
| ensures stream finishes curl foo.sh -o /tmp/foo.sh && bash
| $_
|
| I prefer the last one
| wakawaka28 wrote:
| If you want to be super pedantic, try to make the command
| shell-agnostic in case the user is not running bash already.
| amelius wrote:
| Rust just called. They want their lobster back.
| bitwize wrote:
| That's a crab. Get your crustaceans straight!
| sowbug wrote:
| Thanks for looking out for us.
| saberience wrote:
| Can we please move past this whole OpenClaw hype?
|
| Yes it's an llm in a loop and can call tools. This also existed
| six months and a year ago, and it was called an ai agent.
|
| And yes we can all vibe code them in 1000, 2000, or 10000 lines
| of code in zig, rust, or even c.
|
| Game over man. Game over.
___________________________________________________________________
(page generated 2026-02-22 03:00 UTC)