Controlling a servo motor with a potentiometer is one of the most popular beginner electronics projects.
Traditionally, building this project requires connecting the potentiometer to an analog input, reading its ADC value in a program, converting that value into a servo angle, including a servo library, and then continuously updating the SG90 servo motor.
With MakerBuddy, the same concept can be created without writing code.
In this project, we use:
- MakerBuddy IoT Kit
- Potentiometer (Onboard)
- SG90 servo motor (Included in Kit)
- MakerBuddy Dashboard / Web App
- A handmade industrial crane model
The potentiometer acts as the input controller.
As we rotate the potentiometer, MakerBuddy reads its position and automatically maps the value to the SG90 servo motor angle.
The result is simple:
Rotate Potentiometer
↓
MakerBuddy reads the value
↓
Potentiometer Mapping
↓
Convert input percentage to servo angle
↓
SG90 Servo Motor Rotates
↓
Crane Arm MovesAnd the interesting part is:
No Arduino-style programming is required.
What Does This Project Do?The project demonstrates how an analog input device can directly control a physical actuator.
The potentiometer produces a variable value depending on the knob position.
MakerBuddy automatically converts this value into a suitable SG90 servo angle.
For example, the MakerBuddy Dashboard in our project shows:
Potentiometer Value: 46%
Servo Angle: 83°As the potentiometer position changes, the corresponding servo angle also changes.
Conceptually, the mapping works like this:
Potentiometer SG90 Servo
--------------------------------
0% 0°
25% ~45°
50% ~90°
75% ~135°
100% ~180°
The actual values can vary slightly depending on the potentiometer reading and servo movement.
For this project we used:
- MakerBuddy IoT Kit
- Potentiometer (onboard)
- SG90 micro servo motor (included in the kit)
- USB/power connection
- Computer running the MakerBuddy Dashboard
- Cardboard or foam board
- Wooden sticks/skewers
- Hot glue
- Colored craft sheets
- Small screws or mechanical supports
- Materials for constructing the crane/factory model
The crane model is optional. You can use the same MakerBuddy configuration to control almost any lightweight mechanism that can be operated using an SG90 servo.
Step 1 — Build the Mechanical ModelWe created a miniature industrial environment containing a moving crane mechanism.
The SG90 servo motor is mounted near the top of the crane.
A lightweight wooden arm is attached to the servo mechanism.
When the servo rotates, the crane arm changes position.
The basic mechanical arrangement is:
Crane Arm
|
|
Servo Horn
|
SG90 Servo
|
Crane Tower
Make sure the moving arm is lightweight.
An SG90 is a small hobby servo and should not be used to move heavy loads.
potentiometer is already soldered on the MakerBuddy IoT Kit board.
The potentiometer contains a rotating knob.
When you rotate it, its analog output changes.
Normally, a microcontroller program would have to continuously read this analog value.
With MakerBuddy, the value is automatically detected by the platform.
Step 3 — Connect the SG90 Servo MotorConnect the SG90 servo motor to the corresponding MakerBuddy servo connector.
MakerBuddy's connector-based design simplifies these connections so students can focus more on the project itself instead of breadboard wiring and GPIO configuration.
Step 4 — Open the MakerBuddy DashboardConnect your MakerBuddy IoT Kit to the computer and open the MakerBuddy Dashboard / Web App.
Once the kit is connected, the dashboard provides controls for supported components such as:
- LEDs
- RGB LEDs
- Relay
- Servo motor
- Buzzer
- LCD
- Potentiometer mapping
For this project, we are particularly interested in:
Potentiometer Mapping
Step 5 — Select Potentiometer MappingLocate the Potentiometer Mapping section.
MakerBuddy provides several possible targets for the potentiometer.
Depending on the platform configuration, these can include options such as:
None
LED PWM
RGB LED
Servo
Select:
Servo
That's the main configuration required for this project.
Once Servo is selected, MakerBuddy automatically maps the potentiometer value to the servo position.
You do not need to manually create code such as:
int value = analogRead(potPin);
int angle = map(value, 0, 1023, 0, 180);
servo.write(angle);MakerBuddy handles this mapping through the dashboard.
Conceptually:
Potentiometer
0% ------------------------ 100%
↓
MakerBuddy Mapping
↓
SG90 Servo
0° ------------------------- 180°Step 7 — Rotate the PotentiometerNow rotate the potentiometer knob.
You should immediately see the SG90 servo motor begin moving.
Rotate in one direction:
Potentiometer value increases
↓
Servo angle increasesRotate in the opposite direction:
Potentiometer value decreases
↓
Servo angle decreasesBecause our SG90 is attached to the crane mechanism, rotating the potentiometer lets us manually control the crane arm.
Step 8 — Observe the Live MappingThe MakerBuddy Dashboard also makes it easier to understand what is happening.
For example, in our test:
Potentiometer: 46%
↓
Mapped by MakerBuddy
↓
Servo: 83°This makes the project useful not only as a DIY activity but also as a STEM teaching demonstration.
Students can visually understand the relationship between:
input → mapping → output
How the System WorksThe complete system can be represented as:
┌─────────────────┐
│ Potentiometer │
└────────┬────────┘
│
│ Analog Input
▼
┌─────────────────────┐
│ MakerBuddy IoT Kit │
└─────────┬───────────┘
│
▼
┌─────────────────────────┐
│ Potentiometer Mapping │
│ → Servo │
└─────────┬───────────────┘
│
│ Angle
▼
┌─────────────────┐
│ SG90 Servo │
└────────┬────────┘
│
▼
Crane Arm MovesWhat Students Can LearnAlthough the project does not require traditional coding, it introduces several important computing and engineering concepts.
Students can explore:
- Analog inputs
- Potentiometers
- Variable resistance
- Input-output relationships
- Servo motors
- Actuators
- Angle control
- Value mapping
- Human-machine interfaces
- Physical computing
- Mechanical design
- IoT systems
- Automation
Instead of spending the first part of the activity troubleshooting syntax or wiring, students can immediately experiment with how changing an input affects a physical output.
Traditional Approach vs MakerBuddyA traditional potentiometer and servo project may require:
Breadboard
+
Jumper wires
+
Analog pin selection
+
Servo signal pin
+
Programming
+
Servo library
+
analogRead()
+
map()
+
servo.write()
+
Compilation
+
DebuggingWith MakerBuddy:
Connect Potentiometer
+
Connect SG90
+
Open Dashboard
+
Potentiometer Mapping → Servo
=
ReadyProject ApplicationsThe same potentiometer-to-servo concept can be extended to many STEM projects, including:
- Robotic arm control
- Crane control
- Steering mechanism
- Smart gate
- Camera pan mechanism
- Mechanical pointer
- Analog gauge
- Robot joint
- Dam gate model
- Solar panel positioning demonstration
- Mini excavator
- Mechanical gripper
- Classroom control-system experiments
If the servo does not move, first verify that the SG90 is correctly connected and that MakerBuddy recognizes the hardware.
Also confirm that:
Potentiometer Mapping → Servois selected.
If the servo vibrates or behaves unpredictably, check the power supply and make sure the mechanical arm is not placing excessive load on the SG90.
If the servo cannot reach its requested position, reduce mechanical resistance and verify that nothing is physically blocking the servo horn.
ConclusionThis project demonstrates a simple but powerful concept:
One physical input can directly control another physical device.
By mapping a potentiometer to an SG90 servo motor, MakerBuddy allows learners to explore analog sensing, servo positioning, input-output mapping, and mechanical control without first having to write traditional microcontroller code.
Simply connect the components, open the MakerBuddy Dashboard, select:
Potentiometer Mapping → Servo
and rotate the potentiometer.
The SG90 follows automatically.
This makes the project suitable for beginners, STEM classrooms, makers, educators, and students learning about physical computing and automation.





Comments