NeuralDuino - dynamic and user reconfigurable

I'm creating a neural networks library for the arduino (easily portable to any other platform) that is user-reconfigurable to the core

Similar projects worth following
I started this journey sometime in november to build a neural networks library in which i had the ability to actually change how my neurons are connected so that i could ommit connecting a few neurons and maybe connect some from a different layer, the basic intent being ensuring complete user-reconfiguration instead of just the ability to change NUM_LAYERS ,NUM_UNITS etc. LOL . so this project should benefit to all the ANN enthusiasts who wanted to do an ANN on the arduino UNO or above.

Developing a library wherein the users can play with the neurons themselves, connect those wherever and however they want.


1. choose your own activation function from the main sketch for each neuron individually

2. connect the neurons to each other as you like

3. each neuron is an object and whatever network you draw on the paper can be realized with this library

4. layer management given to the user (will have a default layer manager in the library in the future but not now, also there are enough examples to get anyone started)

5. Lots of examples ;-P

  • 1 × Arduino UNO and above

  • AWESOME !!! ANN on arduino works :-)

    Pranav Gulati01/19/2017 at 19:32 0 comments

    The beauty of a library is when changing the architecture of a neural network is easy enough to be implemented in the arduino sketch itself.
    so with the suggestions by t3db0t on issue ( i implemented the architecture of the neural network shown in the link in the issue and VOILA!!! the XOR converged beautifully
    the best part about it was that i had to make no changes in the library whatsoever which actually strengthens and validates the need of such a reconfigurable library for neural networks on the arduino

    thanks to t3db0t :-)

  • Added Momentum parameter

    Pranav Gulati12/25/2016 at 12:24 0 comments

    Added the momentum parameter to the network (not as an option though, will mayb do that if it has undesirable effects)
    but adding momentum hasnt helped the XOR problem still , now i think i need help solving the XOR problem because i wont be able to sleep peacefully without making a perfectly working library so

    Please HELP !!

  • It works......Almost ;-P

    Pranav Gulati12/24/2016 at 05:10 0 comments

    the library i think is up and running , i tested it with the linearly separable test cases AND OR gates etc and have added the examples for the same

    Also made a counting example that takes input in 2 digit binary and outputs a decimal number one greater than the decimal equivalent of the binary (e.g input {1,1} output =4 ; input={0,1} output=2)
    the XOR problem still gets stuck at output values of 0.5ish, looking into it though

View all 3 project logs

Enjoy this project?



Pranav Gulati wrote 01/20/2017 at 08:06 point articles/connectionism/Turing's neural networks.html

interesting, this library could actually be a step in making B-type networks, awesome

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates