1 of 263

cyber:bot Educator Workshop

Day 1

cyber:bot robot with Python & micro:bit Three-session Educator Workshop �March 3, 5, & 7 2025

2 of 263

This Slide Show

3 of 263

4 of 263

5 of 263

Zoom on one side

Editor on other side

6 of 263

7 of 263

Agenda and Goals

8 of 263

Goals & Learning Outcomes

  • Enjoy the Zoom Meetings; have fun!
  • Participate
  • Learn about the resources
  • Address classroom setup challenges (and cross them off your list of concerns)
    • Adding the cyber:bot module
    • Centering servos and building bot
    • Finding and fixing syntax errors
    • Circuit building and power supplies
    • Getting access to resources
  • Understand the cyber:bot module and hardware interaction
  • Gain confidence to use cyber:bots in classrooms
  • Build and program your robot
  • Get questions answered
  • Share with other educators and your students

Workshop Agenda

Monday

  • Intros & Overviews
  • Homework review and Q&A
    • Connect Micro:bit to Python Editor
    • Write a few simple Python scripts
    • Learn about the Python editor
  • Add cyberbot.py module to project
  • Calibrate two servo motors
  • Assignment: build your cyber:bot

Wednesday

  • Python scripts for navigation
  • Overview of circuit lessons & sounds
  • Navigation with touch sensors
  • Assignment: Build infrared navigation circuit

Friday

  • Advanced circuit test navigation application
  • Cybersecurity lesson overview
  • Educational resources
  • Classroom implementation

9 of 263

Discussion: is encouraged and appreciated!

10 of 263

Intros & Overviews

11 of 263

Got Brains?

12 of 263

Parallax Manufactures in the USA

Parallax Inc. Headquarters599 Menlo DriveRocklin, California USA

  • Outside Sacramento, CA
  • 20 employees
  • In business since 1988, and education since 1997

Be the classroom they remember!

®

13 of 263

14 of 263

  • Applications Engineer at Parallax for 25 years
  • BSEEE in Electronics Engineering from �CSU Sacramento
  • Developed educational material for Parallax:
    • Educational Textbooks (10 and counting)
    • Accompanying Educational kits
    • Circuit & program applications
    • Product design
    • Web content & apps
    • PD Workshops (develop and teach)
  • Recently: micro:bit emphasis

What’s a Microcontroller

cyber:bot Robot

15 of 263

BASIC Stamp

Boe-Bot Robot

16 of 263

Educational Robots

17 of 263

Hardware �Features

V2

V1

18 of 263

The BBC micro:bit

cyber:bot Robot

19 of 263

Student Lessons

Teacher Resources

20 of 263

cyber:bot

micro:bit

21 of 263

Upcoming

Workshops

22 of 263

On-demand

Workshops

https://www.parallax.com/�category/events/�…and scroll to the bottom of the page.

23 of 263

Getting Started, Languages, and Q&A

24 of 263

25 of 263

26 of 263

Kit: cyber:bot Robot Kit – with micro:bit

Tests: watch each video and following the checklist instructions:

Materials: cyber:bot Workshop Materials You'll Need

Python primer: Learn Python with the micro:bit

Getting Started

27 of 263

The Basics

Scripts make the micro:bit perform these five activities:

  • Communicate
  • Remember (store/retrieve)
  • Calculate
  • Decide
  • Repeat

28 of 263

The Basics -all in one script

29 of 263

The Reset Button

30 of 263

31 of 263

Mid workshop break

We will resume at 8 minutes past the hour

32 of 263

Build and test your cyber:bot

33 of 263

34 of 263

35 of 263

36 of 263

37 of 263

38 of 263

39 of 263

40 of 263

41 of 263

42 of 263

43 of 263

44 of 263

45 of 263

46 of 263

47 of 263

48 of 263

49 of 263

50 of 263

51 of 263

52 of 263

53 of 263

cyberbot.py module download reference

bot(pin).write_digital(state) # set I/O pin to a state: high (1) or low (0)

state = bot(pin).read_digital() # pin gets state high (1) or low (0) from connected circuit

bot(pin).write_analog(level) # set pin voltage x 3.2227 mV (P20, P21) or

# PWM from 0 to 1024 us high time

level = bot(pin).read_analog(us) # pin measures voltage in level x 3.2227 V

