Syndiuno - Documentation

*These docs are outdated, synduino has had a massive overhaul and it will be a while until these are updated!* - 1/21/26

*Synduino is very experimental and highly unstable!*

*Only inference is supported for now!*

Concepts:

  1. Startup()
  2. Creating weights
  3. Creating biases
  4. Matrix Multiply
  5. Add Bias
  6. Activations
  7. Forward

Startup()

This function starts the serial communication on band 9600. This is NOT modifiable.

#include <stdint.h>
#include "synduino.h"

void setup() {
    startup();
}

Creating Weights

To create weights, simply call the function createWeights(). It returns a datatype of int8_t**.

The function takes two parameters.

  1. A list with how many neurons for each layer
  2. The legnth of the list of layers
#include <stdint.h>
#include "synduino.h"

int8_t nodes[] = {4, 8, 8, 4};
int8_t layers = 4;
int8_t** weights = createWeights(nodes, layers);

In the above code example, we create 3 weight matrices.

(4, 8) -> (8, 8) -> (8, 4)

Creating Biases

To create biases, it is very similar to creating weights. Simply call the function createBiases() which returns a datatype of int8_t**.

#include <stdint.h>
#include "synduino.h"

int8_t nodes[] = {4, 8, 8, 4};
int8_t layers = 4;
int8_t** biases = createBiases(nodes, layers);

In the above code example, we create 3 bias matrices.

(8,) -> (8,) -> (4,)

Matrix Multiply

Add Bias

Activations

Forward