Eva Software Updates¶
Welcome to the Eva software updates page, here you can find the packages used to update your Eva robot to the latest software version.
By installing a software update to Eva you accept the risk that the update process may change or cause a loss of data or content or cause a loss of functionalities or utilities. By installing a software update you authorize us to provide this update, and you acknowledge that we are not liable for any damages, loss of data or loss of functionalities arising from our delivery of the update. It is recommended that you regularly back up any archivable data such as toolpaths.
In order to ensure the security of your robot and your infrastructure, Eva will only accept updates which has been signed by us (i.e. ones you can find on this page).
How to install¶
During the update process please ensure:
- The robot's e-stop is disengaged
- The robot remains connected to a power supply for the duration of the update process
- You have downloaded the appropriate update file from this page (.aup file extension)
Log into Choreograph with an Admin account and acquire the robot lock. Navigate to the config page and locate the "Software update" component. Either drag and drop the update file or use the "Browse" button to select the update file via your file viewer. Once selected, confirm the correct file name is shown in the input box, and when satisfied, click on the "Upload & Install" button.
This will begin the update process, during this process you will be logged out of Choreograph and the lights on the robot may change color or turn on and off. Wait for approximately 5 minutes, waiting for the Choreograph login page to be shown and the robot lights to show it has successfully turned back on (both end effector lights and the base power button should be lit and white color). On log in you will be shown an update report, describing if the update was successful and detailing the change log.
If you are unable to update your Eva or an update fails, please contact support at
This release contains new features based on user feedback.
- MAC Address exposed to users: A number of customers’ IT departments wanted to know the MAC Address for Ethernet and WiFi interfaces in order to connect with the company’s network. This is especially useful for customers with multiple robots. On the GUI, Users can now find the Mac Address On the Config Page, when choosing connecting via Ethernet or WiFi as a separate field. And it’s viewable via the API as well.
This release contains new features based on user feedback, especially the controlled stop, as well as improvements to existing features.
- Controlled stop implemented: The Controlled Stop prevents the robot from coming to a crashing halt (and does away with the loud noise), with the brakes engaged once the robot comes to a stop. This stop, which can be enabled by pausing the robot mid-flight or by engaging the E-stop, enables the robot to come to a halt within 0.5 seconds and on the same trajectory of the path that the robot was on. This feature will improve the lifetime of the robot as well as enables future features like collision detection.
- Users can put the robot into its 'Packing Pose': For customers sending robots back for repairs or moving robot from one place to another and needing to put their robots into the original packaging, we’ve enabled a single click “Packing Pose” which sends the robots different joints into the necessary coordinates, making such packing much easier. This pack pose is under the “Go-To” in the Advanced Tab of the Dashboard, as a drop down menu.
- Improved styling of 'Unsupported browser' message: We’ve improved the unsupported browser message by making it clear to non-native english speakers by highlighting that only Google Chrome is supported, via its logo in colour vs other browser logos (such as Edge and Firefox) greyed out.
- Visibility toggle control on password fields: We’ve enabled users to see their passwords, in order to cross-check that they’ve put in the right characters.
- Button to toggle between 'Advanced' and 'Basic' Wi-Fi config: The basic Wi-Fi config is the default drop-down menu option (similar to how you connect your phone or laptop). For those who want to input more fields like SSID, users can click on the advanced tab to access those fields.
- Ability to Cache more toolpaths: We’ve expanded Eva’s ability to Cache more toolpaths to enable faster toggling between toolpaths saved on the robot, reducing the calculation time for the robot where users switch between toolpaths.
- Fix timeline corruption when a branch is deleted from a multi-branch 'IF Statement': This bug would appear when one deleted a branch of a multi-branch IF statement. The presentation of the remaining branches would be malformed. This fix removes the malformation of the remaining branches.
- Fix robot always going into error mode after engaging the E-stop: We’ve removed the undercurrent error that shows up after the E-stop is engaged, since engaging the E-stop isn’t an error and is a deliberate move. This helps in error reporting for support as well as for robots on Robot Data.
This release contains new features based on user feedback as well as improvements to existing features.
- Password Policy: We’ve enabled the Admin account of customers to set a desired number of minimum characters, for both admin and user account passwords. This minimum number of characters is then applied to any new password creation. Previously, we had limited this to a minimum of 8 characters, but based on customer feedback, it can now be increased to upto 250 characters for additional security. The default minimum is still 8 characters.
- Enabling routines in toolpaths - API only: Routines are essentially mini toolpaths that can be within a larger toolpath and can be duplicated to different parts of the same toolpath. A routine can have all the elements of a regular toolpath - i.e. waypoints, IO blocks, wait, IF statements, grids - and the can be called from a list of templates created. The aim is to make programming use-cases simpler.
- Users can connect to Wi-Fi from list of available networks: We’ve improved the user experience on connecting to network WiFi, by circumventing the need to input tougher to know fields such as SSID, and instead picking the WiFi off a list and putting in the network WiFi - more akin to your phone or laptop.
- Snap to Plane Button, user can choose end-effector orientation: We added a button to align the Tool Centre Point (TCP) perpendicular to the base of the robot in our previous release, 4.2.0, (its icon is a downward facing arrow, on the right of the “move robot/waypoint” button on the gizmo wheel) that aligns the TCP perpendicular to the base of the robot. In 4.2.0, clicking on the button would make the TCP perpendicular to the base of the robot and there’s a rotation in Axis 6 to Axis 6’s zero position, resulting in a rotation to the tool’s orientation. In this update, we’ve enabled users to choose whether they want to keep the end-effector orientation locked such that it’s orientation doesn’t change OR allow the end-effector orientation to go to Axis 6 zero. Keeping the end-effector orientation locked will make pick and place and insertion use-cases much more easy to program, and allowing it to rotate to Axis 6’s zero, will enable easy creation of grids or pallets whose x and y coordinates are parallel to the base.
- Prompt user to copy url for Choreograph access after connecting to network Wi-Fi: In order to make it simple for users to head to the right browser page after connecting onto the network WiFi, we prompt them to copy the URL before they switch onto the WiFi network, such that upon switching, they can easily copy-paste the right URL and be directed to Choreograph seamlessly.
- Fixed the bug in the Waypoint relative movement modal, and now it functions as before, allowing you to move the robot by clicking on the modal and inputting numbers.
This release contains new features based on user feedback as well as improvements to existing features.
- All Analog I/Os enabled: The I/O interfaces on the base of the robot have been operationalised, and hence the robot has 6 analog I/Os (4x inputs, and 2x outputs) to communicate with external signals. Previously, only the Analog inputs on the end effector had been operationalised. NB: Please note the Output is only available on voltage mode (not current mode), but the Inputs are available on both current and voltage mode.
- I/O States can be changed via the Viewer: The update now has a specific icon on the panel above the timeline on the viewer (it’s the plug icon, next to the “Duration” icon) to enable users to toggle I/O states from within the viewer, as opposed to just from the dashboard. This is a quality of life improvement, to enable easier programming and removing friction on programming I/Os.
- Button for aligning the TCP perpendicular to the base of the robot: We’ve added a button on the wheel when you click on a waypoint (it’s icon is a downward facing arrow, on the right of the “move robot/ waypoint” button) that aligns the TCP perpendicular to the base of the robot (or Axis 6 parallel to the base). Previously this could be done by right clicking on the Z axis of the Gizmo, when a particular waypoint has been selected. This button makes TCP perpendicular to the base of the robot and there’s a rotation in Axis 6 to Axis 6’s zero position, resulting in a rotation to the tool’s orientation. In future updates, we’ll aim to limit this rotation such that upon clicking on the button, there’s an alignment of the TCP perpendicular to the base without any change in the orientation of the tool.
- Improved error reporting in Choreograph: Where there’s a crash in Choreograph, such that users can easily download the logs and send an email along with the logs to our support team.
- Changed the minimum supported size of Choreograph to 500x500 pixels.
- Fixed an issue with downloading support logs from older Chrome versions.
- Fixed an issue where toolpath in the timeline is not properly centered
- Fixed the issue with validation when doing relative gizmo movement by preventing inputs of non-numerical values in the field. With this fix, only numerical values can be entered.
- Removed the black bar under the viewer in full-screen.
This update requires Eva to be on the following version: 4.0.0
This release contains new features based on user feedback, improvements to existing features as well as security updates.
- Fixed a potential cybersecurity vulnerability pertaining to the USB ports, making the robot more secure.
- The timeline in the viewer can now be resized (made bigger or smaller), allowing users to see their full toolpaths. This is especially useful where toolpaths have multiple if-statements, that required users to pan the timeline in order to see all the branches.
- Improved UX when zooming, scrolling and panning through the timeline. This is especially useful when users have long toolpaths or want their waypoints to be larger within the timeline. Users can scroll using mouse scroll on your devices as well as zoom in and out by pinching.
- Support Logs are now compressed as zip files (instead of tar.gz files) to allow for easier emails to email@example.com.
- Support Logs filenames now include the robot name to assist in faster support triage.
- Support logs can now be downloaded from the error page, and there’s a one click way to attach these logs onto an email addressed to firstname.lastname@example.org, making it frictionless for users to send across logs.
- Potential reduction of “Disconnected” message on Choreograph arising from high CPU usage on users’ devices.
- Documentation: API Migration Guide added to help users update their API usage and how such updates might impact their code.
- Fixed an issue where the robot would show an error when running long toolpaths.
- Fixed incomplete Support Logs in certain conditions.
Substantial improvements have been made in this release to the accuracy and repeatability of Eva with the deployment of a new controller. Eva's improved controller is backwards compatible with previous versions of Choreograph. In order to receive these improvements, robots have to be returned to Automata for custom retuning. Automata will be running an upgrade program for customers to book a time slot to have their robot sent back and upgraded. Please contact Automata directly to see if you qualify for a free upgrade at email@example.com.
- New controller: allowing improved accuracy, improved repeatability and smoother low speed control (contact Automata for retuning)
- Reworked the API calculation endpoints to make error reporting more straight-forward (minor breaking change)
- Documentation: Fixed some formatting issues
- Robot data functionality enabled on all robots (once T’s & C’s have been agreed).
- Add Zeroconf for network discovery support (see example)
- Add NTP support to set your robot time automatically (requires Internet)
- Improved loading/running performance in the viewer when programming the robot
- Rollback to the default network if any step of the setup process fails
- Improved go-to accuracy (Robot will appear shakier in the 3D viewer)
- Added a more explicit error when not placing a Waypoint after an “If” statement
- Documentation: Added warning msg in API docs if negative z TCP (Tool Centre Point) offset is set
- Documentation: Clarified Toolpath and Calculation endpoints JSON format
- Documentation: Rewritten Data section to make snapshot, edit and streaming format more explicit
- Documentation: Listed all robot states
- Frequent instances of TCP not being accounted for in API calculations (FK, IK, Nudge, Rotate)
- When hitting singularities or EE over speed, all subsequents toolpaths would be very slow until reboot, sometimes blocking the whole robot
- Axis 2 stops drooping when pausing the robot
- Allow negative x & y offsets in TCP config
- Preventing Choreograph crash when clicking on a hidden gizmo
- On toolpath upload failure, the lock could not be obtained again unless the robot is rebooted
- Change the API edit data properties (/data/globals) result format (documentation included)
- Robot time will be more consistent between reboots
- Change Scheduler to use local timezone instead of UTC
- Fix an issue where the robot would not run longer toolpaths (linked to Grid/If, would need reboot)
- Documentation: Fix lock documentation about expiration (SDK issue #47)
- Added Robot name API endpoint, allows you to retrieve the Robot's name
- (BREAKING CHANGE) Removed 'flat' data mode
- Warn user if they use a non-supported browser
- Documentation: Quaternion reference image updated
- Fixed digital inputs being stuck showing high values
- Disconnection overlay behaves correctly in all cases (ethernet/wifi/power disconnection, timeout, etc)
- The set IO "Output" is performed before a "Wait" or "If" condition is checked
This update requires Eva to be on the following version: 3.0.0
- (BREAKING CHANGE) Security update, API tokens are now stored more securely. Existing API tokens will be invalidated
- Smoother motion in the Choreograph 3D Viewer
- Added Network modes descriptions in the Choreograph network config
- Added a homing warning to the Choreograph Scheduler
- Documentation: Added ‘waypoint button pressed’ event to the API docs
- Documentation: Added version endpoint to the API docs
- Error when dragging & dropping empty ‘if’ statements fixed
- Logout button in user dropdown no longer permanently highlighted
- Timeout for Toolpath calculation endpoint extended to 300s to allow for highly complex Toolpaths
- Robot should no longer run out of storage due to logging
- Engaging and disengaging the estop during a pre-existing error will now restore the original error on estop disengage
- Documentation: added TCP config argument to all calculation endpoints API docs
- Documentation: updated Technical Reference manual to v2.2
This update requires Eva to be on the following version: 2.1.2
- Major Compliance Update:
- (BREAKING CHANGE) Added Manual and Automatic mode in order to move the robot: manual mode caps speed and stops on loss of robot lock (which has a smaller timeout and needs the web browser tab to be active), automatic mode allows full velocity and doesn’t require the user to stay connected
- Change end effector LED color to orange when backdriving or waypoint creation are not permitted
- (BREAKING CHANGE) Require the lock to backdrive
- (BREAKING CHANGE) Change Waypoint “Percent Speed” to “Speed in mm/s”
- Add payload and tool center point (TCP) configuration
- (BREAKING CHANGE) Add offline/disconnected mode when the user loses connection between Choreograph and the robot
- Session authentication added to API:
- (BREAKING CHANGE) API tokens now are only used to generate session tokens and only shown on creation
- (BREAKING CHANGE) Sessions tokens are now used instead of API tokens to access the API, they have a set expiry time and can be refreshed
- (BREAKING CHANGE) API now use error_code instead of error with different codes (see documentation)
- Documentation: Added safety manual
- When cloning a waypoint, the new waypoint is now selected in Choreograph
- When clicking on overlapping waypoints, you can now drag those waypoints into the timeline
- (BREAKING CHANGE) Choreograph viewer now uses the same 3D world frame as the API
- When a joint or waypoint is selected, you can now view the current joint angles of the robot
- (BREAKING CHANGE) Updated the Toolpath version from 1 to 2, detailed change notes are available in the Toolpath section of the API documentation
- Added Toolpath migration, available via an API endpoint and the Choreograph viewer Import Toolpath function
- Scheduled toolpath is no longer lost on a power cycle
- Looping is now available when using If and Grid
- Loop count is now correct when stopping
- Documentation: fixed IK examples and specified units for IK and Nudge arguments
- Toolpath Wait time correctly labelled in seconds
- If/Wait are now triggered correctly when using end-effector digital inputs conditions
This update requires Eva to be on one of the following versions: 2.1.0 or 2.1.1
- Add drag and drop support in Choreograph viewer when showing multiple choices in the selection wheel rather than having to click through
- Fix loss of data when editing a condition in a if branch in the Choreograph viewer
- Fix bug that makes it impossible to drag waypoints into the grid in the Choreograph viewer
- Correct the error message when a grid is invalid
- Documentation: added unit for IK position argument
- Documentation: fixed argument names for IK
This update requires Eva to be on the following version: 2.0.0
- Power button now turns Eva on & off
- Go To: use time or velocity to control the speed
- Tooltips added across the UI
- Improved network performance (especially during fallback)
- New user management UI
- Added link to documentation (in profile menu)
- Added user manuals to documentation
- New user will be sent to the viewer when login in for the first time
- Go To: success message is now hidden
- Can now insert the user time during setup
- Inserting the user time also tries to detect their timezone
- Rename popup now prefill the input with the current name
- Add a notification when a waypoint is duplicated
- Fixed over-current errors during fast toolpaths
- Popups and tooltips now appear in the viewer fullscreen mode
- Fix mouse offset during and after fullscreen mode
- Documentation logo shows up
- Documentation links fixed
- Need to explicitly get the lock before doing operations that require it
- Fixed a looping bug when using I/O or Wait at the end of the toolpath
- Fixed a bug where waypoints moved with the Absolute/Relative Movement popups would not reflect the change of position in 3D