ADEEPT PiCar-Pro User manual


About Adeept
Adeept is a company dedicated to open source hardware and STEAM education
services. The Adeept creative technology team is constantly developing new
technologies, using excellent products as technology and service carriers,
providing complete tutorials and after-sales technical support to help users
enjoy learning and entertainment. The main products include Arduino, Raspberry
Pi and various learning kits and robots of BBC micro:bit. Adeept is committed
to providing users with high-quality STEAM education products, services and
technical support.

Catalog
Introduction of PiCar Pro Products...................................................................... 1
Raspberry Pi................................................................................................................... 4
Introduction of Robot HAT Driver Board.................................................................... 14
Lesson 1 Installing and Logging in to the Raspberry Pi System................................. 18
Lesson 2 How to Use the Web Controller.................................................................... 50
Lesson 3 How to Control LED.....................................................................................60
Lesson 4 How to Control 180° Servo...........................................................................68
Lesson 5 How to Control WS2812 LED......................................................................73
Lesson 6 Displaying Text on the OLED Screen...........................................................77
Lesson 7 How to Control DC Motor............................................................................82
Lesson 8 How to Control the Ultrasonic Module........................................................ 86
Lesson 9 How to Assemble PiCar Pro......................................................................... 91
Lesson 10 Tracking Function..................................................................................... 154
Lesson 11 Warning Light Function............................................................................ 159
Lesson 12 Ultrasonic Scanning Function...................................................................162
Lesson 13 Camera Stabilization Function..................................................................166
Lesson 14 Automatic Obstacle Avoidance Function..................................................168
Lesson 15 Creating a WiFi Hotspot on Raspberry Pi.................................................173

1
Introduction of PiCar Pro Products
1. About PiCar Pro products
PiCar Pro is an open source intelligent robot product for artificial
intelligence and robot enthusiasts and students. It is also an open
Raspberry Pi-based robot development platform. It has the following
features:
Easy to assemble: adopting structural modular design, open
hardware list and detailed assembly tutorial.
Easy to learn: Complete and detailed development learning tutorials
and sample codes are provided from algorithms to applications.
Multi-form: It can be transformed into different types of carts by
different combinations, such as robotic arm carts and ultrasonic carts.
Rich functions: automatic obstacle avoidance, color recognition,
color tracking, moving object detection, Web remote control, OLED
display, lighting indicator, line patrol module.
Aluminum alloy structure: strong and durable.
Extensible: the structure can be expanded and DIY.
Web remote control: Regardless of mobile phone, tablet, computer,
Windows, Linux, Mac OS, as long as you can install Google Chrome
browser to control the robot.

2
Support multiple versions of Raspberry Pi: support Raspberry Pi 3B,
Raspberry Pi 3B+ and Raspberry Pi 4.
Supporting Python.
2. Two types of PiCar Pro robots
PiCar Pro can be assembled into two different forms of robots, namely the
robotic arm form and the ultrasonic form.
2.1 Robotic arm shape
The PiCar Pro robotic arm has the functions of grabbing objects and visual line
tracking, color recognition, moving object detection, Web remote control, OLED
display, and lighting indicators; PiCar Pro uses a decelerating DC motor as a power
unit, and its advantage is fast speed ; The use of large-size wheels makes PiCar Pro
have excellent off-road performance and can be applied to complex terrain; the
program only needs to control the high and low levels of the corresponding GPIO
ports to control the car to grab items, which is convenient for novices and makers to
learn and use the control methods of car products;

3
2.2 Ultrasonic form
PiCar Pro has visual line patrol and ultrasonic line patrol, automatic obstacle
avoidance, color recognition, moving object detection, Web remote control, OLED
display, lighting indicator and other functions; PiCar Pro uses a decelerating DC motor
as a power unit, and its advantage is fast; using large-size wheels, PiCar Pro has
excellent off-road performance and can be applied to complex terrain; the program
only needs to control the high and low levels of the corresponding GPIO ports to
control the motor rotation, which is convenient for novice makers to learn quickly
about the control method of using trolley products;