bot(pin).pulse_out(us) # pin sends a pulse that lasts microseconds (us)

us = bot(pin).pulse_in() # pin measures pulse from device in microseconds (us)

reps = bot(pin).pulse_count(ms) # pin counts pulse repetitions (reps) during time period (ms)

us = bot(pin).rc_time(state) # pin measures time (us) for voltage to reach 1.65 V

# state is 1 if voltage starts above 1.65 V or 0 if below

bot(pin).tone(frequency, time) # pin sends tone at frequency (Hz) for time (ms)

state = bot(tx,rx).ir_detect(freq) # send freq to IR LED (tx pin), check IR state at rx pin

bot(pin).servo_angle(theta) # pin set/hold servo at angle in degrees

bot(pin).servo_speed(speed) # pin set/hold servo speed (-100 to 100)

bot(pin).accelerate(a) # pin set servo acceleration (a) to 1...200 / 50th sec

Other modules (see speaker notes) # feedback360, group_io, i2c_repeat, shift

# ping, qti, tv_remote

54 of 263

55 of 263

56 of 263

57 of 263

58 of 263

59 of 263

60 of 263

61 of 263

62 of 263

63 of 263

64 of 263

65 of 263

66 of 263

67 of 263

68 of 263

69 of 263

The Reset Button

70 of 263

71 of 263

# left_servo_CW.py

from cyberbot import *

bot(18).servo_speed(200)

# left_servo_CW.py

from cyberbot import *

bot(18).servo_speed(-200)

# left_servo_CW.py

from cyberbot import *

bot(18).servo_speed(0)

3.3 V

GND (0 V)

3.3 V

GND (0 V)

3.3 V

GND (0 V)

Overdrive speed counterclockwise

Overdrive speed clockwise

No rotation (after calibration)

Servo Direction

72 of 263

73 of 263

74 of 263

75 of 263

76 of 263

77 of 263

78 of 263

79 of 263

cyber:bot Assembly (Parts)

80 of 263

Center Mounted - with servos pressed up against the inside of the chassis and drive shafts closest to the center.

+ Original design intent

+ More like Roomba

+ Improved maneuvering

+ Looks cooler for social media posts

- Need eyeglass screwdriver to re-center

Front mounted - shown with servos pressed up against outside of chassis, and drive shafts toward the front.

+ Centering adjustments simplified

+ Offsets weight of Gripper & others.

+ Tail wheel never jumps at stops

- Maneuvering is clunkier

- Wheel slip during turns on some surfaces

81 of 263

Unplug power when you are done!

82 of 263

Homework Due Wednesday (Build the cyber:bot)

Servo horns are already removed from 900-00040 servos, so you can skip. Only required for 900-00008 servos.

83 of 263

cyber:bot Educator Workshop

Day 2

cyber:bot robot with Python & micro:bit Three-session Educator Workshop �March 3, 5, & 7 2025

84 of 263

This Slide Show

85 of 263

86 of 263

87 of 263

Zoom on one side

Editor on other side

88 of 263

Goals & Learning Outcomes

  • Enjoy the Zoom Meetings; have fun!
  • Participate
  • Learn about the resources
  • Address classroom setup challenges (and cross them off your list of concerns)
    • Adding the cyber:bot module
    • Centering servos and building bot
    • Finding and fixing syntax errors
    • Circuit building and power supplies
    • Getting access to resources
  • Understand the cyber:bot module and hardware interaction
  • Gain confidence to use cyber:bots in classrooms
  • Build and program your robot
  • Get questions answered
  • Share with other educators and your students

Workshop Agenda

Monday

  • Intros & Overviews
  • Homework review and Q&A
    • Connect Micro:bit to Python Editor
    • Write a few simple Python scripts
    • Learn about the Python editor
  • Add cyberbot.py module to project
  • Calibrate two servo motors
  • Assignment: build your cyber:bot

Wednesday

  • Python scripts for navigation
  • Overview of circuit lessons
  • Overview of sounds
  • Navigation with touch sensors
  • Assignment: Build infrared navigation circuit
  • Log into learn.parallax.com

Friday

  • Advanced circuit test navigation application
  • Cybersecurity lesson overview
  • Educational resources
  • Classroom implementation

89 of 263

Navigation

90 of 263

