SurgeyOS Robotics platform

A modular Robotic Surgery platform which is a more accessible and inexpensive tool to researchers, students and doctors.

Similar projects worth following
SurgeyOS is an open-source hardware and software robotic surgery platform which is modular and configurable by design and is also a valuable and inexpensive tool for engineering and medical students, researchers and doctors to further improve the field of Surgery Robotics and help save lives.

SurgeyOS is a complete, integrated surgical robotics platform, which is configurable and modular.

The main structure has a base and a gantry which allows movement in 3D cartesian space of an arm base. The gantry moves with respect to the base (y-axis as shown on the onshape pictures below), the arm base moves with respect to the gantry in two axes (vertical z-axis and horizontal x-axis as shown on the onshape picture)

The above designs are available on Onshape:

Platform’s main components:

  • Base: two parallel tracks, which allow the movement of the robot in the y-axis
  • Gantry: aluminum structure, which moves parallel to the tracks and which functions as the track for the arm base
  • Arm base: a structure that can move in two dimensions on the gantry (z-axis and x-axis), on which are attached the surgical robotic arms
  • Surgical Robotic arms: Robotic arms that are attached to the arm base and operate with 6 degrees of freedom, to manipulate with flexibility, precision and repeatability, the surgical tools, each one of which, is attached to an arm’s end effector

Most of the structures (tracks, gantry columns and beam) are made with OpenBuilds open source hardware (v-slot aluminum extrusions and wheels) and other components, such as motor housing, arm base, robotic arms etc. can either be 3D printed or machined with a CNC.

The robot’s software is powered by the ROS (Robot Operating System) open-source framework.

The challenge the project addresses.

SurgeyOS aims to be a more accessible and inexpensive tool to researchers, medical students and doctors. Typically, Surgery Robots are very expensive and there are many institutions that can’t afford them. SurgeyOS is an open source platform and thus any university can afford to build one and conduct research and help in understanding, improving and learning more about Surgery Robotics.

Surgery Robotics come at a cost of $2 – 3 million dollars with an extra cost of $180,000 a year for maintenance and an operation can cost a patient an extra amount of $2,000 - $4,000. ( , )

Open source surgery robotic platforms such as the one presented in this project, can lead to more affordable equipment with same hardware and software quality, which will then have as a result more affordable surgical operations. (Similar case: Laboratory equipment: Cut costs with open-source hardware )

Project Advantages

  • Open-source hardware and software reduces the total cost to the minimum (cost for buying the hardware parts)
  • Open-source license means flexibility in how the robotic platform will be used for research.
  • The platform is designed with a modular approach, so any researcher, medical student or doctor can adjust it based on their needs and requirements.

SurgeyOS is modular by design and can be configured in multiple ways based on different needs:

  • Single gantry with single arm base
  • Single gantry with double arm base
  • Double gantry with one or two arm bases
  • Arm base can have up to 4 robotic arms (typically 2 or 4)
  • Dimensions can also be configured, but with some limitations in minimum dimensions of gantry and base, so that the robot’s components will be collision-free
  • Besides the arm base, other components can be attached on the gantry as well e.g. medical imaging equipment, custom 3D bio-printer etc.

Use cases and research possible with the platform:

  • Extend surgery robotics to more anatomical areas of the body
  • Semi/Fully autonomous operation
  • Robotic arms, collision-free orchestration
  • Exterior and interior anatomical computer vision


This is an open source project.

  1. Software is licensed under the Apache 2.0 License
Read more »

eHOSP Robotic Surgery Platform - BASIC Drawing 1.pdf

basic configuration drawing

Adobe Portable Document Format - 1.18 MB - 04/19/2018 at 16:21


eHOSP Robotic Surgery Platform - DOUBLE GANTRY Drawing 1.pdf

double gantry configuration drawing

Adobe Portable Document Format - 1.52 MB - 04/19/2018 at 16:21


eHOSP Robotic Surgery Platform - BASIC.STEP

3D Design of basic configuration, STEP file

step - 15.66 MB - 04/19/2018 at 16:20


eHOSP Robotic Surgery Platform - DOUBLE GANTRY.step

3D Design of Double Gantry configuration, STEP file

