Make joystick direction beacon. Explore analog centre and deadband.
Public beta missionThese revised instructions are open for learning while actual-kit testing is pending. A grown-up must confirm every setup check before power is connected. If a rating, pin card or required check is missing, explore the idea on screen and leave the physical build unpowered.
Match the names to your parts before you build. New parts appear when you first need them. You can point, say the name or show a grown-up.
Joystick module New here
Two potentiometers report stick direction around a resting centre.
Spot it and try it
Look for: VRx/VRy signals, supply/GND and optional switch.
Before using it: Centre and axis direction differ by module; calibrate.
Your turn: Return to centre between directional entries.
WHAT YOU'LL USE
Match these to your kit
Arduino UnoUSB A-to-B data cableHalf-size breadboardMale–male / male–female jumper wires (as needed for actual module terminals)Joystick, red/yellow/green LEDs, 3 × 2.2 kΩ
Gather from home
Computer with Arduino IDE and Serial Monitor
Reuse the parts between missions; these are not 45 simultaneous installations. Red/yellow/green means those three monochrome colours. RGB is a separate component with three channels.
BEFORE YOU BUILD
Unplug USB before changing connections. Use only the USB supply for this build; never connect 9V to 5V or a signal pin, and never connect to mains. An adult verifies variant, printed pin labels and resistor values before powering. Stop and unplug if a part becomes hot or damaged.
YOUR REWARD
+30 XPMission completion
PREDICT BEFORE YOU BEGIN
Before the test: which input will change, and what signal or reading do you expect?
BEFORE YOU BUILD
Parent check: exact part variant, labelled pins and stated values. If a check cannot be confirmed, keep this physical build unpowered and explore the code and prediction instead.
YOUR CHALLENGE
Build joystick direction beacon and prove its rule.
NEW POWER-UP
Analog centre and deadband
You have explored multiple digital inputs and conflict rule. Now try analog centre and deadband.
Adult help: Adult helps with computer setup, first wiring and any water/cutting. Learner predicts, tests and explains.
See the idea before you build
How a breadboard connects inside
Each coloured strip is one connected group. Different numbered rows stay separate. This explains the board; use the mission’s exact connection reference for component positions. Check rail breaks on your supplied board.
See the idea, then follow this mission’s exact pin-to-pin map below. · Tap to enlargeOpen full-size referencePin-to-pin reference for this sketch. Match printed labels and actual component variant. · Tap to enlargeOpen full-size reference
Open the complete Arduino code
Copy the complete code into Arduino IDE or download the sketch. Follow the matching component card before connecting power.
// First Wonder Brain Bots 40 — Joystick Direction Beacon
// USB-powered model. Unplug before rewiring. Serial Monitor: 9600 baud.
int lastDirection=-1;
int centreX=512,centreY=512,joyBand=180;
int readDirection(){int x=analogRead(A0)-centreX,y=analogRead(A1)-centreY;
if(abs(x)<=joyBand&&abs(y)<=joyBand)return 0;
if(abs(x)>=abs(y))return x<0?1:3;return y<0?2:4;}
void setup(){Serial.begin(9600);pinMode(8,OUTPUT);digitalWrite(8,LOW);pinMode(12,OUTPUT);digitalWrite(12,LOW);pinMode(13,OUTPUT);digitalWrite(13,LOW);Serial.println("Ready. Follow your mission test.");}
void loop(){
unsigned long now=millis();
int direction=readDirection();digitalWrite(8,direction==1||direction==2);digitalWrite(12,direction==0);digitalWrite(13,direction==3||direction==4);
if(direction!=lastDirection){lastDirection=direction;const char* names[]={"CENTRE","LEFT","UP","RIGHT","DOWN"};Serial.println(names[direction]);}
}
Check the connection map
CONNECTION MAP
Build the electrical path before you test.
Keep power disconnected while changing connections.
JoinConnectWhy it matters
PowerSupplied USB data cable → Uno USB socket; computer at other endThe same cable uploads and supplies this model. Unplug before wiring.
Shared referenceUno GND → breadboard ground railAll module GND terminals use this same reference. Check whether your rail is split.
LED red / cue 1D8 → 2.2 kΩ → LED anode (+); cathode (−) → GNDUse separate breadboard strips. Short leg/flat rim usually marks cathode; verify.
LED yellow / cue 2D12 → 2.2 kΩ → LED anode (+); cathode (−) → GNDUse separate breadboard strips. Short leg/flat rim usually marks cathode; verify.
LED green / cue 3D13 → 2.2 kΩ → LED anode (+); cathode (−) → GNDUse separate breadboard strips. Short leg/flat rim usually marks cathode; verify.
Joystick moduleVerified VCC → 5V; GND → GND; VRx → A0; VRy → A1SW is unused here. Test centre and axis direction; adjust centre constants if needed.
Kit variant and values confirmed by an adult
All pins match the map; USB was disconnected while wiring
Test includes expected, non-triggering and recovery cases
BUILD PATH
STEP 1 OF 6
Meet your mission
Try · Notice · ExplainRead the checkpoint, make a prediction, then test your idea.
You will explore analog centre and deadband. Gather the kit and home materials below. Unplug USB. Match the part names and printed labels.
Watch this step
A video demonstration will appear here when it is ready. You can follow the written step now.
Read the video instructions
You will explore analog centre and deadband. Gather the kit and home materials below. Unplug USB. Match the part names and printed labels.
Need a diagram for this step?
See the idea, then follow this mission’s exact pin-to-pin map below. · Tap to enlargeOpen full-size referencePin-to-pin reference for this sketch. Match printed labels and actual component variant. · Tap to enlargeOpen full-size reference
WHAT'S REALLY HAPPENING?
Why it works
Analog centre and deadband. Check your rule against an example where it should respond and one where it should not. The resting values are approximate and small movement can be noise.
This is a tabletop learning model. Real systems also need reliable power, robust sensors and careful handling of unknown measurements; this kit model is not a safety or security device.
FAIR-TEST CHALLENGE
Change one input or setting at a time; keep the wiring and protection unchanged. Repeat three trials.
WHEN IT DOESN'T WORK YET
Debug one clue at a time.
Upload or port missing
Likely cause: Wrong board, port or cable connection
Try this first: Check Arduino Uno selection and supplied data cable. Unplug external wiring before checking upload on built-in LED.
Signal does not match the test
Likely cause: Pin labels, input calibration or variant differs
Try this first: Unplug. Compare every connection with the map. Return to the earlier single-input mission; test one subsystem at a time.
Reading is unknown or unstable
Likely cause: Sensor settling, target, contact or calibration
Try this first: Follow the exact test setup; allow settling, use a flat target or check module pinout unpowered. Never replace unknown with a guessed safe reading.
CLEAN, RESET AND STORE
Disconnect USB, remove wires carefully and store components dry.