4
Raspberry Pi
1. Introduction to Raspberry Pi
(1) Raspberry Pi
Raspberry Pi (Raspberry Pi, RasPi/RPi) is developed by the British charity
organization "Raspberry Pi Foundation", based on ARM microcomputer motherboard,
only the size of a credit card, but has the basic functions of a personal computer. The
original purpose of the Foundation’s development of the Raspberry Pi was to improve
the teaching level of the school’s computer science and related disciplines, and
cultivate the youth’s computer programming interest and ability. Nowadays, most
people use the Raspberry Pi for embedded development, which is mostly used in the
Internet of Things, smart home and artificial intelligence.
(2) Raspberry Pi motherboard
In our lessons, we will use the Raspberry Pi 4 motherboard. Let's take a look at
the structure of the Raspberry Pi 4 motherboard. As shown in the following figure:

5
The following contents will briefly explain the main structure ports of the
Raspberry Pi 4 motherboard:
(1) GPIO 40-PIN pin:
The General Purpose Input Output (GPIO) is designed as a slot with two rows of
pins on the Raspberry Pi motherboard. GPIO can be used to connect various
peripheral electronic devices and sensors to control or monitor these devices through
input/output level signals. For example, you can use GPIO to control the speed of a
DC motor, or read the measured distance of an ultrasonic sensor. These functional
characteristics of GPIO make the Raspberry Pi different from ordinary computer
motherboards because it gives developers the freedom to operate manually. We will
further introduce GPIO in the subsequent chapters and use them extensively.
(2) Gigabit Ethernet port:
The Ethernet interface allows the Raspberry Pi to connect to the computer
network in a wired manner, which allows us to easily access the Internet or log in to
the Raspberry Pi remotely. The Raspberry Pi's Ethernet interface is implemented
using a USB bus, and data is transferred through the USB bus. Most models of
Raspberry Pi provide an Ethernet interface

6
(3) Micro HDMI port:
High-definition multimedia interface (High Definition Multimedia Interface,
HDMI) is a fully digital video and sound transmission interface, used to transmit
uncompressed audio and video signals. By connecting it to a display (or TV) equipped
with an HDMI interface, the content of the Raspberry Pi can be displayed. The HDMI
interface can transmit video and audio signals at the same time, so when we use it, we
don't need to connect speakers to the audio interface of the Raspberry Pi. If we really
need to play sound through the audio interface, we need to modify the operating
system configuration accordingly.
(4) USB2.0/3.0 port:
The Universal Serial Bus (USB) interface is the most common interface on a
computer. You can use it to connect devices such as keyboards, mice, USB flash
drives, and wireless network cards. When the number of USB ports is not enough, we
can also increase the number of USB ports through a USB hub.
(5) Audio port:
Audio interface (3.5mm headphone jack) When HDMI connection is not used,
you can use the standard 3.5mm headphone jack speakers or headphones to play audio.
At the same time, the interface also integrates a composite video interface with a
composite audio and video output function, which is generally used to connect to old
models of TVs, and is currently rarely used.
(6) MIPI CSI camera port:
The CSI interface can be used to connect the CSI camera to the Raspberry Pi via
a ribbon cable for easy video recording and image capture. Compared with the USB
camera, this camera module has better performance.
(7) USB-C 5V/3A power supply port:
The Micro USB power supply interface is one of the main power supply methods
of the Raspberry Pi. The rated voltage is 5V. The standard current requirements of
different versions of the Raspberry Pi are slightly different. For example: the 1B type

