Little_Chat_Arduino is a simple AI Agent chatbot that lets you chat with your LLM but also offers an Arduino agent. With the Arduino agent you can ask your LLM to control your Arduino device and do things in the real world. The Arduino agent builds your sketch and runs it, and lets your LLM know if something went wrong — e.g. device not connected or device errors.
Supports triple provider mode:
- Local Ollama LLM (default, no API key needed)
- Network Ollama LLM (LAN server, e.g. 192.168.1.58:11434)
- Anthropic Claude (requires --api-key)
📦 Download Ollama local model : (not required when using Claude)
ollama pull qwen3:4b📦 Installation
wget https://github.com/ricard1406/Little_Chat_Arduino/archive/refs/heads/main.zip
unzip main.zip
mv Little_Chat_Arduino-main Little_Chat_Arduino
cd Little_Chat_Arduinopython3 -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
pip install requests python-dotenv pydantic langchain-core langgraph langchain-ollama gradio langchain-anthropic fastapi uvicorn pytz timezonefinder geopy📦 Config your api_key (if any)
cd source[open your fav editor and set your openweather key, claude api_key]
[vi] .env
OPENWEATHER_API_KEY=your_api_key_here
ANTHROPIC_API_KEY=your_api_key_here
Note ): key required just if you use it. otherwise not required
📦 Config your arduino_configuration
[open your fav editor and set your arduino configuration]
[vi] Arduino_configuration.txt
Arduino UNO R3 and LCD 1602 module (connect pins are: 12, 11, 5, 4, 3, 2).
Note ): describe your arduino device in natural language . So, your LLM will know how use it .
📦 If not done, remember to install your Arduino CLI.
Reference web-site:
https://docs.arduino.cc/arduino-cli/installation/
my simple guide:
curl -fsSL https://raw.githubusercontent.com/arduino/arduino-cli/master/install.sh | sudo BINDIR=/usr/local/bin sh
arduino-cli version
arduino-cli config init
arduino-cli core update-index
arduino-cli core install arduino:avr
arduino-cli lib install "LiquidCrystal"
sudo usermod -a -G dialout $USER (re-log required)📦 Start app
python Little_Chat_Arduino_server.py
[leave open this terminal and open a second terminal please]
[activate your env if not jet] : source ../.venv/bin/activate ]
python Little_Chat_Arduino.py graph --provider anthropic --think
(more options: .....)
python Little_Chat_Arduino.py [text/graph] (Ollama LLM)
python Little_Chat_Arduino.py [text/graph] --think (Ollama LLM thinking mode)
python Little_Chat_Arduino.py [text/graph] --provider anthropic (Claude LLM)
python Little_Chat_Arduino.py [text/graph] --provider anthropic --think (Claude LLM thinking mode)
note: add graph parameter for graphical interface
When use graph interface open your browser and run local URL:
http://127.0.0.1:7860