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

  • $300 Free Credits to Build on Google Cloud Icon
    $300 Free Credits to Build on Google Cloud

    New to Google Cloud? Get $300 in credits to explore Compute Engine, BigQuery, Cloud Run, Gemini Enterprise Agent Platform, and more.

    Start your next project with $300 in free Google Cloud credit. Spin up VMs, run containers, query petabytes in BigQuery, or build agents with Gemini Enterprise Agent Platform. Once your credits are used, keep building with 20+ always-free tier products including Compute Engine, Cloud Storage, GKE, and Cloud Run functions. No commitment required—just sign up and start building.
    Claim $300 Free
  • Full-stack observability with actually useful AI | Grafana Cloud Icon
    Full-stack observability with actually useful AI | Grafana Cloud

    Our generous forever free tier includes the full platform, including the AI Assistant, for 3 users with 10k metrics, 50GB logs, and 50GB traces.

    Built on open standards like Prometheus and OpenTelemetry, Grafana Cloud includes Kubernetes Monitoring, Application Observability, Incident Response, plus the AI-powered Grafana Assistant. Get started with our generous free tier today.
    Create free account
  • 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: 43,017 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: 511 This Week
    Last Update:
    See Project
  • 3
    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: 82 This Week
    Last Update:
    See Project
  • 4
    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: 232 This Week
    Last Update:
    See Project
  • MongoDB Atlas runs apps anywhere Icon
    MongoDB Atlas runs apps anywhere

    Deploy in 115+ regions with the modern database for every enterprise.

    MongoDB Atlas gives you the freedom to build and run modern applications anywhere—across AWS, Azure, and Google Cloud. With global availability in over 115 regions, Atlas lets you deploy close to your users, meet compliance needs, and scale with confidence across any geography.
    Start 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: 346 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: 27 This Week
    Last Update:
    See Project
  • 7
    ATTinyCore Universal

    ATTinyCore Universal

    Arduino core for ATtiny 1634, 828, x313, x4, x41, x5, x61, x7 and x8

    Arduino support for almost every classic tinyAVR device! Supports ATtiny 1634, 2313/4313, 24/44/84, 441/841, 25/45/85, 261/461/861, 87/167, 48/88, 43 and 828. Supports programming vis ISP, Serial (Optiboot - all parts with >4k flash, and all parts with 4k flash for which an 8k version is available) or VUSB (Micronucleus - where appropriate) There are 272 different versions of micronucleus built (and part of the 2.0.0-dev branch now), and optiboot will dwarf that number! 0 of those have been tested. Obviously, we are leaning very heavily on automation of configuration generation for this release. Half of the tinyNeoPixel speeds have had the assembly routines modified in major ways (there's no more stupid menu for the port), but they are untested. Virtual boot relies on rewriting the vector table, such that the RESET vector points to the bootloader.
    Downloads: 13 This Week
    Last Update:
    See Project
  • 8
    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: 13 This Week
    Last Update:
    See Project
  • 9
    NVIDIA Isaac Lab

    NVIDIA Isaac Lab

    Unified framework for robot learning built on NVIDIA Isaac Sim

    Isaac Lab is an open-source modular robotics learning framework built atop Isaac Sim. It simplifies research workflows across reinforcement learning, imitation learning, and motion planning by offering robust, GPU-accelerated simulation with realistic sensor and physics fidelity—ideal for sim-to-real robot training. Compatible and optimized for use with Isaac Sim versions (e.g., Sim 5.0 and 4.5). GPU-accelerated, high-fidelity physics and sensor simulation suitable for complex learning tasks. Offers a variety of robotic environment simulations on both Linux and Windows.
    Downloads: 11 This Week
    Last Update:
    See Project
  • Ship Agents Faster Icon
    Ship Agents Faster

    Transform your applications and workflows into powerful agentic systems at global scale.

    Gemini Enterprise Agent Platform lets you rapidly build, scale, govern and optimize production-ready agents grounded in your organization's data. The platform enables developers to build custom or pre-built agents for virtually any use case. New customers get $300 in free credits.
    Get Started Free
  • 10
    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: 9 This Week
    Last Update:
    See Project
  • 11
    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: 7 This Week
    Last Update:
    See Project
  • 12
    OpenBot

    OpenBot

    OpenBot leverages smartphones as brains for low-cost robots

    OpenBot leverages smartphones as brains for low-cost robots. We have designed a small electric vehicle that costs about $50 and serves as a robot body. Our software stack for Android smartphones supports advanced robotics workloads such as person following and real-time autonomous navigation. Current robots are either expensive or make significant compromises on sensory richness, computational power, and communication capabilities. We propose to leverage smartphones to equip robots with extensive sensor suites, powerful computational abilities, state-of-the-art communication channels, and access to a thriving software ecosystem. We design a small electric vehicle that costs $50 and serves as a robot body for standard Android smartphones. We develop a software stack that allows smartphones to use this body for mobile operation and demonstrate that the system is sufficiently powerful to support advanced robotics workloads such as person following and real-time autonomous navigation.
    Downloads: 7 This Week
    Last Update:
    See Project
  • 13
    WS2812FX

    WS2812FX

    WS2812 FX library for Arduino and ESP8266

    This library features a variety of blinken effects for the WS2811/WS2812/NeoPixel LEDs. It is meant to be a drop-in replacement for the Adafruit NeoPixel library with additional features. You can search for WS2812FX in the Arduino IDE Library Manager or install the latest (or development) version manually. More complex effects can be created by dividing your string of LEDs into segments (up to ten) and programming each segment independently. Use the segment() function to program each segment's mode, color, speed, and direction (normal or reverse). Note, some effects make use of more than one color (up to three) and are programmed by specifying an array of colors. Random color introduced alternating from start and end of strip. Alternating white/red/black pixels running. Strobe effect with different strobe count and pause, controlled by speed setting. Classic Strobe effect. Cycling through the rainbow.
    Downloads: 7 This Week
    Last Update:
    See Project
  • 14
    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: 6 This Week
    Last Update:
    See Project
  • 15
    The Integrating Vision Toolkit (IVT) is a powerful and fast C++ computer vision library with an easy-to-use object-oriented architecture. It offers its own multi-platform GUI toolkit. OpenCV is integrated optionally. Website: http://ivt.sourceforge.net
    Downloads: 48 This Week
    Last Update:
    See Project
  • 16

    Tiny Multi Bootloader+

    Serial Bootloader for Microchip, Atmel, NXP, TI, 8051 microcontrolers

    What is it? It's a Bootloader for Microchip, Atmel, NXP, TI and 8051 devices. A Bootloader is a firmware running in the microcontroler device which allows the user to send it's own firmware without the need of a programmer. This Bootloader consists of: - firmwares for many devices (this firmware need to be send to the device's flash memory with a programmer, only once) - a PC software which communicates with the bootloader firmware in the device and send the user's program in its memory Where does it come from? This Bootloader is based on "Tiny PIC Bootloader" made by Claudiu Chiculita. A special THANK to him!!! What can it do? It can program: - Microchip PIC10/12/16/18/24/32/dsPIC30/33 - Atmel ATtiny, ATmega - TI MPS430 - NXP ARM Cortex-M0+ - Silicon Labs C8051 And this: - with light modifications to the Bootloader firmware for new devices - without modifying your source code or using a special linker script - via GUI or command line prog - with automatic Reset
    Leader badge
    Downloads: 39 This Week
    Last Update:
    See Project
  • 17
    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: 4 This Week
    Last Update:
    See Project
  • 18
    ElectronBot

    ElectronBot

    ElectronBot is a mini desktop robot

    ElectronBot is a desktop-scale robot platform designed for enthusiasts and makers, combining robotics, embedded systems, display, and gesture sensing into a compact mechanical “tool bot”. The project features six degrees of freedom (rotational axes) for arms, neck, and body, allowing expressive motion beyond simple head-tilt or arm-wave. It includes USB communication and a built-in display, enabling it to respond to host computer inputs and act as an interactive peripheral rather than just a static automaton. The creator provides full source materials—mechanical (3D printed or CNC parts), electronics (PCBs, custom boards), firmware and drivers—so someone can build or modify the robot themselves. The platform also integrates computer vision or gesture sensing (for example, keypoint detection of human pose) so the bot can respond dynamically to a person’s presence or movement.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 19
    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: 4 This Week
    Last Update:
    See Project
  • 20
    RobotsTxt

    RobotsTxt

    The repository contains Google's robots.txt parser

    This is a high-performance, production-tested library for parsing and evaluating robots.txt rules against crawler user agents. It implements the core semantics of the Robots Exclusion Protocol: user-agent sections, Allow/Disallow directives, wildcard handling, and precedence rules. The code is optimized for speed and low memory so large crawls can evaluate millions of URLs quickly. It also focuses on correctness—edge cases like overlapping patterns and longest-match resolution are handled consistently. Consumers integrate it to decide whether a specific URL may be fetched by a particular bot name and to respect crawl-delay or sitemaps hints where applicable. The library serves both search-scale crawlers and smaller tools that need a reliable decision engine for polite crawling.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 21
    MATLAB Robotics

    MATLAB Robotics

    MATLAB sample codes for mobile robot navigation

    MATLABRobotics is a collection of robotics-related algorithms and simulation tools implemented in MATLAB. The repository brings together a wide range of robotics functionality, including path planning, control, localization, and mapping. It provides practical algorithmic implementations such as A*, RRT, Kalman filters, particle filters, and SLAM, making it a valuable resource for students, researchers, and developers learning or prototyping robotics applications. The code is written to be accessible and easy to adapt, enabling experimentation with both classical and modern robotics techniques. By using MATLAB’s visualization and numerical capabilities, the repository offers intuitive demonstrations of algorithms in action. As an open resource, it encourages contributions and serves as a foundation for building and testing robotics concepts in simulation.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 22
    TinyGSM

    TinyGSM

    A small Arduino library for GSM modules, that just works

    A small Arduino library for GSM modules that just works. This library is easy to integrate with lots of sketches that use Ethernet or WiFi. PubSubClient (MQTT), Blynk, HTTP Client, and File Download examples are provided. Arduino GSM library uses 15868 bytes (49%) of Flash and 1113 bytes (54%) of RAM in a similar scenario. TinyGSM also pulls data gently from the modem (whenever possible), so it can operate on very little RAM. Now, you have more space for your experiments. TCP (HTTP, MQTT, Blynk, ...) All modules support TCP connections. Most modules support multiple simultaneous connections. TCP and SSL connections can usually be mixed up to the total number of possible connections. Many GSM modems, WiFi, and radio modules can be controlled by sending AT commands over Serial. TinyGSM knows which commands to send, and how to handle AT responses, and wraps that into the standard Arduino Client interface.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 23

    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: 22 This Week
    Last Update:
    See Project
  • 24
    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: 17 This Week
    Last Update:
    See Project
  • 25
    MARIE is a robotic development and integration environment focused on software reusability and exploitation of already available APIs and middlewares used in robotics. Its main purpose is to create a rapid-prototyping approach to robotics developments.
    Leader badge
    Downloads: 30 This Week
    Last Update:
    See Project
  • Previous
  • You're on page 1
  • 2
  • 3
  • 4
  • 5
  • Next