![[WhatsApp Image 2026-03-07 at 8.35.03 PM 1.jpeg]]
Overview
This is a key memo for my workshop for a beginner to learn about Risograph and how to prepare the design files and operate the Riso machine. I have also talked about p5.js open-source coding environment and its p5.riso library, where people can easily create print-ready files on its web-browser based IDE. I’d love to create more contents that contribute to the bridging of the digital community and the printmaking community.
The workshop has taken place twice in 2025, one to my Digital Futures cohort in OCAD, and one (more like a presentation) at InterAccess Creative Coding Community.
Key takeaways
p5.riso
To prepare digital files for riso printing, images need to be separated into individual colors, each saved out as a file. The p5.Riso Library helps automate color separation and lets you preview of how your prints will look
https://antiboredom.github.io/p5.riso/
Preparation
When using p5.js web browser:
- Add a p5.riso.js file to the editor.
- Add
<script src="p5.riso.js"></script>to index.js
Colors
Colors predefined in p5.riso ![[p5.risocolor.png]]
Colors that we have in 667 Gail (Dual drum MH9450U)
![[667colors.pdf]]
- Fluorescent Pink
- Fluorescent orange
- Sunflower
- Bright red
- Yellow
- Light lime
- Hunter green
- Teal
- Aqua
- Medium blue
- Purple
- Black
Doris (Single drum EZ591U)
![[667colors_Dorie.pdf]]
- Fluorescent Pink
- Yellow
- Blue
- Red
- Kelly Green
- Violet
- Hunter Green
- Black
Demo
https://editor.p5js.org/imrinahru/sketches/RgIombjbY
// Adapted from code example provided by rachelhyman, original code is here: https://github.com/antiboredom/p5.riso/tree/master/examples/Smudge
//declare riso object
let aqua, fluorescentpink;
function setup() {
// set pixel density to 1
pixelDensity(1);
createCanvas(8.5 * 300, 11 * 300); // create an 8.5x11 inch canvas at 300dpi
// create 2 riso layers
aqua = new Riso("aqua");
fluorescentpink = new Riso("fluorescentpink");
}
function draw() {
let s = 100;
background(255);
aqua.noStroke();
fluorescentpink.noStroke();
for (
let x = 0.25 * 300 + 500;
x < width - 0.25 * 300 - 500;
x = x + (8.5 * 300) / 6
) {
for (
let y = 0.25 * 300 + 500;
y < height - 0.25 * 300 - 300;
y = y + (11 * 300) / 6
) {
aqua.fill(random(0, 20));
aqua.ellipse(
x + random(-100, 100),
y + random(-100, 100),
s + random(-800, 800),
s + random(-800, 800)
);
fluorescentpink.fill(random(0, 20));
fluorescentpink.ellipse(
x + random(-100, 100),
y + random(-100, 100),
s + random(-800, 800),
s + random(-800, 800)
);
}
}
// make a small text graphic and cut it out of the image
let textGraphic = createGraphics(width, height);
textGraphic.fill(0);
textGraphic.textStyle(BOLD);
textGraphic.textFont("Helvetica");
textGraphic.textAlign(CENTER, CENTER);
textGraphic.textSize(150);
textGraphic.text("PERFECTLY imperfect", mouseX, mouseY);
aqua.cutout(textGraphic);
fluorescentpink.cutout(textGraphic);
drawRiso();
}
function mousePressed() {
// when the user clicks, export the current image and stop
exportRiso();
noLoop();
}
Code
Treat riso objec similar to a graphic object
let blueChannel; //declare riso object
function setup(){
createCanvas(500, 500);
blueChannel = new Riso("blue"); // instantiate riso object as blue layer
blueChannel.fill(128); //set opacity
blueChannel.rect(20, 20, 100, 100); //draw rect to blue layer
drawRiso(); //draw to screen
}
Slides & media
The slide belongs to the 667 Studio. ![[667 Studio - Risograph workshop - October 2025 update.pdf]]
Related notes
[[(WIP)About Riso]] https://www.riso.co.jp/product/risograph/feature/index.html
Artists
https://wrenmcdonald.com/ https://www.natalieandrewson.com/ https://www.jasminesillustrations.co.uk/portfolio-collections/my-portfolio/project-title-1
(Basic) Color Glossary
|Term|Meaning| |—|—| |Hue|Pure color (red, blue, green)| |Value / Lightness|Light vs dark| |Saturation|Intensity, vividness| |Tint|Hue + white| |Shade|Hue + black| |Tone|Hue + gray| |Temperature|Warm vs cool| |Complementary|Opposites on wheel| |Analogous|Neighbors on wheel| |Monochromatic|Single hue variations| |Opacity|Transparency level|
A Quick Digital Preview
In photoshop, the gray scaled layers can be quickly overlayed to simulate the print result. Select a layer, go to image-> adjustments->gradient map, change to riso ink color. Do the same for all the layers and multiply. It’s only for reference.
Equipment in 667
We have:
- scanners
- slide trimmers
- guillotine cutter
- book binders