Pisloth code example crashing with 110 error

Hello,
I’m trying to setup my pisloth robot to be used with python using this guide : pisloth/docs/PiSloth User Manual.pdf at master · sunfounder/pisloth · GitHub
I’ve managed to set it up to the point of running the code example 1.move.py does make my psloth move for a very brief time and then I get the following error :
File “1.move.py”, line 17, in
forever()
File “1.move.py”, line 12, in forever
SLOTH.do_action(‘forward’, 5, 100)
File “/opt/ezblock/sloth.py”, line 205, in do_action
self.servo_move(motion, speed=speed)
File “/opt/ezblock/robot.py”, line 107, in servo_move
self.servo_write_all(self.servo_positions)
File “/opt/ezblock/robot.py”, line 78, in servo_write_all
self.angle_list(rel_angles)
File “/opt/ezblock/robot.py”, line 71, in angle_list
self.servo_list[i].angle(angle_list[i])
File “/usr/local/lib/python3.7/dist-packages/ezblock-0.0.4-py3.7.egg/ezblock/servo.py”, line 30, in angle
self.pwm.pulse_width(value)
File “/usr/local/lib/python3.7/dist-packages/ezblock-0.0.4-py3.7.egg/ezblock/pwm.py”, line 101, in pulse_width
self.i2c_write(reg, self._pulse_width)
File “/usr/local/lib/python3.7/dist-packages/ezblock-0.0.4-py3.7.egg/ezblock/pwm.py”, line 47, in i2c_write
self.send([reg, value_h, value_l], self.ADDR)
File “/usr/local/lib/python3.7/dist-packages/ezblock-0.0.4-py3.7.egg/ezblock/i2c.py”, line 109, in send
self._i2c_write_word_data(addr, reg, data)
File “/usr/local/lib/python3.7/dist-packages/ezblock-0.0.4-py3.7.egg/ezblock/i2c.py”, line 37, in _i2c_write_word_data
return self._smbus.write_word_data(addr, reg, data)
TimeoutError: [Errno 110] Connection timed out

With a little bit of google I’ve found that it looks like a possible connection error?
Yet I’ve managed to use P11 to reset the servo angle on all 4, I’ve connected then to P0-P3 according to the manual too. So I’m kinda in a dead end, not knowing how to debug this.
Any idea what could cause this and how to fix it?

Are you using Python to control sloths, or are you using ezblock APP to control sloths?
Both of them use different systems.
Python control: Use Raspberry Pi system, download and install our product’s source code on the system terminal, and then execute the Python sample script to control sloth.
ezblock control: you need to install our specified ezblock OS image system, and then use the APP to control the sloth.
Link to ezblock OS image system:
https://ezblock.cc/download/v31.html
Steps to connect the product and EzBlock APP:
https://docs.sunfounder.com/projects/ezblock3/en/latest/quick_guide_3.2/connect_product_ezblock.html
How to calibrate the servo?
We suggest you use APP calibration, first let the product connect with ezblock APP, after successful connection, follow the pop-up prompts, it will take you to the calibration page. Please see the link:
Connect the Product and EzBlock — SunFounder EzBlock Studio documentation latest

Regarding your connection timeout, please provide us the video of the problem so that we can analyze and solve the problem.

Hello, My goal is to use python library on the robot.
I first tried to install a regular rasberry pi 4 image and to follow the steps in the docs. https://docs.sunfounder.com/_/downloads/pisloth-cn/en/latest/pdf/
Unfortunately the installation didn’t work, running the code was doing nothing. Anyway I then checked the github where we were cloning the code from and there was a different doc in the official github with also a process to use the robot with python, using the custom os image. I assumed this was the most recent version and need to follow it.
Anyway, after going through the steps and running the code, here’s the issue : https://www.youtube.com/watch?v=wQGNsoY5pJM
I tried to isolate the issue and only doing one action or running the original file with 4 actions and a loop do the same error.

This will take time to test, I’ll get back to you later when the info is updated.

Thank you for your time !

We can’t reproduce the problem you are experiencing, so run the other examples and see what happens.

  1. What version of Raspberry Pi system are you currently using.
  2. We recommend you to reinstall the Raspberry Pi system, and then go to the system terminal to install our product code base.
  3. Keep the battery fully charged.