PacketSerial - An Arduino Library that facilitates packet-based serial communication using COBS or SLIP encoding

  •        118

An Arduino Library that facilitates packet-based serial communication using COBS or SLIP encoding. PacketSerial is an small, efficient, library that allows Arduinos to send and receive serial data packets (with COBS, SLIP or a user-defined encoding) that include bytes of any value (0 - 255). A packet is simply an array of bytes.



Related Projects

BluetoothSerial - Cordova (PhoneGap) Plugin for Serial Communication over Bluetooth

  •    Objective-C

This plugin enables serial communication over Bluetooth. It was written for communicating between Android or iOS and an Arduino. Android and Windows Phone use Classic Bluetooth. iOS uses Bluetooth Low Energy.

Arduino Control

  •    CSharp

Arduino Control, is a GUI used to control an Arduino development board, using serial communication.

Python-Arduino-Command-API - A Python library for communicating with Arduino microcontroller boards

  •    Python

The Python Arduino Command API is a light-weight Python library for communicating with Arduino microcontroller boards from a connected computer using standard serial IO, either over a physical wire or wirelessly. It is written using a custom protocol, similar to Firmata. This allows a user to quickly protoype programs for Arduino using Python code, or to simply read/control/troubleshoot/experiment with harware connected to an Arduino board without ever having to recompile and reload sketches to the board itself.

duino - :bulb: Arduino framework for node.js

  •    Javascript

The way this works is simple (in theory, not in practice). The Arduino listens for low-level signals over a serial port, while we abstract all of the logic on the Node side. If this parameter is not provided the board library will attempt to autodiscover the Arduino by quering every device containing 'usb' in its name.

arduino_midi_library - MIDI for Arduino

  •    C++

This library enables MIDI I/O communications on the Arduino serial ports. Use Arduino's Library Manager to install the library.

ESP8266Audio - Arduino library to play MOD, WAV, FLAC, MIDI, RTTTL, MP3, and AAC files on I2S DACs or with a software emulated delta-sigma DAC on the ESP8266 and ESP32

  •    C

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.

PJON - PJON® is an open-source network protocol compatible with Arduino, ESP8266, STM32, Teensy, Raspberry Pi, Linux and Windows

  •    C++

PJON® (Padded Jittering Operative Network) is an Arduino compatible, multi-master, multi-media network protocol. It proposes a Standard, it is designed as a framework and implements a totally software emulated network protocol stack that can be easily cross-compiled on many architectures like ATtiny, ATmega, ESP8266, ESP32, STM32, Teensy, Raspberry Pi, Linux, Windows x86 and Apple machines. It is a valid tool to quickly and comprehensibly build a network of devices. Visit wiki and documentation to know more about the PJON Standard. Feel free to send a pull request sharing something you have made that could help. If you want to support us you can also try to solve an issue. Thank you for your support.

Arduino for Visual Studio and Atmel Studio


Arduino IDE for Visual Studio provides 100% compatible Arduino programing with intellisense, one click compile, upload, serial monitors and optional debugger

Brain - Arduino library for reading Neurosky EEG brainwave data

  •    C++

Brain is an Arduino Library for parsing data from Neurosky-based EEG headsets. Tested units include the Star Wars Force Trainer and Mattel MindFlex. It's designed to make it simple to send out an ASCII string of comma-separated values over serial, or to access processed brain wave information directly in your Arduino sketch. See the examples for code demonstrating each use case.

rfid - Arduino RFID Library for MFRC522

  •    C++

Arduino library for MFRC522 and other RFID RC522 based modules. Read and write different types of Radio-Frequency IDentification (RFID) cards on your Arduino using a RC522 based reader connected via the Serial Peripheral Interface (SPI) interface.

nnrccar - nnrccar

  •    C++

Read the explanation and watch videos of the car in action at Flash the Arduino sketch to your arduino by opening the serialrccar sketch in the Arduino IDE and clicking Upload. Note the USB serial port your Arduino board is connected to (available in Tools -> Serial Port) as you will need to know it later.

serial-port-json-server - A serial port JSON websocket server for Windows, Mac, Linux, Raspberry Pi, or BeagleBone Black that lets you communicate with your serial port from a web application

  •    Go

A serial port JSON websocket & web server that runs from the command line on Windows, Mac, Linux, Raspberry Pi, or Beagle Bone that lets you communicate with your serial port from a web application. This enables web apps to be written that can communicate with your local serial device such as an Arduino, CNC controller, or any device that communicates over the serial port. Since version 1.82 you can now also program your Arduino by uploading a hex file. The app is written in Go. It has an embedded web server and websocket server. The server runs on the standard port of localhost:8989. You can connect to it locally with your browser to interact by visiting http://localhost:8989. The websocket is technically running at ws://localhost/ws. You can of course connect to your websocket from any other computer to bind in remotely. For example, just connect to ws:// if you are on a remote host where is your devices actual IP address.

