From Waveshare Wiki
Revision as of 09:25, 20 October 2023 by Eng52 (talk | contribs) (→‎FAQ)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

PicoGo Mobile Robot, Based on Raspberry Pi Pico, Self Driving, Remote Control






The smart robot has always been the favorite project of electronic enthusiasts, and there've been several robots based on Raspberry Pi Zero W, 3B+, and 4B in Waveshare's product line. Now, here comes the Pico version: PicoGo!
The PicoGo is a smart mobile robot based on Raspberry Pi Pico, it includes an ultrasonic module, LCD module, Bluetooth module, line following module, and obstacle avoidance module, all these functions are highly integrated for easily achieving IR obstacle avoidance, auto line following, Bluetooth/IR remote control, and more. With various advanced features, it will help you quickly get started with smart robot design and development.


  • Standard Raspberry Pi Pico header, supports Raspberry Pi Pico series.
  • Battery protection circuit: overcharge/discharge protection, over current protection, short circuit protection, reverse proof, more stable and safe operating.
  • Recharge/Discharge circuit, allows programming/debugging concurrently while recharging.
  • 5-ch infrared sensor, analog output, combined with PID algorithm, stable line tracking.
  • Onboard multiple smart robot sensors like line tracking, obstacle avoidance, and no more messy wiring.
  • 1.14inch IPS colorful LCD display, 240 x 135 pixels, 65K colors.
  • Integrates Bluetooth module allows teleoperations like robot movement, RGB LED display color, buzzer, etc. by using mobile phone APP.
  • N20 micro gear motors, with metal gears, low noise, and high accuracy.
  • Colorful RGB LED, pretty cool!


  • Support 3.7V 14500 rechargeable batteries.
  • When installing the batteries, please pay attention to the orientation of the poles labeled on the battery box.
  • The warning indicator will be on and the self-recovery fuse will be overheated severely if the batteries are connected reversely. It is necessary to replace and correct the orientation of batteries immediately.
  • You need to connect the power to Picogo to activate the batteries if you change batteries, otherwise, the Picogo cannot be powered normally.
  • Connect USB power to the Picogo or turn on the power switch, the power indicator, and battery indicator will always be on. After disconnecting the USB cable and turning off the switch, the power indicator (red light) will turn off, and the battery indicators (yellow-green light) will be off after a while, press the key and the battery indicator will be on for a while and then turn off.
  • The onboard infrared obstacle avoidance sensor, RGB LED, and motor all need a 5V power supply. If you don't turn on the power switch and only connect to the USB power supply, these functions will not work normally.
  • The yellow and green LED indicators are the power indicator. When only one LED indicator flashes, it indicates that the battery is low and needs to be connected to the power supply for charging.
  • Some demos will call other modules. The sample demo must be saved to Raspberry Pi Pico before running, otherwise, the running demo may show that the corresponding module cannot be found.
  • After Pico is started, it will automatically run the main.py demo. If you need the PicoGo to start the corresponding demo, you need to save the demo as a main.py file.

MicroPython Demo

Before running the MicroPython demo, you should download the MicroPython firmware on the Pico first, and then install Thonny IDE. Please Raspberry Pi when configuring the board environment.

Test Motors

  • Open the motor.py in Thonny IDE, and run it.
  • The PicoGo will move forward, then backward, turn left, and turn right after running the codes.

Note: You need to turn the power switch to ON, and make sure that the PicoGo has enough place to move.

Infrared Remote Control

  • Open the IRremote.py in ThonnyIDE and run it.
  • Press the Infrared controller to control the PicoGo.
  • 2, 8, 4, 6, 5 are used for forwarding, backward, turn left, turn right, and stop. You can press the - or + keys to adjust the speed and press EQ to restore the setting.
  • Different infrared remote controllers may have different key codes, if you use other controllers, you may need to modify the codes.

Note: If you need to make the PicoGo run without cable, you need to rename the IRremote.py as main.py and save it to Raspberry Pi Pico. The codes also need to call the Motor.py, you need to save it to Raspberry Pi Pico as well.

Infrared Obstacle Avoidance

  • Open the Infrared-Obstacle-Avoidance.py in Thonny IDE, rename it as main.py, and save it to Pico. Disconnect the USB cable and run it.
  • When there is no obstacle in front of the car, the green LED light in front of the car will be off. When the car meets an obstacle, the green LED light in front will be on.
  • If the LED light is not bright or keeps brightening, you can adjust two potentiometers on the bottom of the PicoGo, so that the LED is just out of state. The detection distance is the farthest.
  • Procedure phenomenon is no obstacle when the car straight, encountered obstacles when the car turns right.

