How to check if your Thymio is functioning correctly ?
Thymio never ceases to amaze us, with its ability to do digital painting and to transform itself into an animal, but it can spring some nasty surprises. Because although this educational robot is robust, it can sometimes suffer from defects.
To help you solve the most common problems, we’ve put together this short guide so you can check to see if most of your Thymio 2’s sensors and actuators are functioning correctly.
If your Thymio mobile robot does not light up, or if it’s not detected when you plug it in via USB, refer to the
“Solutions for common problems” section found at the end of this guide.
Preparation of your Thymio II robot
- Connect Thymio to your USB port and launch Aseba Studio
- Check you’re in automatic refresh mode (Auto checked)
- Add hidden variables in the View menu
- You should see the following display:
Thymio II robot firmware check
Pull down the “_fwversion” variable to see the firmware version number. The current version is 8 (in the first field [0]). If this is not the version displayed, we recommend you update the firmware by following the instructions on this page of the Thymio & Aseba site (don’t forget to exit Aseba Studio before beginning this update!)
Proximity sensor check
Location
Seven distance sensors are arranged around the Thymio, five at the front and two at the back.
Check
The simplest way to check these sensors is to pass your hand in front of each one to make sure they all respond correctly. Sensors 5 and 6 are those located at the rear.
Values
The values obtained by these sensors can be seen in the “prox.horizontal” variables. The values obtained by these sensors are to be interpreted as follows:
- 0 => no obstacle is detected
- Approx. 4000 => the obstacle is as near as it can be to the sensor without touching it
Ground line sensor check
Location
Thymio has two ground detection sensors located at the front under the robot.
Operation
The robot detects the intensity of the ambient light on the one hand (“prox.ground.ambiant”) and the light reflected by the ground on the other (“prox.ground.reflected”). By calculating the difference between the two (“prox.ground.delta”), Thymio can deduce the absence or presence of the ground.
Values
- Approx. 0 => Thymio is far away from the ground
- Positive value => Thymio is on the ground
NOTE: this positive variable differs according to the type of ground (around 20 for a black surface and 1000 for a white surface).
Microphone check
This is the “mic.intensity” variable. Except in cases of absolute silence, this value will always be slightly above 0 (between 5 and 10 in a quiet environment). Tap the surface of the robot quite hard, and you should see the value fluctuate by several tens of units up to about 200.
Accelerometer check
The accelerometer’s values can be seen in the “acc” variable.
Values
The three values correspond to the 3 axes.
- When your Thymio is placed normally on the ground, the last value should be high (around 20–25) and other two close to 0. A high value indicates the acceleration due to gravity.
- If you point your Thymio upwards, it is the second value that should rise to 20 and the others be close to 0.
- Similarly, if you place your robot on its side, it’s the first value that should reach around 20 (or -20 depending on which side it’s lying on) and the others around 0.
Speed sensor and motor check
Speed sensor check
The “motor.left.speed” and “motor.right.speed” variables indicate the wheel rotation speed.
Value
- 0 => Wheels are at rest (with sometimes a slight deviation between 1 and 5).
If your Thymio does not advance in a straight line, this might be caused by such a deviation.
To correct this problem, we recommend you follow the calibration procedure described on this page of the Thymio & Aseba site
Here is a video explaining the calibration procedure:
Motor check
To test your Thymio’s motors, place the robot on its back and enter the following code:
motor.right.target=100
motor.left.target=100
You can then load and run the program. The wheels should start turning at the same speed. The speed sensors will indicate a value fluctuating at around 100 (possibly ranging between about 80 and 120 depending on the noise).
Load and run the following program to stop the robot:
motor.right.target=0
motor.left.target=0
Button check
Location
Thymio has 5 buttons on the top corresponding to the “button.backward”, “button.forward”, “button.left”, “button.right” and “button.center” variables.
Values
- 0 => the button is not pressed
- 1 => the button is pressed
Check
Make sure the value of each button changes to 1 when it’s activated (keep the button pressed down until Aseba Studio refreshes the sensor’s status).
Solutions for common problems
The two main problems that can arise with Thymio are as follows.
Your robot has stopped charging
- First, check that your USB cable is not defective by testing with a different cable (most smartphones use the same type of micro USB cable as the Thymio).
- If the problem persists, this means the Thymio battery is deep discharged (or that it’s faulty, which can happen, in which case you’ll need to contact our after-sales service).
To get Thymio out of this mode, use a wall USB charger (these are often provided with smartphones and tablets). These chargers normally supply a 5V current @ 1A (instead of the 500 mA supplied by a computer’s USB ports). - Connect the robot and press the reset button (the small hole on the left side). Then leave the robot to charge for 2 hours.
Your robot does not light up properly, behaves erratically or continuously connects to and disconnects from the USB port
The firmware is probably corrupted, in which case you’ll need to upgrade it by following the instructions on this page of the Thymio & Aseba site.
You may need to try several times if it doesn’t work first go!
If you need more information on how to solve problems encountered with the Thymio, try the support page of the manufacturer.