Table of Contents

Overview
#

TurtleBot3 is an educational and research robot platform. Understanding its hardware components is essential for development and troubleshooting.

Main Components
#

┌─────────────────────────────────────┐
│           Raspberry Pi              │ ← Main computer
├─────────────────────────────────────┤
│           OpenCR Board              │ ← Motor controller
├─────────────────────────────────────┤
│              LDS                    │ ← Laser sensor
├───────────────┬─────────────────────┤
│   Motor L     │     Motor R         │
└───────────────┴─────────────────────┘

Raspberry Pi 3 Model B+
#

Specifications
#

ComponentSpecification
SoCBroadcom BCM2837B0
CPUCortex-A53 (ARMv8) 64-bit @ 1.4GHz
RAM1GB LPDDR2
WiFiDual-band 802.11ac
EthernetGigabit over USB 2.0
GPIO40-pin header

Connectivity
#

  • 4× USB 2.0 ports
  • HDMI output
  • CSI camera port
  • DSI display port
  • microSD card slot
  • 3.5mm audio jack

Role in TurtleBot3
#

  • Runs Ubuntu and ROS
  • Processes sensor data
  • Communicates with desktop
  • High-level control

LDS (Laser Distance Sensor)
#

Specifications
#

ParameterValue
Operating Voltage5V DC
Light SourceSemiconductor Laser (785nm)
Detection Range120mm - 3,500mm
Sampling Rate1.8 kHz

Accuracy
#

RangeAccuracy
Close range±15mm
Long range±5% of distance

Installation
#

# Install driver
sudo apt-get install ros-kinetic-hls-lfcd-lds-driver

# Set permissions
sudo chmod a+rw /dev/ttyUSB0

# Launch visualization
roslaunch hls_lfcd_lds_driver view_hlds_laser.launch

Role
#

  • 360° scanning
  • Obstacle detection
  • SLAM mapping
  • Navigation

OpenCR (Open-source Control Module for ROS)
#

Processor
#

FeatureSpecification
MCUSTM32F746ZGT6
CoreARM Cortex-M7
Clock216 MHz

IMU Sensors
#

VersionIMU Chip
OldMPU9250 (discontinued)
CurrentICM-20648

IMU provides:

  • 3-axis accelerometer
  • 3-axis gyroscope
  • Used for odometry

Communication Ports
#

PortPurpose
USBConnection to Raspberry Pi
TTLSerial communication
RS485Industrial serial
UARTDebug/expansion
CANMotor communication

I/O Features
#

  • PWM outputs for motors
  • GPIO pins
  • RGB LEDs for status
  • Buttons for user input

Power
#

ParameterValue
Input voltage5V - 24V
Default battery11.1V LiPo (3S)
OutputRegulated 5V, 3.3V

Role
#

  • Motor control
  • IMU data processing
  • Power management
  • Low-level control

Motors and Wheels
#

Dynamixel Motors
#

TurtleBot3 uses Dynamixel smart actuators:

ModelBurgerWaffle
TypeXL430XM430
Torque1.0 Nm2.7 Nm
Speed57 RPM46 RPM

Wheel Configuration
#

  • Differential drive
  • Two driven wheels
  • Caster or ball for balance

System Architecture
#

Desktop PC (ROS Master)
        ↕ WiFi
   Raspberry Pi
        ↕ USB
     OpenCR
    ↙     ↘
Motor L   Motor R

Data Flow
#

  1. LDS → Raspberry Pi (laser scans)
  2. OpenCR → Raspberry Pi (IMU, motor feedback)
  3. Raspberry Pi → OpenCR (velocity commands)
  4. Raspberry Pi ↔ Desktop (ROS topics)

Power System
#

Battery
#

  • 11.1V LiPo (3 cells)
  • Capacity: ~1800mAh
  • Runtime: ~2.5 hours typical

Power Distribution
#

Battery (11.1V)
   OpenCR
   ↙    ↘
5V to    Motor
RPi      Power

LED Indicators
#

LEDMeaning
PowerSystem on
User RGBProgrammable status
StatusROS connection