Table of Contents
- L1: Intro to Serial
- L2: Web Serial
- L3: p5.js Serial
- L4: p5.js Serial I/O
- L5: Paint I/O Example
- 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.