GnomeAVR is a compact and powerful robot controller board built around the ATMega328P microcontroller. It is designed to control various robotic components including motors, servos, analog/digital sensors, and potentiometers.
- Input Voltage: 6V – 14V
- Motor Driver: TB6612FNG (Dual Channel, up to 3.2A per channel)
- Servo Control: Supports up to 4 PWM channels
- Analog Input: 8 channels (10-bit resolution via MCP3008)
- Digital Input: 8 channels (shared with analog)
- Knob/Potentiometer: Built-in for user input control
Reads analog value from channel (0-1023).
analog(int ch);
Reads digital HIGH/LOW (1/0) from channel.
digital(int ch);
-
Raw Data (0-1023)
knob();
-
Scaled Range
Map knob value to custom range.knob(int min, int max);
Control motor speed directly.
Speed range: -100 (full reverse) to 100 (full forward).
motor(int ch, int speed);
-
Move Forward (both motors same speed)
fd(int speed);
-
Move Forward (each motor independently)
fd2(int speedA, int speedB);
-
Move Backward (both motors same speed)
bk(int speed);
-
Move Backward (each motor independently)
bk2(int speedA, int speedB);
-
Spin Left in place
sl(int speed);
-
Spin Right in place
sr(int speed);
-
Turn Left (curved path)
tl(int speed);
-
Turn Right (curved path)
tr(int speed);
Control servo angle for up to 4 servos (0°–180°).
servo(int ch, int angle);
Example:
servo(0, 180); // Set servo on channel 0 to 180°
- Ensure power supply matches motor and servo requirements.
- Motors are controlled via the TB6612FNG dual H-bridge driver.
- Analog and digital channels are shared but interpreted differently by function used.
- Line-following robots
- Obstacle-avoidance bots
- Remote-controlled vehicles
- Educational robotics projects
For questions or technical assistance, please contact the developer or check the documentation site.