Raspberry Pi based video gear

Raspberry Pi based video devices have been popping up in several places.

you will see that some are for sale but all are open source too so if you want to start playing there isn’t much stopping you

Hardware to get you started

raspberry pi 3b,
microsd card,
MIDI controller (korg nanokontrol 1 or 2 work well),
USB thumb drive,
USB camera (this is what I use works across the devices),
USB input device (this one works across all devices for me),
composite output cable (this isn’t the one I bought but I can’t seem to find it anymore sometimes you may have to use the red output instead of the yellow if you are having trouble)

all the githubs will have information about how to put together your synth
essentially you will be

downloading an image
burning it onto a microSD card
put it into your RPI
plug hardware into RPI
turn it on

Extra info & moving forward

There are several different people working on these projects all of which are open source I believe. I’m trying to use similar MIDI device and layouts as the other people too so that you can easily switch between things. Additionally I’ve bundled what I’m doing with one of the other makers as we have a similar hardware footprint.

So if you go the the scrawl readme (github) there are links for an image file which contains installed versions of scrawl, spread, spectral mesh, and waaaave_pool and an easy way to switch between them via mouse and keyboard.

I’ve got another app to put out soon here based on a variable quadrants/mirror/multi type effect then i’ll bundle the newest waaaave_pool and chromatic aberration

We will just keep growing this ecosystem of free video gear based on the raspberry pi
I know once I get all my pieces I’d like to put together a larger system that contains my drawing, colorizer, quads, and a strobe one I haven’t started on yet as I would really like to do a whole V4 type effects section with extras that would need a larger/different controller though :slight_smile:



you can find the image linked in the github readme with some instructions
if you are loading the latest image it will include several other apps installed (all also listed here) with .sh files on the desktop to switch between them (press escape to get to the desktop once it has booted)
or you can download the source and load it up on an older image if you already have one

Scrawl is a standalone RGBA shape generator/positioner with painting capabilities, full MIDI/keyboard and some mouse control for the Raspberry Pi (currently using 3b+(old hardware version)/3b).

LZX thread





this is my colorizer originally based off one from R_E_C_U_R it has grown considerably now!
the idea moving forward will is two colorizers mixed via video mixer the mixer currently has 12 or 13 different mixing options