step - 16.42 MB - 04/19/2018 at 15:50


  • 1 × Raspberry Pi 2 model B
  • 1 × Teensy 3.5
  • 1 × Bolts M5 - L40mm Low Profile Black (25pack)
  • 1 × Bolts M5 - L60mm Low Profile Black (25pack)
  • 1 × Power Supply Industrial 12V 8.5A 102W

View all 21 components

  • Remote Robotic Surgery & Robots Orchestration

    Alex Karadimos06/03/2018 at 11:54 0 comments

    The following diagram illustrates how multiple robotic platforms will be used remotely.

    Each robot has a Micro-controller (MCU) and a Raspberry Pi on which there are installed all ROS libraries and code for the micro-controller as well as a small server which communicates with a central server (broker).

  • GitHub repository and documentation

    Alex Karadimos05/20/2018 at 13:12 0 comments

    (The repository and documentation are in very early stage and in progress)

  • Testing motors for 3 axes

    Alex Karadimos04/21/2018 at 15:58 0 comments

    Writing simple code to test the 3 axes of the system to simulate a 3D cartesian moving system (like a CNC).

    List of components:

    • Teensy 3.5
    • 3 NEMA 17 Stepper Motors (200 steps/rev)
    • 3 A4988 motor drivers
    • 12V 8.5A power supply
    • 3 100µF electrolytic capacitors

    Next step is to control 6 stepper motors at the same time, with a more complicated algorithm to compute the Inverse kinematics of a 6 DOF system. For that I am going to use the rosserial_arduino package, for using ROS with Arduino.

  • Custom Motor-Encoder system

    Alex Karadimos04/19/2018 at 20:13 0 comments

    In Surgery Robotics, the most crucial thing is precision of about 0.5 micrometers and also repeatability. Stepper motors are very precise motors but in order to make sure that these always work as programmed and measure each step correctly we also need an encoder. For each stepper motor (double shaft) we use an optical encoder which will measure the shaft's rotation, from the back side of the motor, via a set of gears.

    To make that possible we need a component to house the motor, the encoder and the gears. The housing will be 3D printed.

  • Athens Mini Maker Faire 2017

    Alex Karadimos04/19/2018 at 20:01 0 comments

    In May 2017, I presented my proof of concept to the makerfaire community and received very valuable feedback, from the open source community, robotics enthusiasts as well as professors and discussed the next steps of the project (mainly for the mechanical design)

  • Proof of concept, v2.0, 2017

    Alex Karadimos04/19/2018 at 19:55 0 comments

    After the first trivial proof of concept I started working on a proof of concept with bigger dimensions and better electronics. I still didn't use any expensive aluminum hardware as I didn't have a final design for my robot.


    • cheap materials (cardboard and wood)
    • 4 NEMA 17 stepper motors
    • 4 DRV8825 Stepper Motor Drivers
    • timing belts & pulleys (GT2)
    • v-wheels
    • Teensy 3.5
    • Raspberry Pi 2 Model B
    • Power Supply 12V 8.5A 102W
    • Precision shaft & Lead Screw T8 1000mm
    • Cables, resistors, buttons, switches, capacitors and prototyping boards

  • Proof of Concept 2016

    Alex Karadimos04/19/2018 at 19:36 0 comments

    In 2016, I made a very trivial proof of concept with very cheap materials and whatever electronics I had back then (Arduino Uno, Raspberry Pi and Lego NXT Mindstorms). I made a robotic platform which could move in one direction and control a scalpel. The Raspberry Pi, served as the main unit, on which there were connected an Arduino Uno and the Lego NXT Mindstorms. On the Raspberry Pi, I installed a simple web server and I was able to remotely via HTTPS download commands to the NXT. Moreover in the backside of the moving platform, I attached a small microscope on top of which there was a Raspberry Pi camera module.

View all 7 project logs

  • 1
    Building main structure module

    The following images show the process of building the main structure module. This module is actually a very common CNC system, which allows precise movement in a 3D coordinate system.

    The following structure was designed and built with the OpenBuilds Modular Building System, an open-source building framework.

    ---------- more ----------
  • 2
    Installing Z-Axis

View all instructions

Enjoy this project?



Alex Karadimos wrote 07/20/2019 at 11:28 point

