Browse free open source Robotics software and projects for Mac and Linux below. Use the toggles on the left to filter open source Robotics software by OS, license, language, programming language, and project status.

  • Already Paying for an RMM? Get 50% Off Splashtop AEM Icon
    Already Paying for an RMM? Get 50% Off Splashtop AEM

    Switch to Splashtop AEM and save up to 50% in your first year

    Automated OS and third-party patching for Windows and macOS, CVE prioritization with AI patch summaries, and built-in remote control that also supports Linux. Qualifying organizations switching from another RMM get up to 50% off year one.
    Get Started
  • Train ML Models With SQL You Already Know Icon
    Train ML Models With SQL You Already Know

    BigQuery automates data prep, analysis, and predictions with built-in AI assistance.

    Build and deploy ML models using familiar SQL. Automate data prep with built-in Gemini. Query 1 TB and store 10 GB free monthly.
    Start Free
  • 1
    OpenCV

    OpenCV

    Open Source Computer Vision Library

    The Open Source Computer Vision Library has >2500 algorithms, extensive documentation and sample code for real-time computer vision. It works on Windows, Linux, Mac OS X, Android, iOS in your browser through JavaScript. Languages: C++, Python, Julia, Javascript Homepage: https://opencv.org Q&A forum: https://forum.opencv.org/ Documentation: https://docs.opencv.org Source code: https://github.com/opencv Please pay special attention to our tutorials! https://docs.opencv.org/master Books about the OpenCV are described here: https://opencv.org/books.html
    Leader badge
    Downloads: 3,130 This Week
    Last Update:
    See Project
  • 2
    Robocode

    Robocode

    Robocode is a programming tank game for Java

    Robocode is a programming game, where the goal is to develop a robot battle tank to battle against other tanks with Java. The robot battles are running in real-time and on-screen. The motto of Robocode is: Build the best, destroy the rest!
    Leader badge
    Downloads: 660 This Week
    Last Update:
    See Project
  • 3
    GCBASIC
    GCBASIC is an open-source BASIC compiler for 8 bit Microchip PIC, Atmel AVR legacy, AVRDx and LGT microcontrollers. See https://ko-fi.com/post/The-Story-of-GCBASIC-Making-Microcontroller-Progr-D1D319SJ72 for story of GCBASIC. This is a continuous release project. The latest release is always available. This will give you the most complete development toolchain to create and program 8-bit PIC, AVR and LGT microcontrollers. We have added new capabilities that make GCBASIC the easiest tool set available - supporting over 1400 microcontrollers with tools to make this fun and simple. Please see the download section for your options. We have two IDEs, we have just the compiler and we have a minimal install - it is your choice. Please see the homepage here: https://gcbasic.com
    Leader badge
    Downloads: 330 This Week
    Last Update:
    See Project
  • 4
    CNCjs

    CNCjs

    A web-based interface for CNC milling controller running Grbl, Marlin,

    A web-based interface for CNC milling controller running Grbl, Smoothieware, or TinyG. It runs on a Raspberry Pi or a laptop computer that you have Node.js installed, connecting to the Arduino over a serial connection using a USB serial port, a Bluetooth serial module, or a Serial-to-WiFi module like XBee or USR-WIFI232-T.
    Downloads: 72 This Week
    Last Update:
    See Project
  • One Monitoring Tool for IT, OT and Cloud | Free Trial Icon
    One Monitoring Tool for IT, OT and Cloud | Free Trial

    Vendor-agnostic monitoring across on-prem servers, cloud platforms and OT devices, all in one dashboard. No more tool sprawl.

    Modern infrastructure spans data centers, cloud platforms and factory floors, and every blind spot between them is a risk. PRTG supports SNMP, WMI, SSH and other standard protocols to monitor IT, OT and hybrid environments through one customizable dashboard. Build the views your team needs, from network health to application performance, without switching tools. Try PRTG free for 30 days now.
    Try PRTG Free
  • 5
    dxf2gcode

    dxf2gcode

    DXF2GCODE: converting 2D dxf drawings to CNC machine compatible G-Code

    DXF2GCODE is a tool for converting 2D (dxf, pdf, ps) drawings to CNC machine compatible GCode. Windows, Linux, and Mac support by using python scripting language.
    Leader badge
    Downloads: 255 This Week
    Last Update:
    See Project
  • 6
    Arduino libraries

    Arduino libraries

    Arduino libraries and code

    This repository contains several Arduino libraries I have written to be used in applications. Most of them include example code on how the libraries can be used. Furthermore, this repository contains a few stand-alone applications. For bugs in the libraries, please fill in an issue in Github as that makes it far easier to track them. If possible provide a minimal code snippet that exposes the bug. Add information about the platform used and version etc. Also, proposals for solutions are welcome. For improvements and changes, please provide a pull request. I will try to follow up on them asap but it can take quite some time. Please try to be generic in your improvements and try to see "over the needs of your own application".
    Downloads: 26 This Week
    Last Update:
    See Project
  • 7
    TFT_eSPI

    TFT_eSPI

    Arduino and PlatformIO IDE compatible TFT library

    An Arduino IDE compatible graphics and fonts library for 32-bit processors. The library is targeted at 32-bit processors, it has been performance-optimized for STM32, ESP8266 and ESP32 types. The library can be loaded using the Arduino IDE's Library Manager. Direct Memory Access (DMA) can be used with the ESP32, RP2040, and STM32 processors to improve rendering performance. "Four wire" SPI and 8 bit parallel interfaces are supported. Due to the lack of GPIO pins, the 8-bit parallel interface is NOT supported on the ESP8266. 8 bit parallel interface TFTs (e.g. UNO format mcufriend shields) can use with the STM32 Nucleo 64/144 range or the UNO format ESP32. ILI9341 and ST7796 SPI-based displays are recommended as starting points for experimenting with this library. The library supports some TFT displays designed for the Raspberry Pi (RPi) that are based on a ILI9486 or ST7796 driver chip with a 480 x 320-pixel screen.
    Downloads: 12 This Week
    Last Update:
    See Project
  • 8
    Arduino core support for STM32

    Arduino core support for STM32

    STM32 core support for Arduino

    This repo adds the support of STM32 MCU in Arduino IDE. This porting is based on STM32Cube MCU Packages including the HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls. The Low-Layer (LL) APIs, a lightweight, optimized, expert-oriented set of APIs designed for both performance and runtime efficiency. CMSIS device definition for STM32. Arduino.cc IDE allows to add easily new board thanks the "Boards Managers". More information about "Boards Managers" is available on Arduino.cc official website.
    Downloads: 11 This Week
    Last Update:
    See Project
  • 9
    Intrinsic Core

    Intrinsic Core

    Local runtime, SDK, and hardware agnostic, real-time control framework

    Intrinsic Core is an open, local robotics runtime and SDK for building industrial automation and AI-enabled robotic applications. It provides a preconfigured environment where core robotics services and capabilities are designed to operate together. Built-in functionality includes grasp planning, AI perception, digital twins, simulation, and hardware execution. A hardware-agnostic real-time control framework lets applications switch robot arms and grippers through a unified abstraction layer. ROS 2 interoperability connects the framework with the broader robotics ecosystem while supporting modern C++ and Bazel development. The project also includes reference solutions, camera drivers, SDK examples, and real-time safety utilities. Its goal is to reduce the engineering required to move robotic systems from simulation and prototyping into physical deployment.
    Downloads: 10 This Week
    Last Update:
    See Project
  • Veeam Data Platform v13.1 - Get Your Free Trial Icon
    Veeam Data Platform v13.1 - Get Your Free Trial

    Secure by design, portable by default. Recover clean, fast, anywhere. Start a free trial.

    Try Veeam Data Platform today. Experience the unified platform that's secure by design, portable by default, and proven to recover clean, fast, and anywhere.
    Try it Free
  • 10
    This repository is now frozen. The latest version of the RepRap project can be found at https://github.com/reprap.
    Downloads: 48 This Week
    Last Update:
    See Project
  • 11
    ESP32 BLE Keyboard library

    ESP32 BLE Keyboard library

    Bluetooth LE Keyboard library for the ESP32

    This library allows you to make the ESP32 act as a Bluetooth Keyboard and control what it does. Compatible with Android. Compatible with Windows. Compatible with Linux. Compatible with MacOS X (not stable, some people have issues, doesn't work with old devices). Compatible with iOS (not stable, some people have issues, doesn't work with old devices). There is also Bluetooth-specific information that you can set (optional): Instead of BleKeyboard bleKeyboard; you can do BleKeyboard bleKeyboard("Bluetooth Device Name", "Bluetooth Device Manufacturer", 100);. (Max length is 15 characters, anything beyond that will be truncated.) By default the battery level will be set to 100%, the device name will be ESP32 Bluetooth Keyboard and the manufacturer will be Espressif. This feature is meant to compensate for some applications and devices that can't handle fast input and will skip letters if too many keys are sent in a small time frame.
    Downloads: 8 This Week
    Last Update:
    See Project
  • 12
    Robotics Toolbox for MATLAB

    Robotics Toolbox for MATLAB

    Robotics Toolbox for MATLAB

    This toolbox brings robotics-specific functionality to MATLAB, exploiting the native capabilities of MATLAB (linear algebra, portability, graphics). The Toolbox uses a very general method of representing the kinematics and dynamics of serial-link manipulators as MATLAB® objects – robot objects can be created by the user for any serial-link manipulator and a number of examples are provided for well-known robots from Kinova, Universal Robotics, Rethink as well as classical robots such as the Puma 560 and the Stanford arm. The toolbox also supports mobile robots with functions for robot motion models (unicycle, bicycle), path planning algorithms (bug, distance transform, D*, PRM), kinodynamic planning (lattice, RRT), localization (EKF, particle filter), map building (EKF) and simultaneous localization and mapping (EKF), and a Simulink model a of non-holonomic vehicle. The Toolbox also includes a detailed Simulink model for a quadrotor flying robot.
    Downloads: 7 This Week
    Last Update:
    See Project
  • 13
    Microduck RL

    Microduck RL

    RL training environments for Microduck (mjlab)

    Microduck RL provides reinforcement-learning environments for training behaviors for Pollen Robotics' small bipedal Microduck robot. It is built on mjlab with MuJoCo Warp and trains PPO policies at a 50 Hz control rate. The repository includes tasks for walking, standing up, sitting, kicking, rolling, skating, crouching, and other physical behaviors. Its sim-to-real setup models actuator physics, backlash, domain randomization, and reward design. Trained policies can be exported to ONNX and deployed through the separate Microduck runtime. Training normally uses CUDA hardware, while supported workflows can offload jobs to Hugging Face Jobs when a local GPU is unavailable.
    Downloads: 5 This Week
    Last Update:
    See Project
  • 14
    NVIDIA Isaac Sim

    NVIDIA Isaac Sim

    NVIDIA Isaac Sim is an open-source application on NVIDIA Omniverse

    NVIDIA Isaac Sim is a high-fidelity robotics simulation platform built on NVIDIA Omniverse to develop, test, and validate AI-driven robots in physically accurate virtual environments. It supports a wide array of robotics formats (URDF, MJCF, CAD), includes GPU-accelerated physics, and features immersive RTX rendering and multisensory simulation. Realistic physics via GPU-accelerated engines and RTX ray tracing. Multi-sensor simulation (RGB-D cameras, Lidar, Radar, IMU, contact sensors). Extensible via platform APIs and can integrate into custom USD-based simulators.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 15
    ESP8266Audio

    ESP8266Audio

    Arduino library to play MOD, WAV, FLAC, MIDI, RTTTL, MP3

    Arduino library for parsing and decoding MOD, WAV, MP3, FLAC, MIDI, AAC, and RTTL files and playing them on an I2S DAC or even using a software-simulated delta-sigma DAC with dynamic 32x-128x oversampling. ESP8266 is fully supported and most mature, but ESP32 is also mostly there with built-in DAC as well as external ones. For real-time, autonomous speech synthesis, check out ESP8266SAM, a library that uses this one and a port of an ancient format-based synthesis program to allow your ESP8266 to talk with low memory and no network required. All this code is released under the GPL, and all of it is to be used at your own risk. If you find any bugs, please let me know via the GitHub issue tracker or drop me an email. The MOD and MP3 routines were taken from StellaPlayer and libMAD respectively. The software I2S delta-sigma 32x oversampling DAC was my own creation and sounds quite good if I do say so myself.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 16
    Wi-Fi Ducky

    Wi-Fi Ducky

    Upload, save and run keystroke injection payloads with an ESP8266

    Upload, save and run keystroke injections remotely with an ESP8266 + ATmega32u4. Using a USB device that act as a keyboard to inject keystrokes is well known these days. The USB Rubber Ducky by Hak5 is THE hacker gadget for this kind of attack. It introduced a simple script language called Ducky Script, which this project uses too. The ESP8266 is a popular Wi-Fi chip used in a lot of projects. Because it's cheap, small, and has its own file system (SPIFFS), it's perfect for enabling an easy remote connection and holding Ducky Script payloads. Although the ESP8266 is awesome, it doesn't have a native USB, which means it can't act as a keyboard. The ESP will open up a Wi-Fi access point and host a web interface from which you can upload and manage your scripts. When you hit run, it will send the script to the ATmega, which then will execute it on the target machine.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 17
    Robotics Lab

    Robotics Lab

    Open Source from the Robotics Lab research group @ UC3M

    Welcome to the open branch of the Robotics Lab research group @ Universidad Carlos III de Madrid (UC3M). We currently host 3 main projects here: * ASIBOT open source software, which includes basic simulation, control and vision: http://roboticslab.sourceforge.net/asibot * Datasets we use for machine learning: https://sourceforge.net/projects/roboticslab/files/Datasets * Nicolas Burrus' RGBDemo stuff.
    Leader badge
    Downloads: 18 This Week
    Last Update:
    See Project
  • 18

    BoofCV

    BoofCV is an open source Java library for real-time computer vision.

    BoofCV is an open source Java library for real-time computer vision and robotics applications. Written from scratch for ease of use and high performance, it provides both basic and advanced features needed for creating a computer vision system. Functionality include optimized low level image processing routines (e.g. convolution, interpolation, gradient) to high level functionality such as image stabilization. Released under an Apache 2.0 license for both academic and commercial use.
    Leader badge
    Downloads: 15 This Week
    Last Update:
    See Project
  • 19

    Phobia

    Phobia Motor Controller

    PMC is an open project that aims to build the quality permanent magnet synchronous machine (PMSM) controller for use in a variety of scopes like RC or electric transport.
    Downloads: 33 This Week
    Last Update:
    See Project
  • 20
    KicadCGS

    KicadCGS

    Библиотека УГО компонентов для Kicad

    Eng: The library of Conventional Graphic Symbols (CGS) for Kicad is based on russian international standards also known as GOSTs. Рус: Библиотека компонентов для Kicad, созданных в полном соответствии с требованиями УГО по международным нормативам ГОСТ.
    Downloads: 28 This Week
    Last Update:
    See Project
  • 21
    openPOWERLINK

    openPOWERLINK

    An Open Source POWERLINK Stack

    openPOWERLINK is an Open Source Industrial Ethernet stack for communication in hard real-time. It can be operated as both, Managing Node (master) and Controlled Node (slave). With version 2.0, the source code has been cleanly split into an application-oriented user library and a time-critical stack driver. The latter may be moved to a dedicated communication processor or into a kernel module to deliver enhanced performance while still keeping the API in user space. A full documentation of the stack is available on the web site: http://openpowerlink.sourceforge.net The following page can be used to report a security vulnerability: https://sourceforge.net/p/openpowerlink/discussion/
    Leader badge
    Downloads: 28 This Week
    Last Update:
    See Project
  • 22
    Arduino MIDI Library

    Arduino MIDI Library

    MIDI for Arduino

    This library adds MIDI I/O communications to an Arduino board. MIDI over USB, Bluetooth, IP & AppleMIDI (see Transports). Active Sensing support. Compatible with all Arduino boards (and clones with an AVR processor). Simple and fast way to send and receive every kind of MIDI message (including all System messages, SysEx, Clock, etc..). OMNI input reading (read all channels). Software Thru, with message filtering. Callbacks to handle input messages more easily. Last received message is saved until a new one arrives. Overridable template-based settings. Create more than one MIDI interface for mergers/splitters applications. Use any serial port, hardware or software. All USB-related code has been moved into a separate repository Arduino-USB-MIDI, USB MIDI Device support with MIDI USB, still using this library to do all the MIDI heavy-lifting.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 23
    Introduction-to-Autonomous-Robots

    Introduction-to-Autonomous-Robots

    Introduction to Autonomous Robots

    An open textbook focusing on computational principles of autonomous robots. The source-code is released under Creative Commons 4.0 (CC-BY-NC-ND), whereas the print version is copyrighted by MIT Press. You are therefore permitted to use images and content from the book for non-commercial purposes (including teaching) with proper attribution, but you cannot post compiled versions of the book online. In order to compile a PDF of this book yourself, you either need a working implementation of Latex on your computer or use the online Latex editor overleaf.com. Here, you can either upload a zip file of the source code ("download ZIP" option underneath the green "Code" button on this page), or fork the project into your Github account and import it directly into Overleaf from there.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 24
    Open X-Embodiment

    Open X-Embodiment

    Unified open dataset enabling cross-embodiment learning for robotics

    Open X-Embodiment is a large-scale collaborative initiative led by Google DeepMind to unify robotic learning datasets into a consistent and standardized format, simplifying access and usage across the robotics research community. Its primary goal is to make all available open-source robotic data interoperable by representing them using the RLDS (Reinforcement Learning Dataset Structure) episode format. This enables seamless integration for training, evaluation, and model development across diverse robotic tasks and embodiments. The dataset aggregates contributions from multiple open-source robotic projects, all harmonized under a single unified data schema. The repository also provides Colab notebooks for dataset visualization, batching, and model inference, along with pretrained model checkpoints such as RT-1-X, a multitask robotic transformer model trained on this data.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 25
    PyRobot

    PyRobot

    An Open Source Robotics Research Platform

    PyRobot is a high-level robotics API that simplifies controlling real and simulated robots through a consistent Python interface. Instead of fighting ROS internals, you call clear methods for things like base navigation, arm manipulation, and camera capture, and PyRobot handles the plumbing. It was built to make research repeatable on accessible platforms—most notably low-cost mobile manipulators—while still scaling to richer hardware. The library exposes canonical abstractions (base, arm, gripper, camera, sensors) with calibration and kinematics helpers so beginners can get meaningful results quickly. It also plugs into simulation backends, letting you prototype perception and control algorithms before deploying on physical robots. By standardizing common operations and providing examples, PyRobot reduces boilerplate and encourages best practices in perception-control loops, data collection, and benchmarking.
    Downloads: 1 This Week
    Last Update:
    See Project
  • Previous
  • You're on page 1
  • 2
  • 3
  • 4
  • 5
  • Next