Inspiration

The idea is to create a wireless sensor network without requiring a central server.

What it does

TinyStore synchronizes log entries via the raft consensus algorithm. It is fail safe for (n-1)/2 units and supports plug and play with a minimum of configuration. It's also possible to run TinyStore on good old standard computers.

How I built it

I am using platformio to program the microcontroller but using the same code (except for a few ifdefs and the platform specific UDP provider) also on normal PCs ans Macs.

Challenges I ran into

The most difficult part was to debug the communication between the devices over UDP messages.

Accomplishments that I'm proud of

Most parts of the raft algorithm are implemented for microcontrollers as well as standard computers and they are able to communicate with each other

What I learned

Communication between different kinds of devices over UDP is a pain to debug. But tools like wireshark can help a lot.

What's next for TinyStore

The next step would be to build a real storage service on top of the current implementation, because at the moment it's only possible for the leader of the cluster to commit hard-coded log entries.

Built With

Share this project:

Updates