eros:seedactuators:eeprom_restoring

NOTICE: as of May 2021, the tsbloader_adv.exe tool described in this article is not working under Linux. This issue is being researched. We recommend performing the update procedures using Windows

All Seed Robotics actuators come with an opens source bootloader (TSB) installed.
TSB (an acronym for Tinysafeboot) was originally developed by Julien Thomas and has since been further developed by Seed Robotics. The latest versions and tools can be followed on the Seed Robotics account on Github.

All actuators can be addressed by the bootloader and have their firmware upgraded and eeprom managed individually without the need to open the unit.

Each joint has unique setup and calibration values that are programmed during manufacturing.

An EEPROM restore may be required by our technical services to get an actuator back in working condition.

The procedure is done with your unit connected to the PC over USB. You will also need to apply external power to the unit so that the actuators are powered up.

You will need the TSBAdvanced Loader tool, which will communicate with the actuators.

NOTE: if your unit was built before 2018, please make sure that EROS Main board is running at least firmware version 28 (or newer). If your unit was built before this date, and is running an earlier firmware version, you should Upgrade the Main Board Firmware first.

1) Remove the small cover on the side of the unit to expose the USB connector.
Connect the micro USB cable to the side of the unit. (this port is used for maintenance tasks)

2) Next you will also need to apply power through the main connector located on the back of the the unit.
This is the main cable that you use to communicate with the Hand vis ROS or other frameworks.

IMPORTANT: You will have two cables connected to your hand: one on the side (micro USB) and one on the back, where power must also be applied i.e. connect the power supply to power the actuators

NOTICE: as of May 2021, the tsbloader_adv.exe tool described in this article is not working under Linux. This issue is being researched. We recommend performing the procedures using Windows

The tool is written in C# and compiled with Mono, a cross-platform implementation of the .Net framework making it compatible with Windows, Linux and MacOS.

1) Download the TSBAdvanced Loader binary directly from the Seed Robotics server.
Alternatively, you can clone the project from our Github account and compile it in your system.

In order to access the servos for the bootloader session, the EROS Main Board, since version 28, includes a bridge mode that works in tandem with the TSBAdvanced Loader to allow firmware upgrade.

To enable Bridge mode:

1) Find the Virtual Serial port number/id that was assigned, when you connected the board to your computer over USB.
(you need the Serial port number/id assigned to the USB connection from the EROS Main board to the PC).

On Windows you may use Device Manager to find COMxx;
on Linux and MacOS, it is typically /dev/ttyACMx, /dev/ttyUSBx or similar; run an ls /dev/tty* command to get the list of devices.

IMPORTANT: if you connect both cables to your computer: the one on the side of the unit and the one connected ot the back of the unit, you will have two Serial POrts. The serial port to use for this procedure, is the one corresponding to the microUSB cable on the SIDE of the unit; not the one connected to the back.

2) Now open a command prompt, browse to the directory where you have extracted the TSBAdvanced Loader and type:

[Linux and Mac users: prepend './' to the command]

tsbloader_adv.exe -port=[the Virtual Serial port number/id you determined in point 1] -seederos=bron

The executable file to run is the same whether you're on Windows, Linux or Mac OS, provided Mono is installed correctly.

  • If the executable refuses to run on Linux or Mac OS, you may need to give appropriate permissions to the file (chmod +x). Please check the FAQ section below for information on that.
  • Under Linux, if you get an error regarding the /dev/ttyX device, the first time you run the tool, also refer to the FAQ below.

At this point, the LED on your unit should have turned Blue. This signals the unit is in Bridge mode, ready for the TSB Bootloader session.

As mentioned each actuator can be addressed individually. This is done by means of a bootloader password assigned to each one. The passwords are assigned from the lowest default ID to the highest default ID:

  • For the RH4D model, default bootloader passwords are A-D (“A” being the password for the actuator with default ID 21/22 and “D” being for the actuator with default ID 29/30)
  • For the RH5D model, default bootloader passwords are A and D-G (“A” being the password for the actuator with default ID 31/41 and “G” being for the actuator with default ID 37/47).\\(on the RH5D passwords B and C do not correspond to any actuator as this models lacks the Wrist Flexion and Adduction motors when compared to the RH7D)
  • For the RH7D model, default bootloader passwords are A-G (“A” being the password for the actuator with default ID 31/41 and “G” being for the actuator with default ID 37/47)
  • For the RH8D model, default bootloader passwords are A-H (“A” being the password for the actuator with default ID 31/41 and “H” being for the actuator with default ID 38/48)
  • For spare actuators (if your order included any), default bootloader passwords are “S” or “P”

These default passwords are the same for LEFT and RIGHT versions, meaning passwords go from A-…, on both LEFT and RIGHT units.

We must issue an individual command for each device/password. If an operation on a device fails, do not proceed to the next one; retry the operation.\\ To ensure a healthy system configuration, you should only move to the next actuator/password once the previous one finishes successfully,

At this point, run the commands suggested by our support team. There is not “One size fits all”, so our team should ahve sent you the commands you need to run now.

[Linux and Mac users: may need to prepend './' to the commands]

During the update process, the LED on the hand will blink, as a visual cue to the process.

When each command finishes successfully, you should see the following message on completion of the command: “> All operations complete.”

If you encounter an error, do not proceed to the next command until you resolve the error with the current command. You may repeat the command that is giving you the error.
If even after repeating the command you are unable to complete the procedure, STOP NOW and contact Seed Robotics technical support.

Now that the process is complete, we can disable the Bride mode in the EROS Main board to resume normal operation.

[Linux and Mac users: prepend './' to the command]

tsbloader_adv.exe -port=[serial port] -seederos=broff

Once you enter this command, the LED on the unit should return to its regular colour.

Alternatively you my simply power cycle the unit (by disconnecting the USB cable AND disconnecting power from the main interface port). Upon reboot the unit will be back to the regular operating mode.

Even though we've tested and re-tested the procedure, we know things can go wrong; Here are some common issues:

  • The binary won't run on Linux or MacOS

At present ther eis an issue with tsb_loader running under Linux. We recommend running it on windows.

  • I get an error regarding the serial port on Linux

This is a common issue under Linux. The /dev/ttyXXXx devices are often added to dial-out group. If you are running as non-root, at the command prompt type:
sudo usermod -a -G dialout $USER
Next you need to log out and log back on.

Some older Linux distributions included a “modemmanager” module that may also occupy the port. While this is quite uncommon today, if the above still won't resolve the issue, you can try uninstalling “modemmanager” by typing sudo apt-get remove modemmanager (or the equivalent for your distribution)

  • When I try to install Mono on my system, the apt-get install … command returns and error.

Make sure you have followed the Installation instructions for your OS, on the Mono website. Even different versions of the same distribution have different instructions.
If the problem persists try running sudo apt-get clean followed by sudo apt-get update. Next retry installing the package with the apt-get install … commmand.
For further assistance on installing Mono, we recommend checking the Mono project website.

If you do run into any issue not covered here, or would simply like some additional guidance, please get in touch with our Technical Support (support@seedrobotics.com) and we'll be happy to assist you.

Copyright © 2015-2023 Seed Robotics Ltd

  • eros/seedactuators/eeprom_restoring.txt
  • Last modified: 2021/12/10 17:27
  • by SeedR KB Admin