Skip to content



Arduino support for ESP32 board

  • Install Arduino IDE (Tested with IDE 2.0.3)
  • Follow setup instruction. But You don't need to flash their example.
  • To install library: Sketch > Include Library > Manage Libraries... > library name > Install
  • You can click "more info" for how to use them, if you want to know.

vl53l0x Library (Lidar)

  • vl53l0x by Adafruit

PCA9554 (IO expander)

  • Adafruit XCA9554 by Adafruit


  • LSM6DS by Adafruit

QMC5883LCompass (Compass)

  • QMC5883LCompass by MPrograms

FastLED (RGB led control)

  • FastLED by Daniel Garcia

Websocket (wifi communication)

  • WebSockets by Markus Sattler


  • Adafruit GFX library by adafruit
  • Adafruit SSD1306 by Adafruit


  • ESP32Servo by kevin Harringtong
  • Adafruit LSM6DS by adafruit

if the code is using PCF8574

  • PCF8574 by Renzo Mischianti


  • ESP32-S3
  • PCB board
  • 2 continuous rotation servos
  • 2 VL53L0X Time-of-Flight (ToF) Laser Ranging Sensor:
  • 1 Lipo Battery 3.8V 650mAh


code loading

choose ESP32-S3-Box as the Boards Manager


  • 6 row lidar female headers (4 ports)
  • right angle lidar male headers (2 lidars)
  • Be sure the lidar points outward
  • mechanical switch
  • Lipo power port
  • Watch out connector direction!
  • wrong wiring can even damage your laptop



  1. install above required libraries
  2. IDE environment check
    1. change the board manager to be ESP32-S3-Box
    2. Make sure your upload baudrate is "115200" and frequency is 40Mhz
    3. upload the file to check if you can compile and run the code
    4. Open Serial monitor from tools
    5. Set baudrate to 115200
    6. Now you should see the chip ID
  3. Testing components
    1. Open one test code '*.ino' in lab3/test_code
    2. check if it compiles. If not you are probably missing libraries or installed wrong one
    3. flash to ESP32
    4. If hardware is not ready, ask TA for testing board
    5. test all the component with the test code in lab3
2. print them -->