7
only needs 700mA, and the 3B+ type requires 2.5A. The chargers of many Android
mobile phones can provide the necessary voltage and current for the Raspberry Pi.
The current demand of the Raspberry Pi is also related to the connected external
device. It is recommended that it should be calculated in advance when using it.
Choose a suitable current (power) power supply for the Raspberry Pi. When the
external device has a large power, an independent power supply should be used Power
supply for external devices.
(8) Micro SD card slot:
The SD card slot is located on the back of the Raspberry Pi motherboard. The
SD/MicroSD card is an essential storage part of the Raspberry Pi. It is used to install
the operating system and store data. The capacity of the SD card should be above
2GB. In order to have a better experience, it is recommended to equip your Raspberry
Pi with a large-capacity (above 16G) high-speed (Class10 or above) SD card.
(9) Bluetooth port:
The Bluetooth function allows the Raspberry Pi to connect with
Bluetooth-enabled devices (such as a mouse, keyboard, and handle).
(10) PoE HAT port:
Active Ethernet (Power Over Ethernet, PoE) refers to a technology that uses
Ethernet for power transmission. On the basis of the original Micro USB and GPIO
power supply, the Raspberry Pi 3B+ type adds a new power supply method over
Ethernet. Users can use the network cable to supply power to the Raspberry Pi
without the need to configure an additional power supply, which is convenient for
certain application scenarios.
(11) MIPI DSI display port:
You can connect the LCD display to the Raspberry Pi, which is generally used
for embedded product development. Under normal circumstances, the HDMI
interface can already meet the demand.

8
(3)Operating system
The Raspberry Pi supports a variety of operating systems, mainly based on Liunx
and Windows, and most of them can be found on the official website of the Raspberry
Pi Foundation (www.raspberrypi.org). The following briefly introduces two
representative operating systems.
(1) Raspbian
Raspbian is the official operating system of the Raspberry Pi Foundation. It is
customized based on Debian GNU/Linux and can run on all versions of the Raspberry
Pi motherboard. According to the experience, Raspbian and Raspberry Pi combine the
best, stable operation, powerful, easy to use, can basically meet various application
needs, so it is strongly recommended to use Raspbian as the preferred operating
system for Raspberry Pi. In the following chapters, we will further introduce the use
of Raspbian in detail, and develop various applications on it.
(2) Windows 10 IoT Core
Windows 10 IoT Core is an operating system specifically created by Microsoft
for the Internet of Things ecosystem. Windows 10 IoT Core is the core version of the
Windows 10 IoT operating system. It has relatively simple functions and can run on
the Raspberry Pi of type 2B or above. The installation and use of Windows 10 IoT
Core will not be described in detail here. If you are interested, you can visit
Microsoft's website for more information.
In addition to the two operating systems described above, there are several
operating systems that support the Raspberry Pi, such as Ubuntu MATE, OSMC,
LibreELEC, PiNet, RISC OS, etc. As for which one to choose, it depends on whether
you want to use Raspberry What to do. If you want to use the Raspberry Pi as an
ordinary computer or for electronic project development, then Raspbian is a very
good choice. If you plan to use the Raspberry Pi as a media center, you can consider
using OSMC or LibreELEC.

9
(4)Programming language
For the Raspberry Pi, there are many programming languages available. In fact,
any language that can be compiled for the ARM architecture (such as the C language)
can be used for the Raspberry Pi. The most popular language should be Python. In
fact, the Pi in the name of the Raspberry Pi was inspired by the word Python. Python
is an interpretive, object-oriented, and dynamic data type high-level programming
language with powerful functions, good compatibility, and high reliability. Python
programs are easy to write and read. At present, there are two major versions of
Python: Python 2 and Python 3. Both versions have been updated and maintained, but
people still have disputes about which version to use. You can visit Python's official
website (www.python.org) to understand more related content, in the future we will
mainly use Python 3 for development introduction. In addition, because the
compatibility of the Raspberry Pi is splendid, the program we wrote on the 3B+
model can be run on the Zero W model with little modification.
2. Introduction to GPIO
(1) What is GPIO
GPIO (General Purpose I/O Ports) are general-purpose input/output ports. In
layman's terms, they are some pins with two rows of pins. They can be used to output
high and low levels or to read the state of the pins-whether it is high or low. Users can
interact with the hardware through the GPIO port (such as UART), control the work
of the hardware (such as LED, buzzer, etc.), read the working status signal of the
hardware (such as interrupt signal), etc.

