- Base CPU: Teensy32
- Comm and BUS network: ESP8266
- Balancing Sensors: IMU6050
- Motor Driver: L298N
- Motors: Basic DC Motors
- Tools and software PlatformIO framework (Open source ecosystem for IoT development)
- NodeMCU 1.0 (ESP-12E Module) (ESP8266)
- RaspberryPi 3
- 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!
Teensy32 (Arduino framework)
[env:teensy31]
platform = teensy
framework = arduino
board = teensy31
targets = upload
#build_flags = -DTEENSY31 -UUSB_SERIAL -DUSB_SERIAL_HID
-
First install PlatformIO via pip:
$ pip install -U platformio
or more info on oficial site: http://docs.platformio.org/en/latest/installation.html
-
Install basic libraries (PID, I2CLib core):
$ platformio lib install 2 11
-
Clone project and external libraries:
$ git clone https://github.com/HackBo/Self-Balancing-Robot $ mkdir external_libraries $ cd external_libraries $ git clone [email protected]:jrowberg/i2cdevlib.git $ cd ..
-
Compile project and deploy
$ platformio run
From main source and previous steps
$ git checkout tags/v1.0-ArduinoProMini
$ platformio run --target clean
$ platformio run
(Alpha version, click for last schematic update)
(cooming soon)
Special Thanks:
- Luka Gabrić, base code for MVC and testing IMU from Franco Robot @gabricluka https://github.com/lukagabric
- Camilo Soto, SDK and hardware alternatives, review code and drivers @tucanae47 https://github.com/tucanae47