Link Search Menu Expand Document


Table of Contents

  1. L1: Intro to Serial
  2. L2: Web Serial
  3. L3: p5.js Serial
  4. L4: p5.js Serial I/O
  5. L5: Paint I/O Example
  6. L6: ml5.js Serial

In this lesson series, we will learn about computer-to-Arduino interaction. More specifically, serial communication, web serial, and using p5js to communicate with Arduino.

L1: Intro to Serial

In this lesson, we’ll dive into asynchronous serial communication and how we can use it for bidrectional Computer ↔ Arduino communication. We’ll show example serial communication clients using terminal programs and Python.

L2: Web Serial

In this lesson, you’ll learn about the new Web Serial API and how to build simple web apps that communicate with Arduino.

L3: p5.js Serial

In this lesson, you’ll learn about Processing, p5.js, and how to use p5.js with Web Serial (with a focus on processing incoming serial input data).

L4: p5.js Serial I/O

In this lesson, we look at creating more complicated p5.js + Arduino applications that bidirectionally communicate together both Arduino to p5.js (Arduino → Computer) as well as p5.js to Arduino (Computer → Arduino).

L5: Paint I/O Example

In this lesson, we will bring everything together thus far to build a fully interactive p5.js + Arduino painting application, called PaintIO, with bidirectional serial communication and a custom paintbrush controller using an accelerometer to control brush location, a force-sensitive resistor to control brush size, and bimanual interaction using both Arduino + the mouse simultaneously for drawing.

L6: ml5.js Serial

In this lesson, we’ll introduce machine learning frameworks like Runway ML and ml5js and show how to use them with Arduino.