Project 4 XGO Wave Hand
Ⅰ. Teaching Aims
Recognize the three joints of Upper / Middle / Lower, and focus on the combined control of Middle and Lower.
While sitting, wave the claw three times by
repeat.After the action is completed, play a beeping sound as multimodal feedback.
Understand the importance of
XGO reset posefor clearing cumulative errors.
Ⅱ. Pre-class Check
XGO + Foxbit + MicroBlocks IDE.
XGO battery power ≥ 60 %.
MicroBlocks status bar shows a green dot, and the development board model is Foxbit.
Test
XGO initandXGO reset pose.Leave a gap in front of the desktop to prevent the claw from hitting objects.
Ⅲ. Key Blocks Analysis
|
|
|---|---|
Functions |
Make the dog sit steadily |
Tips |
It’s safer to sit firmly before waving claw |
|
|
Functions |
The front paws swing back and forth |
Parameter sample |
30 / −30 / 0 |
Tips |
angle > 0 = Wave forward |
|
|
Functions |
Flexion and extension of the wrist |
Parameter sample |
10 / 0 |
Tips |
Change posture in coordination with Middle |
|
|
Functions |
The sequence of circular claw swings |
Parameter sample |
3 times |
Tips |
At the end of the loop, |
|
|
Functions |
Give the servo time to be in place |
Parameter sample |
500 ms |
Tips |
delay ≥ 300 ms for clearer movement |
|
|
Functions |
Beeping sound |
Parameter sample |
G5 120 ms |
Tips |
Put it after the loop |
Ⅳ. Test: Waving While Sitting
Drag in the initialization block:
when started → XGO init → XGO reset pose → XGO action Sit DownPiece the main action logic as shown:

Click ▶Run, and the dog will “wave while sitting × 3” and then reset.
Online code: Click here
Ⅴ. Quiz
Why must
Sit Downfirst and then wave the claw?What will happen if the Lower joint is not reset to 0° and this cycle is repeated many times?
How to change “wave once” into a
waveOnce()custom Block, and then call it byrepeat?
Ⅵ. FAQ
Questions |
Possible causes |
Solutions |
|---|---|---|
Sit down but do not wave |
|
Check the loop content |
The amplitude is too small |
Middle° is too low |
Set up to 25–35° |
“wrist” is not bent |
Lower° = 0° |
set 8–12° |
The servo is shaking/screaming |
The angle exceeds the limit or touches the table |
Reduce the angle and remove the obstacle |
The second and third movements are deformed |
There is a lack of reset within the loop |
After each waving, set Middle, Lower = 0° |
The program ends in a strange posture |
Forgot |
Add it before the end |




