SaaSHub helps you find the best software and product alternatives Learn more →
Nanopb Alternatives
Similar projects and alternatives to nanopb
-
-
InfluxDB
InfluxDB – Built for High-Performance Time Series Workloads. InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.
-
-
-
-
JSMN
Jsmn is a world fastest JSON parser/tokenizer. This is the official repo replacing the old one at Bitbucket
-
-
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
EmbeddedProto
Embedded Proto is a C++ Protocol Buffers implementation specifically suitable for microcontrollers. It is small, reliable and easy to use.
-
qpc
QP/C Real-Time Event Framework/RTOS is a lightweight implementation of the asynchronous, event-driven Active Object (Actor) model combined with Hierarchical State Machines.
-
-
modern-embedded-programming-course
Companion repository to the "Modern Embedded Systems Programming" video course.
-
nanopb-example
Discontinued This is a simple project created to test the capabilities of Google's protobuf C implementation, nanopb.
-
-
vtprotobuf
A Protocol Buffers compiler that generates optimized marshaling & unmarshaling Go code for ProtoBuf APIv2
-
-
-
-
CoreMark-RP2040
This is the COREMARK® embedded benchmark ported by me to the RP2040 chip from the folks over at Raspberry Pi.
-
-
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
nanopb discussion
nanopb reviews and mentions
-
Go Protobuf: The New Opaque API
Perhaps surprisingly, I think microcontrollers may be a place where Protobufs are not a bad fit. Using something like Nanopb [1] gives you the size/speed/flexibility advantages of protocol buffers without being too heavyweight. It’ll be a bit slower than your custom binary protocol, but it comes with quite a few advantages, depending on the context.
[1] https://github.com/nanopb/nanopb
- Nanopb – Protocol Buffers for Embedded Systems
-
Looking for a data serialization/deserialization library for use in an embedded system
While I don't have much experience with it directly, I do know that Google's protobuf was designed with minimal footprint capabilities in mind. While it might not work out-the-box for embedded systems, it looks like there is a well maintained open source library NanoPB that "is a small code-size Protocol Buffers implementation in ansi C. It is especially suitable for use in microcontrollers, but fits any memory restricted system." And for added reassurance, it looks like Chromium has a dependency on NanoPB.
-
Embedded communication protocols doc gen
nanopb
-
Lightweight data serialization/deserialization format
Protocol buffers are designed for this. Consider using nanopb on the device side.
-
serialization protocol for rf messages in C
I think you're looking for nanopb, the lightweight implementation of Google's protocol buffers.
-
How to create a program that sends to and receive data from Arduino via Bluetooth using C?
In that runtime environment, using only C is indeed the (very) safe "bet". In particular, I might personally prefer using Nanopb - Protocol Buffers for Embedded Systems.
-
Is a packed struct always the same in size?
I know it’s not the question you asked, but the answer might be this: https://github.com/nanopb/nanopb
-
ESP-Now: multiple devices, but how to do multiple types of data?
The OTHER way to do it is with protobufs, since they don't encode parts of the message that aren't included (that is: any missing part of the message has 0 transmission overhead). nanopb works well on the ESP32.
-
looking for c++ libraries whose equivalent c libraries are also present..
You could look at my library Embedded Proto and Nanopb. If you have any questions let me know.
-
A note from our sponsor - SaaSHub
www.saashub.com | 24 Jun 2025
Stats
nanopb/nanopb is an open source project licensed under zlib License which is an OSI approved license.
The primary programming language of nanopb is C.