10
(2) Introduction of GPIO pins
(1) GPIO pin comparison table

11
【Form description】:
(1) Three naming (coding) methods for Raspberry Pi pins
Three ways to name the Raspberry Pi pins:
The WiringPi number is the pin number of the functional wiring (such as TXD,
PWM0, etc.); the BCM number is the Broadcom pin number, also known as GPIO;
the physical number is the number corresponding to the physical location of the pin
on the Raspberry Pi motherboard (1 ~40).
(2) 3.3V/5V pin and GND pin

12
3.3V/5V pin and GND pin are commonly known as power and ground pins. The
power and ground pins allow your Raspberry Pi to power some external components,
such as LED lights. It should be noted that before using these pins to power any
external modules or components, care should be taken. Excessive operating current or
peak voltage may damage the Raspberry Pi. Do not use voltages greater than 5V!
(3) SDA and SCL pins
The SDA and SCL pins constitute the I2C interface. I2C is a simple, bidirectional
two-wire synchronous serial bus developed by Philips. It only requires two wires to
transfer information between devices connected to the bus. The Raspberry Pi can
control multiple sensors and components through the I2C interface. Their
communication is done through SDA (data pin) and SCL (clock speed pin). Each
slave device has a unique address, allowing rapid communication with many devices.
The ID_EEPROM pin is also an I2C protocol, which is used to communicate with
HATs.
(4) SCLK, MOSI and MISO pins
SCLK, MOSI and MISO pins form the SPI interface. SPI is a serial peripheral
interface, used to control components with a master-slave relationship, and works in a
slave-in, master-out and master-in-slave manner. The SPI on the Raspberry Pi consists
of SCLK, MOSI, and MISO interfaces, and SCLK is used for controlling data speed,
MOSI sends data from the Raspberry Pi to the connected device, while MISO does
the opposite.
(5) TXD and RXD pins
TXD and RXD form a UART interface. TXD is a pin to send data, and RXD is a
pin to receive data. A friend who uses Arduino must have heard of UART or Serial.
The Universal Asynchronous Receiver/Transmitter interface is used to connect the
Arduino to the computer for which it is programmed. It is also used for
communication between other devices and the RX and TX pins. If the Raspberry Pi
has a serial terminal enabled in raspi-config, you can use these pins to control the

13
Raspberry Pi through a computer or directly to control the Arduino.

14
Introduction of Robot HAT Driver Board
1.Introduction of Robot HAT driver board
When you get the PiCar Pro product, you will see a board with its name printed
on it called: Adeept Robot HAT, which is an important part of PiCar Pro. There are
many interfaces on the Robot HAT driver board. By these interfaces, you can connect
some sensors and electronic hardware modules, so that you can achieve many
extended functions. Our PiCar Pro products need to be used in conjunction with the
Raspberry Pi. Let's first get to know the Robot HAT driver board.
【Vin】: The vin interface is an interface for external power supply.
【Switch】:
Switch is the switch of Robot HAT driver board, ON is to open, and OFF
is to close.
【Micro USB】:
The Micro USB interface can connect the Robot HAT driver board to
a computer or other equipment, and can also supply power for the Robot HAT driver
board.
【Power LED】Power LED is used to indicate the power status of Robot HAT driver
board. If the LED is on, it means that the Robot HAT driver board is powered on and