Hey, everyone! Make sure to also check out our latest HealthTech/MedTech project here

  Are you sure? yes | no

Florian Festi wrote 02/08/2019 at 10:10 point

Oh no! I should have not started with this. This is a rabbit hole made of rabbit holes filled with rabbit holes!

Putting encoders on steppers may be OKish for the gantry. But for the actual work you need  a different drive system that does provide force feed back. The easiest is probably measuring current of brush-less motors. May be ODrive can be used for that - although it may be a bit over sized.

Steppers can't really be used for that. For force feedback you need some sort of slippage and that's something you really want to avoid with steppers. 

  Are you sure? yes | no

Florian Festi wrote 02/08/2019 at 09:30 point

I am wondering if 3 small arms with 6 DOF are both to many to build and fit on the head and also too few to handle a surgery (not that I have any clue).

What about adding "3rd hands"? One of the arms could grab it and put it into a position. Then it is locked down. So you only need one motor per 3rd hand. The 3rd hands would be used to hold the wound open or to press down on things.

There can be two implementations:

A rod going through a ball. That would give 4 DOF (2 of the ball joint. 1 for sliding through and 1 for rotation the rod). The ball joint would be split so it can be squeezed together to lock it up.

The other option would be a arm with lockable ball joints similar to this:

They have rods inside that can be put under pressure to lock up the ball joints. 

  Are you sure? yes | no

Florian Festi wrote 02/07/2019 at 18:50 point

3 axis seem incredibly few for cutting people with. I had expected 6 axis for the first prototype and may be even more for later on.

I also wonder if it would be better from an mechanical and practical POV to reduce the working area. Most medical procedures should be able to fit in a 40 by 50 by 30cm envelope.

Using an robot arm that can be mounted on the patience's side may also be much smaller and can be moved and mounted where needed. It would probably also not look as intimidating.

  Are you sure? yes | no

Alex Karadimos wrote 02/07/2019 at 21:35 point

Hello Florian and thank you for your feedback. First of all let me make clear that this is not a robot to "cut people with", it is a concept surgical robot for research purposes. Moreover it is not consisted of just 3 axes in total but 3+A*6 where A  is the numbers of arms mounted in the gantry as shown in the designs. So if we consider using 4 6DoF arms we have a total of 27 DoF. The robotic arms are not yet designed and constructed, as this is a work in progress.

Positioning just one robot at patient's side is interesting and is actually the standard way for most surgical robots. The reason why the surgical arms of this project are mounted in a movable 3-axis platform, is to make it more versatile, flexible and very configurable.

  Are you sure? yes | no

Florian Festi wrote 02/08/2019 at 08:52 point

As you are trying to make a cheap robot I wonder if you really need those axis at all. The gantry as it is right now doesn't look like a stable enough platform - although that's hard to judge from the pictures alone. I would expect that the arm needs to be able to exert dozens for Newtons of force without flexing. That's really difficult in the size of your current gantry unless you make it much heavier.

May be having a heavy box containing the electronics, computers, power supply etc as a base is a better option. You could then have a heavy arm that carries your small 6 DOF arms that can be moved but then locked down in position. May be something like a rectangular 10x20cm aluminium tube that could also house the cables. This would also make access to the patient easier as the opposing side is unobstructed.

  Are you sure? yes | no

Florian Festi wrote 02/08/2019 at 09:41 point

Thinking a bit more I wonder if it actually is premature to think about the arm at all. May be it would make more sense to think about the small arms first. 18 DOF (plus another 3 for controlling the actual tools) is a hell lot of stuff to fit somewhere. As you can't just stick 6 motors into the body of the patient you will need some indirect drive - probably using cables. So you may end up with large bundles of bowden cables. Some motors may end up at the robot head some may need to go to a base. It's really tricky to come up with a good layout without knowing all these details yet. Especially if you want to keep all those distances as short as possible.

  Are you sure? yes | no

c1a1o1 wrote 08/17/2018 at 13:06 point

It is a great work!My email, 我怎么和你联系?

  Are you sure? yes | no

Ever wrote 04/23/2018 at 18:45 point

Great idea

  Are you sure? yes | no

Alex Karadimos wrote 04/23/2018 at 21:59 point

Thank you, I really appreciate it!

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates