ESP-Claw is a new tiny AI device for Espressif microcontroller-based boards. Supported boards must have at least 8MB Flash and 8MB PSRAM to run ESP-Claw.
ESP-Claw devices require a connection to the real world. This includes:
- WiFi (local) for communications
- A Large Language Model (LLM) for reasoning (OpenAI, Anthropic, DeepSeek or local)
- (Optional) A connection to Telegram for communication (there is now a crude web interface if Telegram is not desired)
- (Optional) A connection key to search engines Brave Search or Tavily (both services have fees)
I have tested ESP-Claw with a Claude API key. While some folks have it working, I found, at the lowest API access paid level, ESP-Claw could exceed tokens per second limits. And I don't want to put $100 on Anthropic's books to get that squared away.
HTTP 429: This request would exceed your organization's rate limit of 30,000 input tokens per minute (org: fb68d6db-0824-4998-b920-fe36549c9cae, model: claude-sonnet-4-6). For details, refer to: https://docs.claude.com/en/api/rate-limits. You can see the response headers for current usage. Please reduce the prompt length or the maximum tokens requested, or try again later.
Using a Local Model Instead
I had set up my local computer to run an LLM per the guide Setting up an LLM model on your own computer. It can generate up to 40 tokens per second which is decent but not using crazy hardware.
I wanted to use this local LLM over my home network to connect to my ESP-Claws (yes, I have four 'Claws).
The latest builds of the flasher software allow for a local connection to an LLM model with OpenAI, Qwen, Deepseek or Anthropic calling conventions. It took me a bit of time, but I found the right combination of settings to get things working. This is what I'll share below.
Setting Up LM Studio for Local Network Access
I'm using LM Studio for this as that is the interface I used in my previous guide. If you use Ollama or llama.cpp things will be different and you'll want to find another guide or adapt things on your own.
You'll want to get into Developer Mode to enable the features we want. Go to Settings:
Click on the <> Developer option at left then toggle Developer mode to ON at right:
When you close this you'll have a Developer icon on the left list of icons. You can also access this via {Control} 2.
Here is the Developer screen below. It appears to be a lot but it is easy enough.
First to take a look at Server Settings up top (red circle).
The checked settings worked for me. I left the default port at 1234 but you can pick another. Just remember it for later.
Now click the Active API Keys Manage Tokens button:
Likely you will not have any API keys set up. Click the + Create new token button.
You can now name your token if you want (MyClaw or Claw1, etc.). The click the Create Token button.
Now the token will be a series of seemingly random characters and numbers starting with sk-lm-. Copy that string and save it for later with the local address saved earlier.
Cancel the box with the X in the upper right corner after you have the token.
After doing the settings, look at the top of the main Developer window. In the green circle, ensure Status: Running is checked (and if you ever want it off, you can use the button toggle).
Next, we need to see the address for connecting to LM Studio via the network:
The Reachable at field is now important. This is the web address of the model you'll provide to ESP-Claw. Note the following:
- It starts with http://, NOT https://. If you use the wrong one, you'll get errors on ESP-Claw as ESP-Claw does not check both HTTP and HTTPS.
- The web address (in this case 10.0.0.200) is the machine running LM Studio. On your network it might be different than 200 or it may be like 192.168.0.xxx or 192.168.1.xxx or some other combination of numbers. No worries, you'll copy this whole string to get LM Studio and ESP-Claw talking to the same place.
- :1234 is the added port number to the LM Studio machine. The colon and port number used from Developer -> Settings is used. Don't forget the colon. And leaving off the port will cause things to not work.
When you are ready to configure your ESP-Claw, use the two squares icon to the right of the address to copy the address, then you can paste into the ESP-Claw configuration.
Now that you have LM Studio set up to receive and send messages on the local network, it's time to configure an ESP-Claw device to communicate locally.
First, make sure you have flashed your Claw with the proper firmware. The page to do that is https://esp-claw.com/en/flash/. Enter the Chip, manufacturer, and board name. JTAG is the default Console Output. Press the red Connect button:
On Windows you get a pop-up asking to connect to the device. Click that line and press the Connect button.
If things are successfully connected, press the Flash Firmware red button.
Watch the pretty progress bar.
When done, press the red Reconnect Serial button.
The Pick port dialog box will pop up again, pick the serial port and click Connect. The device will reboot. Then it will ask you to enter the WiFi credentials. Enter your WiFi hotspot name and password.
If your connection is successful, you'll get the Device Online box.
Click the Open http://10.0.0.101/#start link. Note that your internet address may be different, maybe even like 192.168.x.xxx which is fine.
Now you are in the First-Use Wizard. The wizard will ask you some questions to set the ESP-Claw up.
This is an important step. You will be entering information you saved previously.
I chose to access my LM Studio local model via an Anthropic-style API. One can use an OpenAI style if they like but I don't have the parameters.
Steps:
- Click on the Anthropic Compatible API button.
- Type in the model name you have loaded from LM Studio (see this for selecting models). If you have LM Studio set, the model name is below.
3. Paste in the API Key (was sometimes called Token) saved earlier.
4. Backend Type is anthropic_compatible.
5. Base URL is the Reachable At address you saved earlier with /v1 after it. Mine is http://10.0.0.200:1234/v1/.
6. Max Tokens Field is max_tokens or any number you want (60000 could do).
Click Save and Continue. It might warn you if something is off. Look again to see everything is as discussed above.
Once you get passed the Configure LLM part, you're basically done.
Next to set up Telegram to have an alternate method of accessing the chat.
You can select Telegram. You can access Telegram at https://web.telegram.org/.
If you do not want to use Telegram, press the Skip button in the bottom right.
You can also use the Telegram app on your mobile phone.
You will need to set up a bot for your Claw. The documentation is here: https://core.telegram.org/bots#6-create-a-token
When you create a bot, BotFather will give you a Telegram API Key/Token. Save that.
The Telegram Bot Token is entered into the field. Then click the Save and Continue red button.
Next if you have a Tavily Search account, which is mostly paid but you can try the free tier. You can press Skip here but your 'Claw will not be able to do web searches.
The First Use Wizard is now done, you can click the red Restart Now button.
Now you can use the Web Chat to chat with the ESP-Claw or Telegram if you set it up:
Enjoy using your ESP-Claw with your local LLM and no OppenAI or Anthropic account needed.
This page (Using ESP-Claw with a Local LLM) was last updated on May 13, 2026.