Flashing and Configuring ESP Claw on UNIHIKER K10 ESP32-S3 Board

I flash the DFRobot UNIHIKER K10 with ESP Claw firmware and let an AI agent write its own scripts to control its LEDs and screen.
Jul 20, 2026 — 6 mins read — Electronics

Flashing and Configuring ESP Claw on UNIHIKER K10 ESP32-S3 Board

Today I am playing with a board that genuinely surprised me. It is the UNIHIKER K10 from DFRobot, and it supports running a firmware called ESP Claw that gives it its own AI agent. That means the board can listen to you, understand what you want, and then write and run its own code to make it happen.


This video is sponsored by Altium Develop. Get your free trial here.


What We Are Building

The plan for this project is simple. First I want to show you what the K10 can do straight out of the box, since DFRobot preloaded it with a handful of demos. Then I am going to flash it with the ESP Claw firmware, connect it to an AI model and a messaging service, and see what happens when I just talk to it and ask it to control its own hardware. The end goal is a small assistant device that can respond to voice or chat commands, control its LEDs, take pictures, and even change what is shown on its own screen, all without me writing a single line of firmware code myself.


Unboxing and Getting to Know the Board

Inside the box there is the K10 board itself and a USB cable. The board has a small screen on the front along with two microphones, since this is a voice enabled device. There is a temperature and humidity sensor and a light sensor on the front as well, and a camera on the back side, because this board is clearly built with vision in mind. It is powered by an ESP32-S3, so there is a good amount of processing power packed into it. Around the back and sides you get a speaker, an SD card reader, a battery input, an I2C port, two buttons for interacting with the menus, an accelerometer, reset and boot buttons, and some extra connectors for adding your own inputs and outputs. A USB-C port on top is used both for programming and for connecting to a computer, and there are a few LEDs tucked near the back that work as a small backlight strip.

Powering it on for the first time loads the default demo sketch. Pressing the buttons cycles through several examples. There is a QR code that links to the documentation, a plant style display that pulls live temperature, humidity, and light readings from the onboard sensors, and a voice demo that responds to two wake words. Saying "Jarvis" and then "turn on the light" lights up the LEDs on the bottom of the board, and saying "turn off the light" switches them back off. There is also a "Hi, Telly" wake word that triggers a little accelerometer game, where tilting the board in the right position sets off some lights and a sound from the speaker. The last demo uses the camera for face tracking, and once it detects a face it draws a box around it and follows it around the frame. Everything on the board worked as expected, which was a good sign before moving on to the real project.


Flashing the ESP Claw Firmware

To turn this into an AI powered assistant, the first step is flashing the ESP Claw firmware using the web based flashing tool. With the K10 powered off, I held down the boot button on the back and plugged in the USB cable at the same time, which puts the board into flashing mode instead of running its normal sketch. From the flashing page I clicked connect, selected the board from the list, chose the K10 specific option, and left the rest of the settings on their defaults before starting the flash. Once it finished, the screen showed the ESP Claw logo, confirming the new firmware was running. The board then started its own Wi-Fi access point so I could use the web interface to enter my home Wi-Fi details and get it online.


Configuring the AI Brain and Integrations

With the firmware installed, the next step is telling ESP Claw which language model to use. You can connect it to any of the popular providers, but for this demo I wanted to stick with free options, so I used OpenRouter with an OpenAI compatible API. I entered the API URL, picked a free model, and added my API key. After running into an authentication error with my first model choice, I switched to a free model from Tencent, which worked correctly, although it is worth noting that free model availability on OpenRouter changes over time, so you may need to swap in whatever free or paid model is available when you try this yourself.

Beyond the language model, ESP Claw also needs a way for you to actually talk to it, so I connected it to a Telegram bot I created for this purpose and added the bot token in the settings. I also added an API key for Tavily to give the assistant web search capability, since Tavily offers a decent amount of free usage for testing. After saving everything, I restarted the board so it could reload the new configuration.


Talking to ESP Claw

Once it reconnected, I sent a simple "hi" message through Telegram, and after resolving that earlier model issue, the board responded with information about itself. It introduced itself as ESP Claw, a device agent running on the DFRobot K10, and listed things it could do, like controlling lights or an LED strip, taking a picture with the camera, or reading the touch sensor.

I asked it to take a picture, and it correctly triggered a Lua script on the device to capture an image, which I could then download from the web interface. My first couple of attempts came out mostly white, since the camera probably needed more frames to warm up properly than the default script accounted for, so I asked it to increase the frame skip on warm up, which it did but it did not helped clear things up on later attempts. Once I have more time I will try to look into this issue a bit in more details to see why it was happening.

Next I asked it to turn on the LEDs, and it correctly identified that the LED strip lives on GPIO 46 and lit it up at full brightness. When I asked for the LEDs to turn red, it handled the color change correctly too, although it only controlled a single LED rather than the full strip, since the script it wrote assumed just one pixel. What really caught my attention came next. I asked it to create a way to control the LED using the physical button on the board and show the current state on the screen. Since this board is not touch enabled, I clarified that it should use button A. The agent spawned a small research task to look up how the button and display are wired, discovered that the buttons are not directly connected to the ESP32 pins, and then wrote its own Lua script that displayed the LED status on screen. When I asked it to turn the LED off, it correctly understood I was still talking about the same LED from before and updated both the LED and the screen. All of this happened without me writing a single line of code myself.

As a final test, I asked it to create a screen encouraging viewers to subscribe to Taste The Code, and it put together a clean little screen with the text on it, which I think is a pretty solid recommendation to follow.


Conclusion

The UNIHIKER K10 running ESP Claw turned out to be a genuinely capable little assistant. Between the sensors, the camera, the microphones, and an AI agent that can write and run its own scripts on demand, there is a lot of room to build on top of this with very little manual coding. I am curious what you would want to see it do next, maybe connecting it to an external service or automating something around the house, so let me know in the comments. If you found this interesting, make sure to subscribe to my YouTube channel so you do not miss what I try with it next.

Read next

Repairing a Weather Station Without Replacing Parts

I ordered a compact weather station for a local project I am working on with a friend, and when it arrived we could not get a single byte of...

You might also enjoy this

Trail mapping with GPS, ESP32 and microSD card

Where I live, hiking is a big thing as we have plenty of mountains around and there are a ton of trails that people can explore and enjoy.Ho...