Ultrasonic Ranging

  • Open the Ultrasionc_Ranging.py in Thonny IDE, the detected distance will be shown on the shell.
  • Because the ultrasonic wave will be reflected, the front side of the obstacle plane is not in front of the ultrasonic wave but with the ultrasonic wave formed an Angle of the measured distance may be inaccurate.


Ultrasonic Obstacle Avoidance

  • Open the Ultrasonic-Obstacle-Avoidance.py in Thonny IDE, rename it as main.py, and save it to Raspberry Pi Pico.
  • Run the program after disconnecting the USB cable. Go straight when there is no obstacle, and turn right when there is an obstacle.

Ultrasonic Infrared Obstacle Avoidance

  • Open the Ultrasionc-Infrared-Obstacle-Avoidance.py in Thonny, rename it as main.py, and save it to Raspberry Pi Pico.
  • Run the program after disconnecting the USB cable. Go straight when there is no obstacle, and turn right when there is an obstacle. The combination of ultrasonic and infrared has a better obstacle avoidance effect and a higher success rate.


  • Open the WS2812.py in Thonny and run it.
  • Four colored LED lights at the bottom of the car will show red, yellow, green, cyan, blue, purple, and white, and then show the color light effect.

1.14inch LCD

  • Open the ST7789.py in Thonny IDE and run it.
  • After the program runs normally, LCD will display the string.

Battery Voltage Detection

  • Open the Battery_Voltage.py in Thonny IDE and run it.
  • LCD will display chip temperature, battery voltage, and power percentage. The percentage of electric quantity is obtained by simple linear conversion of voltage. The actual battery voltage and electric quantity are not linear, so there will be some errors in this percentage.

Tracking Sensor Test

  • Open the TRsensor.py in Thonny IDE and run it.
  • The shell interface will display the values of the five tracking sensors. The data range is 600~900 when the PicoGo is put on the white paper, and the data range is 0~50 when the PicoGo is put in the air.


Infrared Tracking

  • Open the Line-Tracking.py file in Thonny IDE, rename it as main.py, and save it to Raspberry Pi Pico.
  • Tracking sensor can detect black lines with a white background (or white lines with a black background, need to modify program).
  • The tracking board can be made by sticking black tape in the white KT board. The width of the black track is 15mm. If the background color is too dark, the tracking effect will be affected.
  • After disconnecting the USB cable, running the demo, and putting the car in the black line, the car will rotate left and right, this is the car calibration stage. If the calibration phase operation error will directly affect the tracking effect.

Infrared Tracking-Integrated

  • Open a Line-Tracking2.py in Thonny IDE, rename it as main.py, and save it to Raspberry Pi Pico.
  • After disconnecting the USB cable, running the program, and putting the car in the black line, the car will rotate left and right to calibrate. After calibration, the black line will be run.
  • When there is an obstacle in front of the car, the car will stop and the buzzer will sound. After the obstacle is cleared, the car will continue to run. Pick up the car and the motor will stop.
  • During the calibration stage of the car, the four RGBS display red, green, and blue respectively. Change. The RGB LED will display the color light effect when tracking is running.

Ultrasonic Infrared Following

  • Open the Ultrasionc-Infrared-follow.py in Thonny, rename it as main.py, and save it to Raspberry Pi Pico.
  • Run the program after disconnecting the USB cable, place the object in the sensor of the car, and the car will automatically follow the object to move.
  • The following distance of the car can be set, the default following distance is 5cm, the car will stop when it is 5cm away from the object, and the car will continue to run when it is larger than 5cm and smaller than 7cm.
  • Turn left and right by infrared.
  • When the car is running, the RGB LED will display the color light effect.

Bluetooth Remote Control

  • Open the bluetooth.py in the Thonny IDE, rename it as main.py, and save it to Raspberry Pi Pico.
  • Install PicoGo APP in your phone (only supports Android).
  • Start the APP, select Bluetooth control, and click "Search" in the upper right corner. After about a few seconds, the corresponding Bluetooth device will be displayed in the list normally.


  • Select jDY-33-SPP. If you select "JDy-33-ble", the connection to the device will fail. Go to the next page and select remote Control.


  • Press the button to control the car, but also can control the buzzer sound, and RGB LED displays different colors.


From September 2022, the V2 version will be shipped as the original ADC chip is out of stock.
The ADC chip is not the same on the V1 and V2 versions, the tracking demo is not compatible, but the function effect is the same.



Demo Codes


Please use 14500 rechargeable batteries (not included), which should be 3.7V.



Technical Support

If you need technical support or have any feedback/review, please click the Submit Now button to submit a ticket, Our support team will check and reply to you within 1 to 2 working days. Please be patient as we make every effort to help you to resolve the issue.
Working Time: 9 AM - 6 AM GMT+8 (Monday to Friday)