Raspberry Pi based video gear

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

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.

1 Like

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?


If you look on the recur tv group someone is testing cv with it now! I am probably going to design a RPI cradle with a computer module whenever my uni work clears up in a few weeks.

1 Like

is that on twitch or facebook?

1 Like

Sorry autocorrect changed fb to tv. my bad!

1 Like

here is my master guide for controls of scrawl

top left is transport section 41-46
next on the top both rows of toggles 32-39,55,60-61,64-70

below the picture knobs are on the top row 16-23,62
and the sliders are below 119-127


This is awesome as is your synth! Excited to plop down and explore tonight.


I bet there would be a way to do it with the terminal tedium. Yeah, you’d probably have to have an hdmi cable poking out of your case or get north coast Modular’s panel. It would at least be the hardware, 6 cv inputs and audio i/o, but getting them to speak with whatever application would be the uncharted territory.

Sorry to be dense, but what is terminal tedium?