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

  • Gemini 3 and 200+ AI Models on One Platform Icon
    Gemini 3 and 200+ AI Models on One Platform

    Access Google's best plus Claude, Llama, and Gemma. Fine-tune and deploy from one console.

    Build generative AI apps with Vertex AI. Switch between models without switching platforms.
    Start Free
  • Application Monitoring That Won't Slow Your App Down Icon
    Application Monitoring That Won't Slow Your App Down

    AppSignal's Rust-based agent is lightweight and stable. Already running in thousands of production apps.

    Full APM with errors, performance, logs, and uptime monitoring. 99.999% uptime SLA on the platform itself.
    Start Free
  • 1
    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: 21 This Week
    Last Update:
    See Project
  • 2
    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: 7 This Week
    Last Update:
    See Project
  • 3
    Sming

    Sming

    Open source framework simplifying the creation of C++ applications

    Sming is an asynchronous embedded C/C++ framework with superb performance and multiple network features. Sming is open source, modular and supports multiple architectures including ESP8266 and ESP32. Superb performance and memory usage (Sming compiles to native firmware!) Fast and user-friendly development. Integrated host emulator to assist with developing, testing, and debugging libraries and applications on a PC before uploading them to an actual microcontroller. Built-in powerful wireless modules. Compatible with standard Libraries use popular hardware in a few lines of code. Simple yet powerful hardware API wrappers. HardwareSPI library provides advanced asynchronous SPI device master capability including the use of ESP8266 ‘overlapped’ mode for reduced pin usage and dual/quad I/O support. Modular C++ installable file system interface.
    Downloads: 7 This Week
    Last Update:
    See Project
  • 4
    Homie for ESP8266

    Homie for ESP8266

    ESP8266 framework for Homie, a lightweight MQTT convention

    An Arduino for ESP8266 / ESP32 implementation of Homie, an MQTT convention for the IoT. This branch of Homie for ESP8266 implements Homie 3.0.1 and adds support for ESP32. PlatformIO is an open-source ecosystem for IoT development with the cross-platform build system, library manager and full support for Espressif ESP8266 development. It works on the popular host OS, Mac OS X, Windows, Linux 32/64, Linux ARM (like Raspberry Pi, BeagleBone, CubieBoard). Available in the PlatformIO registry. Pretty straightforward sketches, a simple light for example (TODO: adapt to V3). Cute HTTP API/Web UI/App to remotely send the configuration to the device and get information about it. ESP8266 framework for Homie, a lightweight MQTT convention for the IoT.
    Downloads: 5 This Week
    Last Update:
    See Project
  • Forever Free Full-Stack Observability | Grafana Cloud Icon
    Forever Free Full-Stack Observability | 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
  • 5
    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: 5 This Week
    Last Update:
    See Project
  • 6
    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: 61 This Week
    Last Update:
    See Project
  • 7
    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: 1 This Week
    Last Update:
    See Project
  • 8
    Critterding

    Critterding

    Evolving Artificial Life

    Critterding is a "Petri dish" universe in 3D that demonstrates evolving artificial life. Critters start out with completely random brains and bodies, but will automatically start evolving into something with much better survival skills.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 9
    Jazzyk - a special-purpose programming language interpreter for development of modular intelligent agents based on a plug-in architecture.
    Downloads: 2 This Week
    Last Update:
    See Project
  • AI-powered service management for IT and enterprise teams Icon
    AI-powered service management for IT and enterprise teams

    Enterprise-grade ITSM, for every business

    Give your IT, operations, and business teams the ability to deliver exceptional services—without the complexity. Maximize operational efficiency with refreshingly simple, AI-powered Freshservice.
    Try it Free
  • 10
    MOVED TO GITHUB!! https://github.com/cmwslw/nxt-plus-plus NXT++ is an interface written in C++ that allows the control LEGO MINDSTORMS NXT robots directly through a USB or Bluetooth connection. The interface is intended to be simple and easy to use. The interface can be used in any C++ program.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 11
    Arduino DRV8833 Motor Controller Library

    Arduino DRV8833 Motor Controller Library

    A library for the control of motors using the TI DRV8833 IC

    Downloads: 1 This Week
    Last Update:
    See Project
  • 12
    Written in C++, IFI-picloader is a US First Competition Linux port for Innovation First Inc. Robot Controller programmer using a pic 18F8520. It writes MCC18 compiled hex files to PIC and allows users to program under *nix based operating systems.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 13
    The below is a list of all files released for the Crossbow's MNAV100CA with SPB400. This framework may provide a complete solution for AHRS, Navigation, WiFi Comm, and Data Logging, for various robotic applications.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 14
    An implementation of Bruhn et al.'s fast variational optical flow algorithm using the OpenCV image processing library. The code calculates dense flow fields with a user-specified level of precision.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 15
    clipsmm is a C++ interface to the CLIPS libray, a C library for developing expert systems.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 16
    AIL is an AI library that will help you to use algorithms such as A*,DFS and BFS.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 17
    ARDev is an augmented reality toolkit to assist robot developers in debugging complex robot sensors.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 18
    Articulated Robot Human interface (Articulated Robot humaN InterfacE) System designed in order to control remote devices (aka: Articulated robotic devices), using mainly joystick-type devices as input method
    Downloads: 0 This Week
    Last Update:
    See Project
  • 19
    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: 0 This Week
    Last Update:
    See Project
  • 20
    Attitude Estimator

    Attitude Estimator

    A C++ implementation of a nonlinear 3D IMU fusion algorithm.

    Attitude Estimator is a generic platform-independent C++ library that implements an IMU sensor fusion algorithm. Up to 3-axis gyroscope, accelerometer and magnetometer data can be processed into a full 3D quaternion orientation estimate, with the use of a nonlinear Passive Complementary Filter. The library is targeted at robotic applications, but is by no means limited to this. Features of the estimator include gyro bias estimation, transient quick learning, multiple estimation algorithms, tuneable estimator parameters, and near-global stability backed by theoretical analysis. Great emphasis has been placed on having a very efficient, yet totally numerically and algorithmically robust implementation of the filter. The code size has also been kept to a minimum, and has been extremely well-commented. The programmatic interface has also been made as easy as possible. Please refer to the extensive documentation of the library for more information on its capabilities and usage caveats.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 21
    Behaviour Control Framework

    Behaviour Control Framework

    A C++ framework that uses inhibition trees for behaviour control.

    The Behaviour Control Framework is a generic platform-independent C++ framework that implements a control architecture consisting of a hierarchical network of behaviour layers. These layers each contain behaviours that can inhibit one another and interact to achieve control. A full discussion of the structure and ideas behind this framework can be found in the Doxygen documentation that comes with the release. This documentation is well worth a read before you decide if the library is for you! The structure and implementation of this library focuses on the application of the inhibition-based behaviour control architecture to real-time control loops, but can reasonably be adapted for a wide variety of other artificial intelligence applications. Emphasis has been placed on having very low overhead so as not to hurt overall system performance, while still maintaining ease of use. I welcome all feedback, suggestions and bug reports! Email: pallgeuer[at]ais.uni-bonn.de
    Downloads: 0 This Week
    Last Update:
    See Project
  • 22
    An Open Source IEC 61131-3 Integrated Development Environment, providing PLCOpen SoftPLC programming, CanOpen IO's, and SVG based HMI.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 23
    The BioloidNativeInterface is a C++ library to control bioloid/dynamixel modules including AX12, AXS1. It provides a parser for the bioloid protocoll and methods to read/write packets.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 24
    CENSLIB

    CENSLIB

    3D simulation library

    A 3D simulation library using the bullet physics engine and OpenGL for rendering.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 25
    CoPP is an object-oriented framework for developing algorithms for robot path planning. One of of the design goals is to make it easy to make comparisons between various path planning algorithms.
    Downloads: 0 This Week
    Last Update:
    See Project
  • Previous
  • You're on page 1
  • 2
  • 3
  • Next
MongoDB Logo MongoDB