HoodLoader2 - 16u2 Bootloader to reprogram 16u2 + 328/2560 with Arduino IDE

  •    C

HoodLoader2 is a CDC BootLoader with self reprogramming and Fast USB-Serial function. An Arduino Uno/Mega board has two Microcontroller of which one(16u2) is normally used for USB-Serial translation. But we can also use it as standalone AVR Microcontroller with (or without) USB functions as well.

OBD-II for Arduino

  •    C++

This Arduino library is developed for the Arduino OBD-II UART adapter ( and works with all Arduino varients. Several sample sketches are provided for demonstrating the usage of the library. The aim is to provide Arduino vehicle connectivity via the OBD-II port with easy-to-use Arduino library so Arduino lovers can start play Arduino on their cars easily. Latest source code:

P/Opus (.NET Wrapper for libopus)

  •    DotNet

P/Opus is a .NET library written in C# to wrap around the libopus C API/library to provide a more .NET friendly way of encoding and decoding Opus packets.


  •    Arduino

Makefile for Arduino sketches. It defines the workflows for compiling code, flashing it to Arduino and even communicating through Serial.

Sonoff-MQTT-OTA-Arduino - Provide ESP8266 based itead Sonoff with Web, MQTT and OTA firmware using Arduino IDE - Now EOL

  •    Arduino

Provide ESP8266 based Sonoff by iTead Studio and ElectroDragon IoT Relay with Serial, Web and MQTT control allowing 'Over the Air' or OTA firmware updates using Arduino IDE. Current version is 3.2.13 - See sonoff/_releasenotes.ino for change information.

hiduino - :musical_keyboard: Native USB-MIDI on the Arduino

  •    C

The HIDUINO project provides firmwares, documentation, and example code for building a class-compliant USB-MIDI device from an Arduino UNO or Mega 2560. HIDUINO does not use middleware software to convert serial messages through a MIDI loopback port (like LoopBe1 on Windows or IAC on OSX). Instead, HIDUINO provides a true USB-MIDI device for plug-and-play compatibility on Windows, OSX, and Linux - just like a commercial MIDI controller. HIDUINO takes advantage of Arduino boards where a second AVR chip is used as the USB controller, so it won't work with single chip variants (e.g. Leonardo), nor older boards that use an FTDI chip as USB controller (e.g. Duemilanove). Many cheap Arduino knockoffs that pretend to be an Uno or Mega also might not work, since they tend to use the (slighly) cheaper FTDI chips.

nvvl - A library that uses hardware acceleration to load sequences of video frames to facilitate machine learning training

  •    C++

NVVL (NVIDIA Video Loader) is a library to load random sequences of video frames from compressed video files to facilitate machine learning training. It uses FFmpeg's libraries to parse and read the compressed packets from video files and the video decoding hardware available on NVIDIA GPUs to off-load and accelerate the decoding of those packets, providing a ready-for-training tensor in GPU device memory. NVVL can additionally perform data augmentation while loading the frames. Frames can be scaled, cropped, and flipped horizontally using the GPUs dedicated texture mapping units. Output can be in RGB or YCbCr color space, normalized to [0, 1] or [0, 255], and in float, half, or uint8 tensors. Using compressed video files instead of individual frame image files significantly reduces the demands on the storage and I/O systems during training. Storing video datasets as video files consumes an order of magnitude less disk space, allowing for larger datasets to both fit in system RAM as well as local SSDs for fast access. During loading fewer bytes must be read from disk. Fitting on smaller, faster storage and reading fewer bytes at load time allievates the bottleneck of retrieving data from disks, which will only get worse as GPUs get faster. For the dataset used in our example project, H.264 compressed .mp4 files were nearly 40x smaller than storing frames as .png files.

pbf - A low-level, lightweight protocol buffers implementation in JavaScript.

  •    Javascript

A low-level, fast, ultra-lightweight (3KB gzipped) JavaScript library for decoding and encoding protocol buffers, a compact binary format for structured data serialization. Works both in Node and the browser. Supports lazy decoding and detailed customization of the reading/writing code.If you use webpack as your module bundler, you can use pbf-loader to load .proto files directly. It returns a compiled module ready to be used.

We have large collection of open source products. Follow the tags from Tag Cloud >>

Open source products are scattered around the web. Please provide information about the open source projects you own / you use. Add Projects.