91 of 263

92 of 263

93 of 263

94 of 263

95 of 263

96 of 263

97 of 263

98 of 263

99 of 263

cyber:bot� Directions

100 of 263

Forward Motion

Opposite directions

for forward motion

101 of 263

102 of 263

103 of 263

104 of 263

105 of 263

106 of 263

107 of 263

108 of 263

109 of 263

110 of 263

111 of 263

112 of 263

113 of 263

114 of 263

115 of 263

116 of 263

We’ll be back at 5 past the hour

117 of 263

118 of 263

119 of 263

120 of 263

121 of 263

122 of 263

123 of 263

124 of 263

Challenge: follow a path using prior experiences

Finish

Start

Tip: prior slide may be the easiest starting point!

125 of 263

Circuits

126 of 263

127 of 263

Get Ready to Build Circuits

128 of 263

Blink a LightConnect Wires

129 of 263

Blink a Light: Power & I/O

  • Position 0: use for building circuits, flashing scripts.
  • Position 1: powers breadboard, Propeller.
  • Position 2: powers breadboard, Propeller, and motors (3-pin ports)

130 of 263

Blink a Light: LED

  • LED emits light when electric current flows through it
  • A diode is a 1-way current valve

Light Emitting Diode (LED) Leads:

  • Anode: longer pin with plus (+) on part, wide part of the triangle in the schematic symbol
  • Cathode: shorter pin with minus (-) on part, line across the triangle tip in symbol

131 of 263

Blink a Light: Build & Code LED Circuit

  • Build circuit
  • Write a program blink light.

# blink_light_p12.py

from cyberbot import *

while True:

bot(12).write_digital(1)

sleep(500)

bot(12).write_digital(0)

sleep(500)

Longer pin

Jumper wire

132 of 263

Blink a Light: Resistors

133 of 263

Blink a Light: How It Works

bot(12).write_digital(0) sets the pin to “output low” and connects the pin to ground.

bot(12).write_digital(1) sets the pin to “output high” and connects to the 3.3V power supply.

134 of 263

Pushbuttons

135 of 263

Pushbutton �Blinks Light �

Extra Parts

136 of 263

Pushbutton Blinks Light: � Inside The Pushbutton

137 of 263

Pushbutton: Add to Breadboard

138 of 263

Pushbuttons Script: Hold Button - Light On

# pin_8_button_LED.py

from cyberbot import *

while True:

if bot(8).read_digital() == 1:

bot(12).write_digital(1)

elif bot(8).read_digital() == 0:

bot(12).write_digital(0)

  • Modify code to control P12 LED with P8 button.
  • if-elif conditional statement
    • P12 LED is on when button on P8 is pressed
  • Challenge (if time permits) :
    • Make the P12 light blink while P8 button is pressed and held

139 of 263

Pushbutton Circuit: How It Works

bot(8).read_digital() == 0 ...if voltage the circuit applies to the I/O pin is below 1.65 V.

bot(8).read_digital() == 1 ...if voltage the circuit applies to the I/O pin is above 1.65 V.

140 of 263

�Sounds

141 of 263

142 of 263

Place the Piezospeaker

  • Find piezospeaker in the Small Robot Electronics Component Pack.
  • Peel off the “Remove the seal after washing” sticker if it has one.
  • Plug into the cyber:bot board

143 of 263

The Tone Call

# sound_effect.py

from cyberbot import *

for freq in range (500, 3100, 100):

bot(22).tone(freq, 100)

  • Sounds are used in robotics for program feedback (sensor actions), customizing behavior, or as alarms.
  • Syntax for the tone command:
    • bot(22).tone(frequency, milliseconds)
  • What will this script do? Hint, the loop counter has a step value!

144 of 263

The Reset Button

145 of 263

Notes from Frequencies

Happy Birthday!

happy_birthday.py

from cyberbot import *

bot(22).tone(2349.3, 125) #D for an eighth

bot(22).tone(2349.3, 62) #D for a sixteenth

bot(22).tone(2637.0, 250) #E for a quarter

bot(22).tone(2349.3, 250) #C for a quarter

bot(22).tone(3136.0, 250) #G for a quarter

bot(22).tone(2793.8, 500) #F for a half

146 of 263

Navigation with Sensors

147 of 263

