BOW gives you the power to create fully functional robotics solutions. We take care of the complexity and plumbing work of robotics, leaving you to design the business logic. You can create code using popular programming languages, test it in a simulated environment, then deploy to a real robot when you’re ready. You don’t need to commit to any particular robot because all robots supported by BOW are driven by the same code.





The BOW SDK consists of:

  • Simulation environments for testing your applications.
  •  API for the intuitive development of robotics applications.
  • BOW Hub for managing robot licences and handling communications with your robots.

Your Code


BOW Robot Driver

The BOW Robot Driver works in tandem with the robot’s SDK and/or operating system (such as ROS, YARP, Viam).

It translates universal commands sent by the SDK into robot specific commands while maintaining safe control of the robot

Get Going In Minutes

To get started follow these three easy steps:

  1. Register for a free account at

  2. Download and install the SDK.

  3. Load the simulator, navigate to the Code folder and launch the sample app.

How does it work?

Developing apps to connect people and robots requires

Control – a few essential algorithms

Communication – with the hardware

Cognition – re-usable software modules (vision, memory, decision-making…)

Cognition is fun, but control and communication are hard.

Manufacturers ship robots with bespoke, impenetrable APIs, which date quickly. Attempts at standardisation have failed by growing in complexity with the hardware. The result is roboticists reverse-engineer comms for each new robot from scratch.

Without BOW

Software modules written in ROS reference ‘topics’ of information by name.

When those names change, software modules break. When the number of motors or sensors being addressed changes, these modules break.

When building software a developer has to figure out which one of the hundreds of robot hardware modules they need to connect to, what the topic names are, and check the data types being sent over those topics.

Some robots have hundreds of tiny modules making it very difficult to understand and find what you need.

BOWs Approach

Software Modules access information from the BOW SDK.

The latest information per modality is cached in the BOW layer so information is only transmitted once between robot and software.

Software modules do not have to use the same communication protocol as the hardware being integrated – it can be ROS based or any other form of programming.

Hardware integration within each modality can be done with ROS, with other middleware, straight to device or a mix of the above.

Easily develop for any robot, on any OS, in any language. Our tech stack centralises all the control and communication and automates the process of building binaries for all operating systems​

Universal Commands

We provide all the functions in orange so that you can get started right away working on cognition instead of understanding how to access the inputs and outputs of the robot

Multi-user access to single robots & simultaneous control of multiple robots. Online robot management system & access to community-developed apps as well as robot sharing capabilities

Low Latency

BOW’s communication uses a custom implementation of WebRTC heavily optimised specifically for our data structures. Our robot representation is bandwidth efficient requiring just 5Mbps of bandwidth for remote control across continents. Cross-continental round trip latency of control is less than 150m.