BalancingWii
Self balancing robot (Segway) based on modified/extended MultiWii 2.3 firmware.
Install / Use
npx skills add mahowik/BalancingWiiInstalls into whichever agent you are using.
README
=================================== BalancingWii rev 1.0
Autumn... More time to keep soldering iron and do something cool! So let's continue! :)
This is stable 1.0 release of balancing robot (based on modified/extended MultiWii 2.3 firmware).
New features:
- Fall down?! New auto rise (stand up) function! (can be activated via box in GUI). Now it's also possible to stand up manually when it's fall down.
- Position hold (can be activated via box in GUI). Try to play, how it returns when you are pushing/kicking the robot.
- Possibility to control/steer from Android device by MultiWii EZ-GUI tool (go to Config -> Advanced -> Model control New)
- More stability and speed accordingly (see in video!)
- Predefined PIDs
- Simple mode for newcomers
- Set of code refactorings and cleaning.
Apps:
- https://play.google.com/store/apps/details?id=ru.shokurov.mspcontrol
- https://play.google.com/store/apps/details?id=com.ezio.multiwii
New video:
- http://youtu.be/038e2j9nE3M
Here are a few more great examples of project implementation:
- https://www.instructables.com/DIY-Self-Balancing-Robot
- https://github.com/ArduJimmy/Mahowik_BalancingWii_With_NRF24L01
Blogs:
- https://rcopen.com/blogs/83206/19661
- http://www.multiwii.com/forum/viewtopic.php?f=7&t=4787
Enjoy! ;)
=================================== BalancingWii rev 0.1
Hi all!
This is the balancing robot based on modified/extended MultiWii 2.3 firmware.
Video: http://youtu.be/U8bBna9iWCU
Blogs:
- http://forum.rcdesign.ru/blogs/83206/blog18515.html
- http://www.multiwii.com/forum/viewtopic.php?f=7&t=4787
Hardware:
- Arduino nano (atmega328p)
- mpu6050 gyro-accelerometer (GY_521)
- any RC receiver with CPPM (ppmsum) output OR serial Bluetooth module like HC-05
- A4988 motor drivers with 1/8 microstepping configuration (see http://www.pololu.com/product/1182/ for details)
- Nema 17 stepper motors
- 1/8 Buggy Wheels
- Buzzer
Pinout for Arduino nano (atmega328p):
- A0 - V_BATPIN: after the resistor divisor we should get [0V;5V]->[0;1023] on analogue V_BATPIN with R1=33k and R2=51k, i.e. (+12v)~51k~(A0 pin)~33k~(GND)
- A2 - BUZZERPIN
I2C:
- A4 - SDA
- A5 - SCL
RC control:
- D2 - CPPM (PPM_SUM)
Motor driver pins:
- D5 - STEP1 (PORTD 5)
- D6 - STEP2 (PORTD 6)
- D7 - DIR1 (PORTD 7)
- D8 - DIR2 (PORTB 0)
- D4 - ENABLE (for both)
If you look to the tail of the robot:
- right motor = STEP1 & DIR1
- left motor = STEP2 & DIR2
Also see for new defines added with this project for robot setup:
#define CURRENT_AXIS PITCH // possible to choose ROLL or PITCH axis as current.
//#define INVERT_CURRENT_AXIS // invert current axis sign, i.e. instead of turning sensor board
//#define REVERSE_MOTORS_DIRECTION // reverse both motors direction
#define MAX_SPEED 400 // should be <= 500 #define MAX_TARGET_ANGLE 120 // where 10 = 1 degree, should be <= 15 degree (i.e. <= 150) #define MAX_STEERING 90 // should be <= 100
//#define GY_521_INVERTED_BY_Z // Chinese 6 DOF with MPU6050, LLC, inverted/reversed by Z
Big thanks for the projects:
- MultiWii - my favourite to start robotics and become in love with this! :)
- B-Robot https://github.com/JJulio/b-robot
Enjoy! ;)
Related Skills
node-connect
385.5kDiagnose OpenClaw Android, iOS, or macOS node pairing, QR/setup code, route, auth, and connection failures.
blender-python-addon
40.5kBlender Python add-on rules for operators, panels, properties, registration, testing, and API-safe scripting
flutter-development-guidelines-cursorrules-prompt-file
40.5kCursor rules for Flutter development with MVVM architecture, Riverpod state management, Material widgets, and Dart style guidelines.
commit-push-pr
140.7kCommit, push, and open a PR