cyber:bot Applications with Sensors

  • Object Detection
    • Whiskers as a physical button-press sensor
    • Infrared for avoidance
    • Infrared for following
    • Ping))) Ultrasonic Sensor
    • Ping))) Laser Sensor
  • Infrared Remote Control
  • Light Following with Phototransistors
  • Line Following

148 of 263

Touch Navigation w/ Whiskers

149 of 263

150 of 263

Touch Navigation: Assembled Circuit

151 of 263

Touch Navigation: Parts

(2) resistors, 220 Ω

(red-red-brown-gold)

(2) resistors, 10 kΩ (brown-black-orange-gold)

(2) 3-pin

headers

(2) Whiskers

152 of 263

Touch Navigation: Whiskers

153 of 263

154 of 263

155 of 263

156 of 263

Touch Navigation: Testing Circuit

  • LEDs show state of whiskers (code from tutorial)

Neither pressed.

Left �pressed.

Right �pressed.

Both �pressed.

157 of 263

158 of 263

159 of 263

160 of 263

161 of 263

162 of 263

163 of 263

164 of 263

165 of 263

166 of 263

167 of 263

168 of 263

169 of 263

170 of 263

171 of 263

172 of 263

173 of 263

174 of 263

175 of 263

176 of 263

177 of 263

178 of 263

179 of 263

180 of 263

181 of 263

182 of 263

183 of 263

184 of 263

185 of 263

186 of 263

Touch Navigation: Pressed / Not Pressed

187 of 263

Navigating by Touch

Example Script: roaming_with_whiskers.py

188 of 263

189 of 263

Homework Due Friday

190 of 263

191 of 263

Homework Due Friday: Build & Test Infrared Circuit

192 of 263

Infrared Light Signals

193 of 263

Build the IR Circuits - Parts

Parts List

(2) IR receivers

(2) IR LEDs (clear case)

(2) IR LED shield assemblies

(2) Resistors, 220 Ω (red-red-brown)

(2) Resistors, 2 kΩ (red-black-red)

(misc) Jumper wires

194 of 263

Build the IR Circuits - Infrared LED ID

195 of 263

Build the IR Circuits - Assemble the IR Headlights

196 of 263

Build the IR Circuits

IR Object Detection Circuit

longer

longer

197 of 263

Homework Due Friday

  • If you received an email like the one below, follow the instructions.
  • Otherwise, go to https://learn.parallax.com/user/login and make sure you can log in.

198 of 263

Homework Due Friday

199 of 263

Unplug power when you are done!

200 of 263

cyber:bot Educator Workshop

Day 3

cyber:bot robot with Python & micro:bit Three-session Educator Workshop �March 3, 5, & 7 2025

201 of 263

This Slide Show

202 of 263

203 of 263

204 of 263

Zoom on one side

Editor on other side

205 of 263

Goals & Learning Outcomes

  • Enjoy the Zoom Meetings; have fun!
  • Participate
  • Learn about the resources
  • Address classroom setup challenges (and cross them off your list of concerns)
    • Adding the cyber:bot module
    • Centering servos and building bot
    • Finding and fixing syntax errors
    • Circuit building and power supplies
    • Getting access to resources
  • Understand the cyber:bot module and hardware interaction
  • Gain confidence to use cyber:bots in classrooms
  • Build and program your robot
  • Get questions answered
  • Share with other educators and your students

Workshop Agenda

Monday

  • Intros & Overviews
  • Homework review and Q&A
    • Connect Micro:bit to Python Editor
    • Write a few simple Python scripts
    • Learn about the Python editor
  • Add cyberbot.py module to project
  • Calibrate two servo motors
  • Assignment: build your cyber:bot

Wednesday

  • Python scripts for navigation
  • Overview of circuit lessons
  • Sounds
  • Navigation with touch sensors
  • Assignment: Build infrared navigation circuit

Friday

  • Advanced circuit test navigation application
  • Cybersecurity lesson overview
  • Projects and add-ons
  • Educational resources
  • Classroom implementation

206 of 263

Infrared Light

207 of 263

208 of 263

Infrared Light Signals

209 of 263

Build the IR Circuits - Parts

Parts List

(2) IR receivers

(2) IR LEDs (clear case)

(2) IR LED shield assemblies

(2) Resistors, 220 Ω (red-red-brown)

