NeuroKits are hybrid courses that combine online lectures on advanced neuroscience topics with hands-on  experiments by sending a kit containing the course material wherever you are.

Course overview

This course provides a fundamental foundation in the modern techniques of experimental neuroscience. It introduces the essentials of sensors, motor control, microcontrollers, programming, data analysis, and machine learning by guiding students through the “hands on” construction of an increasingly capable robot.

In parallel, related concepts in neuroscience are introduced as nature’s solution to the challenges students encounter while designing and building their own intelligent system.

Course Partners

Voight-Kampff

What will you learn?

The techniques of experimental neuroscience advance at an incredible pace. They incorporate developments from many different fields, requiring new researchers to acquire a broad range of skills and expertise (from building electronic hardware to designing optical systems to training deep neural networks). This overwhelming task encourages students to move quickly, but often by skipping over some essential underlying knowledge.

This course was designed to fill-in these knowledge gaps.

By building a robot, you will learn both how the individual technologies work and how to combine them together into a complete system. It is this broad-but-integrated understanding of modern technology that will help students of this course design novel state-of-the-art neuroscience experiments.

Course directors

Adam Kampff

Course Director
Voight Kampff, London, UK

Andreas Kist

Course Director
Department for Artificial Intelligence in Biomedical Engineering (AIBE), Erlangen, Germany

Elena Dreosti

Co-Director
University College London, UK

Programme

The course will be held from 14:00 to 18:00 CEST

Day 1 – Sensors and Motors

What will you learn?

You will learn the basics of analog and digital electronics by building circuits for sensing the environment and controlling movement. These circuits will be used to construct the foundation of your course robot; a Braitenberg Vehicle that uses simple “algorithms” to generate surprisingly complex behaviour.

Topics and Tasks:

  • Electronics (voltage, resistors, Ohm’s law): Build a voltage divider

  • Sensing (light-dependent resistors, thermistors): Build a light/temperature sensor

  • Movement (electro-magentism, DC motors, gears): Mount and spin your motors

  • Amplifying (transistors, op-amps): Build a light-controlled motor

  • Basic Behaviour: Build a Braitenberg Vehicle

Day 2: Microcontrollers and Programming

What will you learn?

You will learn how simple digital circuits (logic gates, memory registers, etc.) can be assembled into a (programmable) computer. You will then attach a microcontroller to your course robot, connect it to sensors and motors, and begin to write programs that extend your robot’s behavioural ability.

Topics and Tasks:

  • Logic and Memory: Build a logic circuit and a flip-flop

  • Processors: Setup a microcontroller and attach inputs and outputs

  • Programming: Program a microcontroller (control flow, timers, digital IO, analog IO)

  • Intermediate behaviour: Design a state machine to control your course robot

Day 3: Computers and Programming

What will you learn?

You will learn how a modern computer’s “operating system” (Linux) coordinates the execution of internal and external tasks, and how to communicate over a network (using WiFi). You will then use Python to write a “remote-control” system for your course robot by developing your own communication protocol between your robot’s linux computer and microcontroller.

Topics and Tasks:

  • Operating Systems: Setup a Linux computer (Raspberry Pi)

  • Networking: Remotely access a computer (SSH via WiFi)

  • Programming: Program a Linux computer (Python)

  • Advanced behaviour: Build a remote control robot

Day 4: (Machine) Vision

What will you learn?

You will learn how grayscale and color images emerge and how to work with them in a Python environment. By mounting a camera on your robot, you can live-stream the images to your computer. You will then use background subtraction and thresholding to program an image-based motion detector. You will use image moments to detect and follow a moving light source, and learn about “classical” face detection.

Topics and Tasks:

  • Images: Open, modify, and save images

  • Camera: Attach and stream a camera image

  • Image processing: Determine differences in images

  • Pattern recognition: Extract features from images

Day 5: (Machine) Learning

What will you learn?

You will learn about modern deep neural networks and how they are applied in image processing. You will extend the intelligence for your robot, by adding a neural accelerator to the robot. We will deploy a deep neural network for face detection and compare it to the “classical” face detector. Ultimately, you will create and train your own deep neural network that will allow your robot to identify it’s creator, you.

Topics and Tasks:

  • Inference: Implement a neural accelerator (Google Coral USB EdgeTPU)

  • Deployment: Deploy and run a deep neural network

  • Object detection: Finding faces using a deep neural network (Single Shot Detector)

  • Object classification: Train a deep neural network to identify one’s own face (TF/Keras)

Registration

Registration fee: 450€ per person (includes shipping of the course kit, pre-recorded and live lectures before and during the course, full attendance to the course, and course certificate).

Registration fee for a group: 450for one person and one course kit 150€ per additional person (without the course kit)

Application closed on 26 July 2021 

To receive more information about this NeuroKit, email info@cajal-training.org