Self Balancing Robot
Source code: Github
Initial technologies and hardware:
- Base CPU: Teensy32
- Comm and BUS network: ESP8266
- Balancing Sensors: IMU6050
- Motor Driver: L298N
- Motors: Basic DC Motors
- Tools and software PlatformIO framework
Alpha Test Boards:
- NodeMCU 1.0 (ESP-12E Module) (ESP8266)
- Teensy32
- RaspberryPi 3
Objectives:
- Two PID stages (accelerometer and pitch control)
- ESP8266 basic control (MiniOSC)
- ESP8266 to RaspberryPi Wifi interface via CoAP or OSC protocols (Bus data, control, others)
- RaspberryPi+Camera+ServoMotors (image processing via OpenCV)
- Suggest others features!
Current main config:
Teensy32 (Arduino framework)
[env:teensy31]
platform = teensy
framework = arduino
board = teensy31
targets = upload
#build_flags = -DTEENSY31 -UUSB_SERIAL -DUSB_SERIAL_HID
Firmware Installation
Current firmware (Teensy32)
First install PlatformIO via pip
$ pip install -U platformio
or via IDE. More info in the oficial documentation: http://docs.platformio.org/en/latest/installation.html
Compile project and deploy
$ platformio run
Firmware v1.0 for Arduino ProMini
From main source and previous steps
$ git checkout tags/v1.0-ArduinoProMini
$ platformio run --target clean
$ platformio run
Schematics
Initial basic robot (ArduinoProMini)
(Alpha version, click for last schematic update)
Teensy32 and ESP8266
(cooming soon)