(2) Resistors, 2 kΩ (red-black-red)

(misc) Jumper wires

210 of 263

Build the IR Circuits - Infrared LED ID

211 of 263

Build the IR Circuits - Assemble the IR Headlights

212 of 263

Build the IR Circuits

IR Object Detection Circuit

longer

longer

213 of 263

Test the IR Object Detectors

214 of 263

Faster IR Navigation

215 of 263

Unplug power when you are done!

216 of 263

Visible Light

217 of 263

218 of 263

219 of 263

Visible Light Following: Circuit Build

220 of 263

Visible Light Following: Circuit Build

221 of 263

Cyber:bot kit Sensor Apps

222 of 263

223 of 263

224 of 263

225 of 263

Apps 2nd micro:bit module

226 of 263

227 of 263

228 of 263

Cybersecurity

229 of 263

230 of 263

231 of 263

232 of 263

Some Chapters Available for MakeCode

Computer Science

Cybersecurity

233 of 263

234 of 263

On break from 3:55 to 4:05 PM Pacific Time

235 of 263

Cybersecurity: Malformed Packet Attacks & Defenses

236 of 263

Projects - for Class Pack

Also available as sold-separately add-ons

237 of 263

Line Follower

Included in:

Sold separately:

238 of 263

Infrared Remote Control

Included in:

Sold separately:

  • IR Remote Parts Kit SKU 29122

239 of 263

Roaming with the Ping))) Ultrasonic Sensor

Included in:

Sold separately:

240 of 263

More Projects

For parts sold separately, not included in Class packs

241 of 263

Tilt & Button Wirelessly Controlled Gripper

Sold Separately:

Also to accompany class 12-pack:

242 of 263

Feedback 360° Servos with Position & � Speed Control

Sold Separately:

243 of 263

Feedback 360° Servos + Gripper

Sold Separately:

Also to accompany class 12-pack:

244 of 263

Electronics Lessons

245 of 263

246 of 263

Educational Resources

247 of 263

Key Workshop Links

Python Editor online Python editor

Parallax Learn Tutorials - Cyberbot

BBC Microbit Python Documentation

BBC Python Getting Started

Micro:bit MakeIt:CodeIt Projects

CYBER.ORG

Parallax Educator Resources�Assessment, teaching guides, A-G

Make it Code it Projects at the BBC

Parallax cyber:bot product

Choose individual or class packs

Parallax Workshops past & present

248 of 263

Student Lessons

Teacher Resources

249 of 263

Workshops

Past, Present, Future, and Self-paced

250 of 263

251 of 263

BBC micro:bit MicroPython Documentationhttps://microbit-micropython.readthedocs.io/en/latest/

252 of 263

253 of 263

CYBER.ORG micro:bit and cyber:bot Material

254 of 263

Products

255 of 263

Purchasing cyber:bot

256 of 263

Cyber:bot with micro:bit #32700

$279 ea. (qty 1-9)

$265.05 ea. (qty 10-19)

$251.10 ea. (qty 20+)

257 of 263

Cyber:bot 12-Pack Plus #32712

$3,995.00 (regular $4,670.95)

  • (12) cyber:bots
  • (12) micro:bits
  • (12) QTI Line Followers
  • (12) Ping))) Ultrasonic sensors and servo mounting brackets
  • (12) Infrared remote controls
  • (5) battery chargers
  • (60) NiMH batteries
  • 2’x6’ class banner

258 of 263

Boe-Bot with BASIC Stamp

  • Program in PBASIC (text)
  • Easy language with very direct code/hardware cause and effect for learning embedded systems

Shield-Bot with Arduino

  • Program in C variant (text)
  • Best for schools with Arduino-based tech programs

ActivityBot 360° with multicore Propeller

  • Program in Blockly (visual) or C (text)
  • Easy start yet simplifies building capable projects and real-world prototypes

Conversion

possible conversion

possible conversion

259 of 263

Replacement Parts

Electrical & Electronic

Mechanical

260 of 263

Support

261 of 263

262 of 263

Thank You

263 of 263

Parallax Inc.

599 Menlo Drive, Ste 100

Rocklin, CA 95765

www.parallax.com

Learn.parallax.com

Main: (916) 624-8333

Educator Hotline: (916) 701-8625