(picture by https://www.instagram.com/andrei_jay_creative_coding/)

github for all your information



facebook group




(picture from https://www.instagram.com/andrei_jay_creative_coding/)

a video feedback machine with many controls

github for all your information


facebook group

demos/tutorials 1

demos/tutorials 2



instagram 2


(picture from https://www.instagram.com/andrei_jay_creative_coding/)

Andrei’s colorizer


instagram hashtag

Strange Loop

(picture from https://www.instagram.com/melt_dream_/ )

a fantastic video feedback machine with joystick control



instagram not all related


(picture from https://www.instagram.com/lesz2537/)

A feedback/shader player/sampler with a neat interface

main github for all your information

facebook group



(picture by https://www.instagram.com/altable/)

I haven’t played with this one at all but it seems like an awesome workshop version of recur with physical controls!


Super Pikix Pi

(picture by https://www.instagram.com/joshuamorganmusic/)
I haven’t used this one at all either I just first heard about it recently it looks to be doing some very interesting stuff like r_e_c_u_r almost

download / info


It is criminal no one has commented on this yet.
Thank you person. I know collecting all these links to examples and github and tutorials is time consuming work. I literally just made this account to commend you. I would buy you a beer or something green if I could.
Keep up the good work!!!


I have a rasberry pi coming for norns, but I’m going to have to get another, because I’m definelty going to be playing with it in my video rig.
Oh these will work with pi 4b probably right?

1 Like

Fascinating stuff. The Pi is such a great tool, what a time to be working on multimedia stuff. Great post!

1 Like

I appreciate you taking the time to say so :slight_smile:

I love trying to consolidate this kind of info so it makes it easier to get into

I really tried to post links that were continually updated so that it kind of manages itself once setup

I don’t think things are working on the rpi 4
there has been some weirdness so I’m not diving in just yet


Norns Shield -> Puredata or another app -> MIDI internally (or OSC?) -> Scrawl -> Waaaave Pool -> Video out of Norns Shield
This setup could probably do some really nice video synthesis and be part of the Norns ecosystem. Any reasons why it wouldn’t be easy? It sounds like Scrawl might already have the Waaaave Pool feedback and effects built in naturally.

1 Like

Thank your for this nice summary! :slight_smile:
I discovered the world of rpi video a few month ago and just got what’s necessary for building a r_e_c_u_r setup (installed everything yesterday and checked it was booting), now I need to buy for another raspberry and a webcam and capture interface to try Scrawl and Waaaave_pool (recur into scrawl/w_p is the idea).

Is the combined image the Scrawl 1.5 google drive link on your readme page? If not could you point me to it? (i’m not sure to get the good one, and my internet access is quite limited for now).

Thanks a lot for your amazing work!


V1.5 image here https://drive.google.com/open?id=1ep0ZNawBRCll6pyFvFSpVqMtxO2fa4qM compressed

V1.5 image non compressed https://drive.google.com/file/d/1vKiNYV4l9_f-cTYtPmeCfq20c2seEjrJ/view?usp=sharing

I believe people on windows machines have had some issues with the compressed version so the non compressed version should solve that

oh awesome! recur is so much fun too
I’ve been pondering and drawing out different workflows recently trying to re-get my head around what it is I’m trying to accomplish since the tools at my disposal just grew a bunch

once you have the image downloaded it becomes easier to update the individual applications versus having to download the whole image again (although you can do that instead if you’d rather)


so right now all the drop downs in the first post are apps on the raspberry pi. the lines around some of the apps represent groups of apps made by one person / group of people

I haven’t looked into building a norns (ok with software DIY not with hardware… although I’d love to get one built for me!) but I think it is just on a raspberry pi. I kind of doubt you’d be able to run norns stuff and the video apps at the same time though. So since scrawl and waaave pool are different apps they run separately you could run one into the other with two raspberry pis and the appropriate usb capture card etc…
I’d love to try it out if I get my hands on one

OSC isn’t built into my apps just yet

  • I’m going to finish up a couple more apps (quadrants, weird strobe)
  • do a bunch of documentation/demos on all of them
  • add audio/video modulation methods (working on the video bit now it is going to be neat like being able to apply the percentage of the color red on the screen as a variable modulation source)
  • add raspberry pi camera support
  • try to get svideo input working on the capture cards I’m using and within openframeworks
  • add OSC control support
  • add new brush type in for new slit scan mode in scrawl
  • once I feel good about where things are at I’d like to take a stab at putting all of my applications into one larger application (drawing / shape creation / video painting / colorization / posterize / B&W / negative / strobe / frame difference / difference strobing / variable quadrants / variable mirror / PinP type - with just scrawl, spread, quadrants, weird strobe apps not sure how well it will work and it will need a different MIDI layout)

just to be clear these are not all my apps (scrawl and spread are) I’m just compiling them so it easier for people to get at continually updated information in one place


Thank you! :slight_smile:
And yes, all those Rpi based video devices look amazing and open so much possibilities! I’m gonna take it slow and explore them one by one to start.

1 Like

Which screen are you using for r_e_c_u_r? From the github it sounds like it needs something very specific or else the drivers on the image won’t work, and the screen they link to is no longer available.

1 Like

just the standard 3.5 inch rpi display it should read 480x320 pixel on the back


this isn’t the one I bought specifically but i think it is this same sort of thing

1 Like

These are awesome resources! One of my “maybe one day” projects is getting an audio-reactive OpenGL environment working on my Pi. General idea is to be able to load shaders and control parameters either with audio or CV a-la the Erogenous Tones Structure. Love seeing what other folks have come up with!


I’m using a cheap 3.5inch touchscreen rpi display I bought on aliexpress with a case.


after I get through trying to put together the multi synth if I don’t have anything else that sounds like it is worth trying by then I’ll probably move along to focusing on writing some more shaders to use with structure

I’m sure someone else working on the raspberry pi video stuff is putting together a CV interface the hardware stuff isn’t really something I’ve any practice with. I can’t wait to play with some of these devices with CV

1 Like

This is a great resource, thanks for putting this together. I started building some of the LZX cadet modules but am thinking this might’ve been a better (and cheaper) place to start!

Looks like the Recurboy project utilizes 4 cv inputs… I wonder if this could be adapted for use with some of these other tools. Looks like the cvs go to an analog to digital converter and out from there to the pi.


For 1.5 is the midi napping different? I have a nanokontrol 1 and with this new version I can’t figure out how it’s mapped. Thanks for such a fun tool!

1 Like

You are welcome! I’m so happy to be able to give back to these communities

it is going to be really cool when someone else releases a CV host for this kind of module (not really my thing I like the software side of things but hardware is outside of my ability currently)

Although I might just pick up a VCMC so I don’t have to wait :wink: haha
I’ve been eyeing one of those to control a V4 too that should be fun


I ended up changing the mappings for scrawl in 1.5 I hadn’t really considered the layout at all when I first mapped everything it was mostly so I could make sure everything worked.

I should have added a line in the what got updated about that, sorry for the confusion

the readme reflects the new layout

I’ve got a drawing of the layout I’ll add to the github and put up here too just have to find it first :slight_smile:

I keep putting off finishing up the demo videos I’ll ask my husband if he’ll do it

for now though here is the current mapping

Scrawl v1.5 MIDI map

// top row of knobs on nano kontrol (left to right) CCs

  • 16 [brush] changes the current brush (currently 6 available)
  • 17 [size] changes a size parameter of current brush
  • 18 [trix] usually used for triangle brushes
  • 19 [midimouseX] control is bipolar for X direction
  • 20 [brushred]/[bgcolor1] colors current brush with Red | if [backColor] (68) is on colors [bcolor1]
  • 21 [brushgreen]/[bgcolor2] colors current brush with green | if [backColor] (68)is on colors [bcolor2]
  • 22 [brushblue]/[bgcolor3] colors current brush with blue | if [backColor] (68) is on colors [bcolor3]
  • 23 [brushalpha]/[bgcolor4] sets alpha for current brush | if [backColor] (68) is on sets alpha for [bcolor4]
  • 62 [randomcolortime] if you have a [random colorize mode] / [randomtime] / [randomsize] on this will set the time between changes

// sliders on nano kontrol (left to right) CCs

  • 120 [Scaleamount] sets the scale amount if [mirrorscale] is ON
  • 121 [size2] is used for some brushes for a second size (rectangle,triangles,star burst)
  • 122 [triy] used for triangle brushes
  • 123 [midimouseY] control is bipolar for Y direction
  • 124 [bcolor1] colors main background Red if paint mode is on it won’t show up until screen is cleared
  • 125 [bcolor2] colors main background Green if paint mode is on it won’t show up until screen is cleared
  • 126 [bcolor3] colors main background Blue if paint mode is on it won’t show up until screen is cleared
  • 127 [cirres] sets max resolution for circle shape | set rotation for triangle brush 3 | minimum radius for star burst 5
  • 119 [randomamount] sets the maximum amount of randomness when [randomtime] &or [randomsize] is on

// toggle buttons (top and bottom row left to right top first bottom second)

  • 64 turn mouse cursor ON/OFF
  • 32 [fill] turns fill ON/OFF for brush
  • 65 [erase] if OFF paint mode if ON pointer/spotlight mode
  • 33 [drawing] simulates mouse press but it is a toggle rather than press
  • 66 [mirrorScale] turns scaling mode ON/OFF scale amount (66) when scale is ON
  • 34 [mirror] turns mirror mode ON/OFF to see effect make sure to set [mirrorshape] (43,44)
  • 67 [backGrad] turn background gradient ON/OFF if OFF solid color set via [bcolor(1-3)] (124,125,126)
  • 35 [brushcolor] turns colorization ON/OFF for brush if OFF defaults back to WHITE
  • 68 [backColor] changes context of (20,21,22,23) RGBA knobs if ON coloring background gradient | if OFF coloring brush if you don’t have the background gradient on you won’t see any change even if this is ON. Allows for brush and background gradient to be different colors
  • 36 [randomize color for brush] if alpha above 120(midi) then alpha stays the same as set othewise it is also randomized
  • 69 [bcolorrandomize] randomizes background color won’t see effect unless you are not paiting to the screen [erase] 65 off | both background and gradient if backGrad is on
  • 37 invert brush color (works with [brush(red,green,blue)]
  • 70 [Ybt] y axis scrolling bottom to top ON/OFF auto scrolling works with all brushes except random lines
  • 38 [Ytb] y axis scrolling top to bottom ON/OFF auto scrolling works with mirroring (some strangeness but the fix I tried made it worse…)
  • 39 [Xlr] x axis scrolling left to right ON/OFF auto scrolling allows for slit scanning!
  • 55 [Xrl] x axis scrolling right to left ON/OFF
  • 61 [randomdraw] this changes the speed and direction on the autoscrolling based on [randomtime] (62)
  • 60 [randomsize] this changes the sizof the brush for autoscrolling based on [randomtime] (62)

//6 toggle buttons on left side of unit (<<, >, >>, loop, stop, record these are the labels on the controls not what they do)

  • 43 << [mirrorshape] + (2,3,4,5,6,7,8,9,16,32,64) number of shapes drawn to screen increment though list with wrap around
  • 44 > [mirrorshape] - (2,3,4,5,6,7,8,9,16,32,64) number of shapers drawn to screen decrement thorugh list with wrap around
  • 42 >> [videopainting] turns on USB/webcam input masked by current shape
  • 41 loop [colorofbrush] toggles between full RGBA control [colorbrush] ON and RGB with random alpha “softpaint” OFF
  • 45 stop [colorofbrush] colorrandom ON randomizes RGB with full alpha control / fullrandom OFF randomizes RGBA
  • 46 record [brushpreview] allows you to see the brush cursor (currently can’t be mirrored) while in paint mode and not draw in the frame buffer. there is some funkiness in the preview brush currently I’ll get in there and fix it at some point but I figure this isn’t a super vital feature currently

Mentioning the Befaco VCMC was great. I have been trying to decide if I wanted to jump on this RaspPi thing but I wanted to determine if I could mount a RaspPi on a panel and use CV to control it. Any info in that direction would be helpful to me. That way I could put it in the rack with my other toys and patch it in.


The Logitech C310 camera you recommend seems very hard to come by (sold out everywhere — hefty price gouging for used models).

Any other camera you could recommend that would work for this set up?