Neural Network for Arduino: Give Arduino a Brain

Room type


This field is required.
This field is required.
This field is required.
Entry fee:
Required fields

Payment via

Before buying your ticket, please check the tech requirements for joining the event here.

If you have already registered and can't locate your registration confirmation email, click here!
The email address is incorrect. Please double-check your email address.

A confirmation email with logging details has been sent to the provided email.

System configuration test. Click here!

Watch this Elektor Academy course anytime, anywhere. Pause and rewind the course as needed. This course is approximately 01:47 minutes long. You can purchase the course via PayPal via either a PayPal account or with a Debit or Credit Card. Contact service@elektor.com if you have any questions after your purchase.


Course Description

Artificial intelligence (AI) and machine learning (ML) can seem like incredibly challenging topics to get into. Most solutions involve complex software and a cloud-based platform that performs the learning. This course provides you with a simple and understandable approach to using elementary ML. It only requires your PC and a source-code neural network that works on Arduino and other microcontrollers

In this course, you’ll learn about the basic building block of ML, neural networks. After covering some of the history of its development and what today’s AI is capable of, you’ll see how artificial neurons learn basic capabilities through software examples. With simple learned functionality, like replicating an AND gate, behind us, we’ll learn why learning an XOR gate’s functionality was challenging for early artificial neuron approaches and how that challenge was overcome.

With this light touch on the theory complete, we’ll explore how this simple little neuron can be used as part of an autonomous driving system to detect the color of traffic lights. Until this point, all the code demonstrated runs on a PC using Processing.

The final section shows how the same (lightly modified) code runs on an Arduino to implement the same traffic light color detecting application. Due to their limited performance, microcontrollers take a long time to learn new capabilities. To speed up learning, an approach for creating the “learned capability” is provided by coupling the performance of your PC with the Arduino.

After that, the world is your oyster! You’ll have a neural network suited to execution on a microcontroller and a tool to teach it new things for your own projects – who knows what you’ll make..

Prerequisite knowledge

Before attending this class, we expect that you should:

  • Know how to install and use the Arduino IDE.
  • (Recommended) Know how to install and use Processing.
  • Be able to build and execute example sketches.
  • Can modify a sketch to create your own application.
  • Understand C/C++ as used in Arduino.

Course Material

The course is delivered as a walk-through with demonstrations of the examples covered. The code used in the course is available on GitHub for use as the basis of your own sketches via this link:


Stuart Cording - Elektor

Stuart Cording is an engineer and journalist with more than 25 years of experience in the electronics industry. You can find many of his recent Elektor articles at www.elektormagazine.com/cording. In addition to writing for Elektor, he hosts the monthly livestream, Elektor Engineering Insights (www.elektormagazine.com/elektor-engineering-insights). His previous courses have covered tips on debugging Arduino code and using the platform for simple neural networks.