Firmware and libraries for ChikoBot, an ESP32-based robot platform. This project includes main robot logic, hardware drivers, BLE gamepad support, face/eye animation, and a suite of test and example applications.
- Modular code for robot control, sensors, and peripherals
- BLE gamepad client for Xbox and other controllers
- OLED face/eye animation with U8g2
- Accelerometer (BMA250) support
- Multiple test and example programs
- PlatformIO-based build system
├── src/main_code/ # Main application code
├── src/examples/ # Example sketches and test programs
├── lib/ # Libraries (BLE, face, sensors, etc.)
├── platformio.ini # PlatformIO configuration
└── README.md # This file
- ESP32 Dev Board (e.g., ESP32-DevKitC)
- Windows, macOS, or Linux PC
- Download VS Code from https://code.visualstudio.com/
- Run the installer and follow the prompts to complete installation.
- Open VS Code.
- Go to the Extensions view (Ctrl+Shift+X).
- Search for
PlatformIO IDE. - Click Install on the PlatformIO IDE extension (by PlatformIO Labs).
- Wait for installation to complete (it may take a few minutes).
Open a terminal (in VS Code: Ctrl+` or use your OS terminal) and run:
git clone https://gitlab.com/chikobot/chiko_firmware.git
cd chiko_firmware
- In VS Code, go to
File > Open Folder... - Select the
chiko_firmwaredirectory you just cloned.
- Open
platformio.iniin the project root. - Make sure the
boardfield in your environment matches your ESP32 board (e.g.,esp32dev). - Save the file if you make changes.
- Open the PlatformIO sidebar (alien icon on the left).
- Under "PROJECT TASKS", expand your desired environment (e.g.,
chiko_main,Example_XboxController). - Click Build to compile, Upload to flash, and Monitor to view serial output.
- Default serial baud rate is 115200.
- Install VS Code
- Install PlatformIO IDE extension
- Clone this repo and open it in VS Code
- Build, upload, and monitor using PlatformIO sidebar
- Each example or test has its own environment in
platformio.ini. - To run an example, build/upload the corresponding environment (e.g.,
Example_XboxController). - You can add new examples in the
examples/folder and create a new environment with abuild_src_filterinplatformio.ini.
- Edit `src/main_code/main.cpp´.
- Select
chiko_mainenvironment under "PROJECT TASKS" - Build and upload the
main.cpp. - Monitor the out using
Serial Terminal.
- Use the PlatformIO sidebar for all build, upload, and monitor tasks.
- Use "Clean" if you encounter strange build errors.
- You can have multiple environments for different tests/examples.
- Use
build_src_filterto control which files are compiled for each environment.
- How to setup the development envoirnment.
- Tutorails
- All more in the Wiki of the Repo.
Contributions are welcome! Please fork the repo and submit a merge request.
See LICENSE file for details.
ChikoBot Team and contributors.