UNIHIKER: development platform for PlatformIO
UNIHIKER is an intelligent development platform based on ESP32-S3 microcontroller, specifically designed for the DFRobot UNIHIKER K10 development board. This platform integrates advanced features such as AI recognition, voice interaction, and graphical display, providing a powerful development environment for education, maker projects, and IoT applications.
- AI Intelligence: Built-in face recognition, speech recognition, and other AI capabilities
- Graphical Display: 2.8-inch color touchscreen with graphics drawing and interaction support
- Sensor Integration: Accelerometer, gyroscope, and various other sensors
- Voice Interaction: Support for Chinese speech recognition and speech synthesis
- Wi-Fi and Bluetooth: Built-in wireless connectivity
- Education-Friendly: Optimized for learning and prototyping
- Open Source: Based on Apache-2.0 license
- Processor: ESP32-S3 (240MHz)
- Memory: 16MB Flash, 8MB PSRAM
- Display: 2.8-inch color touchscreen (240x320 resolution)
- Camera: 2MP camera
- Sensors: 6-axis IMU (accelerometer + gyroscope)
- Connectivity: Wi-Fi 802.11 b/g/n, Bluetooth 5.0
- USB: Type-C interface with USB device mode support
- Expansion: Rich GPIO interfaces and I2C/SPI buses
Here's a simple LED blinking example demonstrating how to use the UNIHIKER platform:
#include "unihiker_k10.h"
UNIHIKER_K10 k10;
uint8_t screen_dir = 2;
void setup() {
k10.begin();
k10.initScreen(screen_dir);
k10.creatCanvas();
k10.setScreenBackground(0xFFFFFF);
}
void loop() {
// Draw a green circle on the screen
k10.canvas->canvasCircle(120, 160, 10, 0x00FF00, 0x00FF00, true);
k10.canvas->updateCanvas();
delay(1000);
// Clear the circle
k10.canvas->canvasCircle(120, 160, 10, 0xFFFFFF, 0xFFFFFF, true);
k10.canvas->updateCanvas();
delay(1000);
}
First, install PlatformIO IDE or CLI:
Configure the platform in your platformio.ini
file:
[env:unihiker]
platform = https://github.com/DFRobot/platform-unihiker.git
board = unihiker_k10
framework = arduino
build_flags =
-DARDUINO_USB_CDC_ON_BOOT=1
-DARDUINO_USB_MODE=1
-DModel=None
# Build the project
pio run
# Upload to the board
pio run --target upload
# Monitor serial output
pio device monitor
git clone https://github.com/DFRobot/platform-unihiker.git
cd platform-unihiker
Create a new PlatformIO project and configure it in platformio.ini
:
[env:unihiker]
platform = https://github.com/DFRobot/platform-unihiker.git
board = unihiker_k10
framework = arduino
build_flags =
-DARDUINO_USB_CDC_ON_BOOT=1
-DARDUINO_USB_MODE=1
-DModel=None
Refer to the usage example above to write your first UNIHIKER program.
- Face Detection: Real-time face position and size detection
- Object Recognition: Support for various object recognition
- Gesture Recognition: Recognize gesture movements
- Voice Wake-up: Support for custom wake words
- Command Recognition: Recognize voice control commands
- Speech Synthesis: Provide voice feedback
- Graphics Drawing: Support for lines, circles, rectangles, and other basic shapes
- Text Display: Support for Chinese and English text display
- Touch Interaction: Support for touchscreen interaction
- Accelerometer: Detect device tilt and motion
- Gyroscope: Detect device rotation
- Environmental Sensors: Support for temperature, humidity, and other sensors
- Arduino: Simple and easy-to-use development framework
- ESP-IDF: Powerful native development framework
- PlatformIO: Recommended development environment
- Arduino IDE: Traditional development environment
- VS Code: Modern editor
-
Upload Failure
- Check USB connection
- Verify correct board selection
- Try reducing upload speed
-
AI Function Issues
- Ensure camera connection is normal
- Check ambient lighting conditions
- Verify model file integrity
-
Speech Recognition Problems
- Check microphone connection
- Ensure low ambient noise
- Verify speech model settings
-
Display Issues
- Check screen connection
- Confirm display orientation settings
- Verify graphics library version
We welcome issues and pull requests to improve this platform!
This project is open source under the Apache-2.0 license.