15
can run; if the LED is off, it means that the Robot HAT driver board is not powered
on.
【Tracking】is the pin interface of Tracking Module.
【WS2812】is the pin interface of WS2812 Module.
【3.3V-GND】3.3V power supply interface.
【Uart】Uart interface.
【GPIO 40-PIN】General Purpose Input Output (GPIO) is designed as a slot with
two rows of pins on the Robot HAT driver board. GPIO can be used to connect
various peripheral electronic devices and sensors and control or monitor these devices
with input/output level signals. In PiCar Pro products, this GPIO interface is
connected to the GPIO pins on the Raspberry Pi driver board.
【5V-GND】5V power supply interface.
【IIC】IIC interface. It is also the interface of the OLED screen module.
【MPU6050】The interface of MPU6050 sensor.
【Port】is divided into Port1, Port2, and Port3 interfaces, which are commonly used to
connect Small LED light.
【Servo port】Servo interface.
【motor】is divided into motor1, motor2 interfaces.
【Ultrasonic】Ultrasonic interface.
2. Precautions for the use of Robot HAT driver board
When you are performing software installation, structural assembly or program
debugging, you can use a USB cable to power the Raspberry Pi. If the Raspberry Pi is
equipped with Robot HAT, you can connect the USB cable to the USB port on the
Robot HAT. Robot HAT will power the Raspberry Pi by the GPIO interface.
Different Raspberry Pi have different current requirements. For example, the
Raspberry Pi 3B needs at least 2A to boot up, and the Raspberry Pi 4 needs 3A to boot

16
normally. When you use the power adapter to power the Raspberry Pi, you can check
the specifications on your power adapter.
When the Robot HAT is connected to a load, such as a motor or multiple servos,
you need to use a high-current power supply to connect to the Vin on the Robot HAT.
You can use two 18650 batteries that support high-current to power the Robot HAT.
For power supply, our product will provide a dual 18650 battery box with a 2pin
interface. You can directly connect it to the Robot HAT.
When the USB interface on the Robot HAT is used for power supply, the switch
of the Robot HAT does not control whether to supply power. The switch of the Robot
HAT can only control the power supply of Vin.
Do not use the USB port on the Robot HAT and Vin to supply power at the same
time. If you need to debug the program for a long time and don’t want to remove the
battery, you can set the switch on the Robot HAT to OFF, so that when the USB cable
is used to connect the Robot HAT, the Robot HAT is powered by USB.
If your robot restarts automatically after it is turned on, or after it is turned on
normally, it is disconnected and restarted at the moment when the robot starts to move,
it is likely that your power supply does not output enough current. The robot will
automatically restart when it is turned on. Run the program to place all the servos in
the neutral position. The voltage drop generated during this process causes the
Raspberry Pi to restart.
We have tested that the peak current of the robot is around 3.75A when powered
by 7.4V, so you need to use a battery that supports 4A output.
You can also use the power lithium battery to power the Robot HAT. Robot HAT
supports power supply below 15V.
When assembling and installing the servo rocker arm, you can use a USB cable to
power the Robot HAT. After the Raspberry Pi with the robot software is installed, it
will control the Robot HAT to set all the servo ports to output neutral signals. You can
connect the servo to any port. The gear of the servo will rotate to the neutral position,

17
and then you can install the servo rocker arm according to the specified angle. After
the rocker arm is installed, you can disconnect the servo from the Robot HAT , When
you need to install the rocker arm of the second servo, connect the second servo to
any servo port on the drive board.
Table of contents
Other ADEEPT Robotics manuals

ADEEPT
ADEEPT RaspClaws User manual

ADEEPT
ADEEPT RaspClaws User manual

ADEEPT
ADEEPT Smart Car Kit User manual

ADEEPT
ADEEPT ADA031 User manual

ADEEPT
ADEEPT Robotic Arm User manual

ADEEPT
ADEEPT Hexapod User manual

ADEEPT
ADEEPT RaspArm User manual

ADEEPT
ADEEPT Quadruped Robot User manual

ADEEPT
ADEEPT RaspTank User manual

ADEEPT
ADEEPT PiCar-B User manual
Popular Robotics manuals by other brands

TEACH TECH
TEACH TECH TTG-631 Assembly & instruction manual

Motion Impossible
Motion Impossible AGITO user manual

Robotnik
Robotnik RB-1 Quick start manual

Denso
Denso VP-G SERIES Installation & maintenance guide

Susteen
Susteen Burner Breaker user manual

OTTO MOTORS
OTTO MOTORS 1500 Fast Charger V1.2 Operation and maintenance manual