Lesson plan

Build a balance bot lesson plan

Three lessons on a two-wheel self-balancing robot: read its tilt, see what the wheels do to it, and write the PID that stands it up.

2 chapters, 3 lessons, about 2 hours, on the Arduino Uno R3. Every lesson runs in the browser, with nothing to install.

The unit

Objectives and materials

By the end, students can

  • Turn the IMU into an angle, and learn which way the wheels must go.
  • A PID on three knobs, a push, and tuning it by hand.

Materials for the whole unit

  • Arduino Uno R3
  • Half breadboard
  • OLED display, 128x64
  • Potentiometer x 3
  • Self-balancing robot

Every part is already on the simulator’s bench, so there is nothing to buy or hand out. The counts are the most any one lesson uses, if you build it on real breadboards too.

Chapter 1. About 1 h 20 min

Sense and drive

Turn the IMU into an angle, and learn which way the wheels must go.

LessonTimeWhat students do
Balance bot 1: read the tiltWake the robot’s MPU6050 and turn its readings into a tilt three ways: from gravity, from the gyro, and with a complementary filter that blends the two. Then watch them follow the robot as it falls.40 min
  1. Run it: wake the IMU
  2. Let go, and it falls
  3. Three angles
  4. Why blend them
Balance bot 2: what the wheels doDrive the wheels forward and the body tips back: the move every balancing robot is made of. Then balance on P and D alone and see why that is not quite enough.40 min
  1. Run it: the kick
  2. Forward wheels, backward body
  3. P and D alone
  4. Why it rolls away

Materials

  • Arduino Uno R3
  • Half breadboard
  • OLED display, 128x64
  • Potentiometer x 3
  • Self-balancing robot

Check for understanding

Each student finishes "Balance bot 2: what the wheels do" on their own, without opening the hints. The simulator checks 4 of its 4 steps as they go.

Then ask each one to explain, in a sentence or two, the last thing it asked of them: "Why it rolls away".

Chapter 2. About 40 min

Stand it up

A PID on three knobs, a push, and tuning it by hand.

LessonTimeWhat students do
Balance bot 3: the PID that stands it upThe finished balance bot: a complementary filter, a PID with three knobs for Kp, Ki and Kd, and the angle and gains on an OLED. Push it, turn the knobs, and tune it.40 min
  1. Run it: it stands
  2. Push it
  3. Turn Ki to zero
  4. Tune it

Materials

  • Arduino Uno R3
  • Half breadboard
  • OLED display, 128x64
  • Potentiometer x 3
  • Self-balancing robot

Check for understanding

Each student finishes "Balance bot 3: the PID that stands it up" on their own, without opening the hints. The simulator checks 4 of its 4 steps as they go.

Then ask each one to explain, in a sentence or two, the last thing it asked of them: "Tune it".

Your class

Teach this unit as a class

Start a class from this course and its 3 lessons are assigned in one go, in order. Students join with a six-character code or printed login cards, and each one’s work comes back to you.

The class tools are free for 30 days for one class of up to 20 students, with no card. The lessons themselves are free either way.