Circuits to Graphics: Hardware as Design Interface
Prototyping alternate drawing tools that connect the digital to the physical.
We will delve into how commonplace electronic components can be wired up to offer alternate yet powerful ways of brainstorming visual concepts for the screen.
Concept
- When we have math, we have the ability to turn one set of data into another.
- Words can be visuals, numbers give rise to form, design inches closer to development.
- We must imagine unusual interfaces to question standard practices that often lead to standardized visual outcomes.
Part I - Novel processes for expected outcomes
Exploring the potential of alternate drawing tools where physical circuits and electronic components are the interface to create visuals
Prototype → Identity
Part II - Novel processes for novel outcomes
Graphics created with the tool formed the components for a wider set of assets, each symbolizing the merging of art and code dualities. Read more about the project Virtual Creative Coding Fest
Circuits to Graphics: Workshop Follow-Along Guide
What You’ll Need
Physical materials
Laptop, USB to USB-C adapter, a sensor/actuator, arduino, wires, Arduino Uno
Digital materials
1. Hardware code → Arduino IDE
2. Digital Canvas → A text editor to write your code in. We will be using P5.js in VS Code running in a local environment. Make sure you have the p5 library reference linked as
<head>
<script src="https://cdn.jsdelivr.net/npm/p5@1.11.13/lib/p5.js"></script>
<script language="javascript" type="text/javascript" src="https://cdn.jsdelivr.net/npm/p5.serialserver@0.0.28/lib/p5.serialport.js"></script>
<link rel="stylesheet" href="style.css">
</head>3. Serial Communication → P5 Serial Control
→ Download Link
Now we begin…
ACT I: Get the hardware set up
ACT II: Get p5.serial to recognize the port
Enable console and ASCII
ACT III: Receive the data in your p5 sketch
Beginner Sketch
This is your starter sketch.
Make sure to duplicate it to your own p5 account. However, it is preferred if you download the code and run it in your local IDE to avoid browser permission issues or delays in sensor monitoring
We will mostly be making changes to this block:
EPILOGUE: Up the anté
- Modify existing: Can the text grow and shrink? Can clicking the joystick add more shapes on canvas.
- Bring in new: values from your own P5 sketches.
- Use a different sensor! Do you have an ultrasonic? A potentiometer? See how varying the Arduino code lets you make things differently.