This project explores how serial data written by environmental sensors can control and influence the appearance of digital media. The outcome of Serial Link was a wearable device that incorporates a ESP32, Gyroscope, ultrasonic sensor, and a power bank that can control digital media in touch designer through network access.

serial data

What is serial data?
Utilizing the serial, we can send across our data through sorting how it’s written in csv.
The microcontroller hosts a network in which it sends through the values picked up from it’s sensors through writing the data to the serial.
The data is split like such: X,Y,Z, Roll, Pitch, Depth.

What is controlled data?
Controlling the data and knowing how to handle it is a big part of the system. This allows us to create controlled interpreters for this data. One for feeding it into touch designer, and the other feeding it into retroarch.

Touchdesigner logo

What is Touchdesigner?
Touchdesigner is a node-based visual programming language for real-time interactive multimedia content, developed by the Toronto-based company Derivative. It’s been used by artists, programmers, creative coders, software designers, and performers to create performances, installations, and fixed media works.






Wearable device
Digital media
Macro workflow for reading the serial data from the gyroscope into touch designer
Hardware diagram and export channels of serial data

Early tests – reading mouse pose data

As a simple first step for this project that aided in developing the logic and rule set for how to manipulate a simple spherical geometry was done by linking the mouse position to positional inputs in touch designer.
This small exercise gave us an understanding of how to scale high value numbers from the mouse input into more manageable dataset that would reduce randomness of values, creating a smoother flow of interaction with the geometry – at the time we didn’t know it, but we had unknowingly filtered and averaged out the serial read, which would greatly aid us in our next experiments when incorporating environmental sensors.

Low amplitude
Mouse movements
High amplitude
mouse data workflow

Ultrasonic sensor implementation

It seemed most logical to have the ultrasonic sensor control the scaling of the geometry.
To ensure that the geometry would never get too big we set a min and max value range that the ultrasonic sensor would detect. This would then be input into touchdesigner where the raw serial data was remaped to a new range more manageable for manipulating scale.

Gyroscope sensor implementation

The gyroscope would control the rotation on the X, Y, as well as the roll
As with the ultrasonic sensor we set a min and max value range that the gyroscope would detect. This would then be input into touchdesigner where the raw serial data was remaped to a new range more manageable for manipulating scale.

Combined sensor integration

The combination of the datasets proved to be quite successful
Since we were able to preform isolated tests on each sensor prior to combining sensors we knew the range and limits of so the result ended up working within the first few attempts

Testing sensors on 3D data

When applying the same logic to 3D geometrical data such as a pointcloud our result was pretty unrefined as the control parameters were vastly different to the control of a basic sphere. if we had another few days on the project we likely would have gotten it to run smoothly enough

Sensor logic breakdown

Networking setup

In this setup, the ESP32 serves as an Access Point (Wi-Fi hotspot), enabling a laptop to establish a connection. The laptop then sends requests to the ESP32 for sensor data. Utilizing a TCP/Internet protocol, TouchDesigner, running on the laptop, communicates with the ESP32 to receive the requested data. This configuration facilitates wireless data transmission between the sensors connected to the ESP32 and TouchDesigner, streamlining the integration of sensor data into the creative process facilitated by TouchDesigner.

Schematic

Further steps