buying an oscilloscope for building and testing diy video circuits

all the circuits we design and distribute for are made to be diy and beginner friendly. a big part of this mission is to enable and encourage artists to engage with their own art-making tools.

often when helping people troubleshoot their circuits i am asked to recommend a digital oscilloscope they could get. also for my online class about making analog video synths on breadboard i would like to suggest some scopes that students could look into getting if they want.

in this post i will outline some of the features of a digital oscilloscope that make it useful for building and testing diy video circuits and then suggest a few options across a range of prices and feature sets.

main features to look for

  • the bandwidth – ie the the range of frequencies that it can accurately measure (this is rated in Hertz)
  • whether it has trigger modes – most modern scopes do
  • number of analog inputs
  • does it include a signal generator ?
  • does it include a multi-meter ?
  • what form-factor would suit your needs ?

my quick thoughts on these in general:

  • composite video uses around 4-5Mhz and vga @ 640*480 needs around 14Mhz so more than this is ideal for a scope to inspect video signals (especially hd ones) – however in practice i would rarely need to see all the details of the subcarrier or every pixel so you could definitely get away with less
  • triggering on the rising/falling edges is often essential to get a stable look at video signals – would recommend checking your scope can do this.
  • having two analog inputs can be very useful although this often increases cost as well – if you have the budget definitely go for this but don’t stress if not
  • signal generators can be useful for testing circuits and are fun to play with but not essential
  • a multi-meter is pretty essential for working with electronics – if you dont have one already then a combined meter + scope could be a good option for you
  • i like the small and portable kinds that run on rechargeable batteries but i also have a larger desktop scope that i mainly use.

ZEEWEII DSO154Pro 18M – cheapest option i recommend

i got one of these ZEEWEII DSO154Pro 18M from aliexpress for around 25 euros and was pretty impressed with the results – learning the interface is a bit clunky on lots of these machines but once you get the hang of it seems like a great first choice:

  • claims 18Mhz of bandwidth – at least in my tests inspecting a color-burst at 500ns divs it looked fine
  • triggers worked as i would expect
  • only has one input to the scope
  • has a built-in signal generator – this seemed pretty good:
    • i like that you can use it to generate really slow (0.1Hz) oscillations
    • would be nice if the vpp was adjustable but it is not
  • does not include multi-meter – which is fine for me i already had one
  • is very small form-factor – comes with rechargeable battery that lasts long enough

ZOYI ZT-703S – 2ch scope + multi-tool – looks promising

i have not tested these myself but have seen them recommended as good entry level-scopes online. you can get ZOYI ZT-703S on aliexpress for around 70 euros – so more than twice the price of the mini-ZEEWEII however:

  • 50Mhz of bandwidth claimed
  • 2 channels of analog input – very helpful for comparing signals etc
  • built in function generator (with adjustable vpp!) and a multi-meter in a nice portable form-factor

seems like quite a good option if you want 2 channels / need a multimeter anyway… they also have a 1 channel version the ZOYI ZT-702S for 50 euros however this only has 10Mhz bandwidth which is a little on the slower side – could be ok tho…

OWON HDS242 – a solid portable 2ch scope + multi-tool for a bit more

i picked up one of these when i needed a portable scope / multi-tool for some installations i was doing away from my bench. you can get the OWON HDS242 on aliexpress for around 110 euros (+20 euros if you want the optional signal generator also) – it is well made and easy to use. runs at 40Mhz and im sure is better quality than the ZOYI ZT-703S… however im not sure it is worth the almost twice the price with similar specs… especially for my uses as a secondary one – i might sell this and just use the ZEEWEII DSO154Pro for when im away from my bench going forward

a Rigol DS1054Z or similar second-hand ?

these Rigol DS1054Z are professional machines (with lots of features i never touch!) and mine has served me well for many years and will for many more i hope. i think they retail at around 440 euros but i got one less than half that price from a closing mens shed. (plus theres a well documented firmware hack to unlock extra bandwidth!) so always check out the second-hand market before buying anything new!

FG-100 – a cheap signal generator

its not a scope but if you want a cheap signal generator thats not attached to your scope i found these FG-100 DDS Function Generators on aliexpress for around 15 euros to be a good way to add signals to your circuits.

the interface to set the frequency value is awful but i really like how it has a knob for variable amplitude (up to 10vpp) plus another little knob for dc offset!


new product – two_point_one_colorizer in stock now

i am happy to announce that the two_point_one_colorizer circuit based on Rob Schafer’s design is in stock now!

it is currently available as a diy kit or fully assembled and tested unitbare pcbs will also be in stock soon (when my next pcb order comes in)

you can find all the source – schematics, gerbers and documentation on the project github page

theres some more written info about this circuit in an earlier post i made here

im not quite ready to stock front-panels in the shop yet – partially because im still working on how to expose interface parts like the slide switches that sit below the panel – however panel blueprints are available as files for those who want to diy some.

i will make a dedicated intro/demo video for this circuit some time in the coming month – in the meantime however you can see a demo of it in action in this artist talk:

finally i wanted to share some images captured from this circuit (these are all directly into a cheap easycap capture card) – in particular some examples of when it glitches / breaks (due to providing out of spec video):

some of these were captured while i was experimenting with different kinds of monostables to generate the colour subcarrier frequencies – you can see where the oscillations are too slow to be interpreted as colour as start to be interpreted as changes in brightness. i recommend using ic sockets for the parts U9 & U10 so you can experiment with this also!


a bug found in _transcribe_ code

_transcribe_ is a midi to rs232 bridge – for performance control of old video mixers and switchers – it has been available from since our launch in 2023.

by default _transcribe_ comes with mappings to control the panasonic ave55 video mixer however it was designed to be tinkered with and reflashed to map to other devices also (there is code available for mapping to other video mixers and switchers )

recently – due to some diligent debugging between myself and Robert LaPorte – we discovered there is a bug introduced when users modify the default transcribe code that maps the onboard din5-serial-midi input and output to different pins than how they are defined on the circuit.

a fix has been released now so if you are modifying firmware taken from github now this shouldnt be a problem. if you have a transcribe circuit and need any help updating firmware feel free to email me – i am happy to support you with this.

below i will explain what the issue was and why it went undetected:

mapping serial ports

the pro-micro-controller on the _transcribe_ circuit uses three different serial ports:

  • Serial – this connects over the built in usb-port and is used for monitors and debugging
  • Serial1 – this connects to pins 1=Tx, 0=Rx and is used to write to (and can also read from) the Rs232 port
  • AltSerial – this uses PaulStoffregens AltSoftSerial library to add another serial port to the pro-micro – it is used to read / write midi to the din5-serial-midi ports on transcribe:

the sparkfun pro-micro-controller we use is a breakout board for the ATmega32U4 – which is also the uC chip used on Arduino Leonardo

if we take a look at the pin table in AltSoftSerial documentation we can see that the pro-micro is not mentioned but that for Arduino Leonardo the serial pins are set to Tx=5, Rx=13:

however this is a problem for us since the sparkfun-pro-micro does not expose pin13.

in fact if we check _transcribe_s schematic we can see that din-midi-serial in and out are set to Tx=9, Rx=4: (D4 = 4 & B5 = 9)

inside the AltSoftSerial/config/AltSoftSerial_Boards.h L95-L105 we can see an alternative setup using timer1 and TX = 9, RX = 4:

and if i inspect this code on my local machine i can see that yes this config has been modified to switch the altSoftSerial pins to ones that we can use on a pro-micro board.

this means that every time that i upload firmware onto transcribes from my computer it is getting the correct altSoftSerial pin configurations, however – since this modified code sits in the AltSoftSerial package and not in transcribe code – any time someone else pulls down the transcribe firmware themself and uploads the code they are getting the default (unmodified) AltSoftSerial package so are getting that default mapping.

din-midi in and out worked on my machine! but wouldnt on anyone elses – it is my suspicion that only a fraction of transcribe users modify the firmware and also only a fraction use the din-midi ports (since it also supports usb-midi-hosts and usb-midi-devices) so i guess this bug went undetected until now.

the fix is quite easy – i only needed to fork the AltSoftSerial repo – you can see it here – cyberboy666/AltSoftSerial – make these config changes here – and then update the library being linked inside the transcribe code platformio.ini to point to this fork:

lib_deps = 
	felis/USB-Host-Shield-20 @ ^1.3.2
	blokaslabs/USBMIDI @ ^1.1.5

one small thing is that now platformio may ask you to install git on your computer so it can pull directly from this repo – but this can be done quite easily by following the steps here

the main lessons on my side is to:

  • be careful modifying code that is not in your domain – if you are experimenting take notes of what you change and do a compete reinstall of packages before release
  • always test atleast once the install process from another machine – to eliminate any local changes not being reflected in source (i now how a windows ssd in my laptop i can boot into for these and other kinds of tests)

get tickets for my interactive online course building analog video synths!

limited tickets are available to purchase here for the next run of my 6 week online course a few foundations of analog video on breadboard

this course will start Monday 24 June and be weekly for 6 weeks (with 1 week break in the middle) – classes will be at two times:

EARLY09:30-11:30 EDT and LATE 20:30-22:30 EDT and also available as a recording (with help from the chatroom) if you cant make either

vga_breadboard_module and kit

this class is interactive, beginner friendly and one of a kind! – you will receive everything you need to build the vga video synths in the mail including the custom vga_breadboard_module only available through this class (one day i will release this also as a product in the shop)

the last time we did this class it was a lot of fun and i have made some cool new improvements to the module designs and class content since then – i really hope you can join us! please reach out to me if you have any questions

shop update restocked & back from hiatus !

heres some new updates about whats been happening / whats coming up at

after a summer hiatus spent working festivals / installations in new zealand (+ quality holiday time with friends and family) we moved to melbourne, australia in march 2024

current catalog restocked

since being unavailable in the shop since late last year we now have back in stock as pcbs, kits and assembled units for:

plus at least a few of everything else (theres only a couple _transcribe_ units left and these are unlikely to get a restock since i have plans for a newer version of this that will supersede it)

raspberry pi zero w’s in stock

also for the first time i am now stocking a limited number of raspberry pi zero w for recurBOY – if you order one along side an assembled recurBOY i will solder on the 2×20 and 1×2 headers and test the complete unit before sending out to you

a few foundations of analog video on breadboard

i am currently preparing for the second session of my interactive six part online coursea few foundations of analog video on breadboard – the last one we did was a lot of fun – you get a kit with this vga-breadboard module and all the parts to explore a number of circuit designs online with me and others.

the next one will be running this june/july, likely followed by another session in september/october if there is still enough interest. people on the waitlist (found at bottom of the link above) will get offered spots first before a general release of remaining tickets after that – so sign up now to be part of the first release (tickets on sale end of april)

WORKS IN PROGRESS – artist talks / behind the scenes at underscores

i have been doing monthly online talks showing various WIP projects – theres still a couple more of these upcoming – you can find the details here – also check out the recordings of the talks that have been to get an idea of whats coming up:

scanlines x polyphase community showcase

every year in april we celebrate the birthday of community space and forum with an open-call and livestream of recent works – its a fun time to come together and share what everyone is up to! for this one we are combining our screening with the seasonal showcase- check out the forum post / polyphase page for info on how to submit

upcoming releases

i have just built and tested the v1_0_0 release version of two_point_one_colorizer circuit – which i have written about already here – so this should be available in the shop within the next few months (just need to order parts, make kits, write documentation and film a demo video for this)

after this i hope next to release my installation-based software/hardware for tv wall and addressable led mappings followed by some new hardware designs tba

if you want to help support this research into developing open source video instruments please consider buying assembled units, spreading the word or donating directly

shop update updates & summer hiatus

heres a short update about whats been happening and whats coming up here at

summer hiatus

i have decided to effectively close the shop for 2-3 months over the summer here in new zealand starting from monday 27th november. i will be on and off the road for festival work and holidays plus moving out of my studio (and home) to relocate to melbourne.

there wont be any underscores releases or restocks during this time but for any remaining stock it will still be possible to place an order with the understanding that your items will ship by end of feburary 2024 at the latest – i will update here and on the mailing list when we get restocked and settled on the other side.

plans and projects for the new year

once we are settled and im back working in a studio space again i have a lot of projects i want to finish and share with you. heres a few of them:

works in progress

im also planning a monthly series of online talks hosted by where i share and discuss various works in progress from behind the scenes at

as you may have noticed by the sporadic updates, teasers and ideas thrown around here and elsewhere online, im much better at starting new projects than i am at following though, finishing and sharing current ones. im also not that comfortable with sharing too much about upcoming things publicly since it makes me feel bad when i cant meet the self-imposed deadlines or end up shelving them because i get overwhelmed. i want to get better at sharing the process and allowing room for feedback and discussions in these stages though. hopefully this informal format will help with this – would be nice to see you there!

design shop

designing and fabricating front panels for pcbs (using kicad and lightburn)

i’ve spend the last two weeks house-sitting at my parents place while they are on holiday. this has given me time to deep dive into some larger topics i have been meaning to get around to.

one of these topics was the design and fabrication of panels for underscores circuits (having unlimited access to a laser cutter over this time helped!). i made a half vlog / half tutorial style video to document this exploration – you can see on videos.scanlines or on youtube:

types of panels

sometimes i get asked if there are enclosures/front-panels available for the pcbs i sell (there actually have been a few community contributed designs for the recurboy and i_n_c_u_r circuits) but so far nothing from me. this will change soon with the addition of two enclosure options – stand-alone sandwich and eurorack front-panel for the following circuits:

  • sync_ope
  • recurboy
  • _rupture_
  • two_comparator_effect
  • i_n_c_u_r

originally i planned to prototype with laser-cut MDF (and share these files so others can laser-cut also) but only stock the FR-4 versions in the shop (since these would be cheaper and tend to look quite professional) – however after seeing the MDF i think i prefer them to FR-4.. i wonder if there would be any interest in stocking MDF (or even bamboo) lasercut panels too ?

euro-friendly designs

although definitely not eurorack modules themselves a number of these underscores circuits were designed to be euro-friendly, in the sense that you could mount them in eurorack case with the appropriate front-panel if you wanted to.

all the interfacing parts of these circuits are vertically mounted and the pcbs are at most 100mm tall. all circuits run on single-rail power (mostly 5v) but some have footprints for euro-power headers anyway and the others you could mount a vertical barrel-plug on the bottom of the pcb allowing a small eurorack-to-barrel-jack converter to sit inside your case and power from beneath:

as i mentioned in the video there are a few other things to consider when adapting to eurorack – the small slide switches i usually use sit a bit too low for comfortable switching (i would love to try 3d-print some switch-caps for these when i get a printer!) and i would recommend choosing longer shafts on the pots than the ones usually supplied with my kits…

its fun to see them mounted together in a rack like this however this conversion is not the same as an actual eurorack module version of these circuits – which i do plan to design one day (closer to that day now that i finally have a euro-case built) the true eurorack versions will:

  • use smd components and be designed to conserve hp
  • have interface parts chosen to fit panels better rather than prioritizing what is cheapest
  • layout of interface optimized for rack use
  • have proper eurorack power headers
  • hopefully expose some more of the controls with CV

my workflow for creating panels

this is shown with more detail in the video, but here is a written overview:

copy the pcb footprint into a new project and delete everthing except for the edgecuts, silkscreen and any footprints of interface parts

then replace each interface footprint with a edgecut hole to access it from the panel (based on a table of known hole sizes)

arrange the silkscreen however you want the panel to look – 3d viewer in kicad is useful!

when you are happy with how the panel looks you can export it – use the usual GERBER export if you want to get it fab’d in FR-4. my method for getting designs into lightburn was to first export from kicad as SVG and then open these SVGs with inkscape and save a copy as DXF (it seems like lightburn didnt like some of the SVG format that kicad creates)

once in lightburn put the edgecut and silkscreen imports on different layers – you can add thickness to the silkscreen using the offset tool

then set your laser speeds, check the material is lined up with the cutting area and make the cut!

design shop

introducing the two_point_one_colorizer

we have a number of new projects in the works – im hoping to release three more circuits before the end of this year – heres a preview and small overview of one of them!

underscores presents an adaption of Rob Schafer’s two_point_one_colorizer:

history of the project

the original circuit was designed by Rob Schafer on breadboard and shared on the facebook group Video Circuits :

since then Rob has moved on from working with composite video – (check out his youtube channel to follow his exploration of HD analog video) – but my interest in this circuit remains!

how it works

the way this circuit creates colour is both genius and extremely hacky!

the first stage is very similar to another underscores circuit adapted from Rob Schafer – the two_comparator_effect :

the signal passes through two comparator stages – reducing the signal down to this posterized effect with only white, grey and black visible – two_point_one_colorizer is similar but instead creates two colours plus black (hence the two point one)

colour on composite video is created with a sub-carrier signal – an extremely fast sine wave that runs over-top of the luminance signal:

the hue is selected by the phase difference between this sub-carrier signal and the colour burst reference.

on the next stage of the two_point_one_colorizer a sub-carrier signal is approximated using high-speed monostables and overlaid over these ‘white’ and ‘grey’ portions of the comparator outputs:

monostables generate square waves with variable pulse widths -which at this speed can approximate the sub-carrier signal with variable offsets (hue) – inverters are also used to shift the offset by 180 degrees – since this approximation is not perfect some colours are easier to generate than others – and some displays are more or less picky than others.

what i love about this approach is that it is less precise and predictable than (for example) generating colours with an rgb encoder – you end up getting some really unexpected results – and also some great colour glitches as the tv decoders struggle to make sense of the out-of-spec signal:

the adaption

back in 2020 i made a start trying to adapt this design to pcb with help from Rob and others from the scanlines community – a few of the mods made to the original design include:

  • simplifying the sync and burst pulse portions by using lm1881 instead of doing this more ‘manually’
  • swapping out the monostables for another ic – similar in spec but around 1/10th of the price (can still swap out for robs original ic if you would like!)
  • adding video by-pass toggle – making the circuit more usable in larger signal chains
  • adding more control over colour selection – a master colour offset that changes both channels together and sub-carrier amplitude that changes colour saturation
  • (attempting to) adapt the circuit to also work on pal cvbs – adding a switch to select sub-carrier frequency and also logic to implement Phase-Alternating-Lines

PAL troubles

i got a bit stuck on the PAL compatible part of the mod and ended up shelving this project for a bit while i focused on working towards the shop launch and polishing other projects.. still not sure that the PAL version is perfect – the Phase-Alternating-Lines mod never quite worked how i expected and the range of colours seems a bit less (could be just due to PALs faster sub-carrier though since the monostables are already being pushed to limits with NTSC). im sure there will be some displays that wont show any colours for PAL but to my surprise the three monitors i tested it on in my studio all worked with NTSC and PAL (a crt tv, a small car-reversing lcd and a easycap capture card)

the nature of this project is hacky and experimental so it is already wishful thinking to have it running consistently on all displays – I think the current version would be a useful tool in the studio of many composite video artists and im excited to see it out in the world!


a few foundations of analog video on breadboard – an interactive six part online course

things have seemed a bit quiet over on the research side of underscores lately – and not for lack of a (growing) backlog of interesting diy projects that we want to release !

introducing Polyphase Portal

its partly because i’ve been putting more time recently into an exciting side-quest: polyphaseportal.xyzan educational focused online space and media-art collective

together with some friends, organizers and educators we are creating a new online space to host educational programmes such as talks, live-streams, workshops and multi-week courses. taking encouragement from the success of PHASE SPACE in NYC we are aiming to facilitate accessible non-hierarchical learning over open and ethical technology – find out more at & join the polyphase mailing list to stay in the loop!

a few foundations of analog video on breadboard

which brings me to the next announcement – im teaching an online course !

you can read more about it and join the class wait-list on the Polyphase Portal here

no prior experience or specialized equipment is needed – this course will focus on the practical side of building modules on breadboards – you will receive a course materials kit in the mail that includes all the parts and components we will use.

the course makes use of this custom vga_breadboard_module pcb to interface between vga signals and the breadboard.

one day i hope to make this circuit and the corresponding course material kits + module designs available in the shop as stand-alone products you can build and learn from independent of this online course – but for now if you are interested you should sign up – it will be fun!


recurBOY update

since the underscores soft-launch there has been a few updates to the recurBOY project:

hardware update

the recurBOY circuit depends on more harder-to-source components than others in the underscores catalog. This is because it was originally designed only to be built together in group soldering sessions – where we would source all the parts for the workshop beforehand.

Now that it is a fully open diy project (with some people sourcing the parts for themselves) I have updated the build guide with more information about selecting these parts

recurBOY uses a 1.8 inch tft display (ST7735S) in a form-factor commonly found on ebay/amazon/aliexpress – unfortunately this is not compatible with the waveshare version – who i have found to be a reliable supplier of display hardware in the past (perhaps a future hardware revision should somehow allow this version of the display to be used also ?)

a bunch of screens to test

based on some feedback from users + my own exploration of testing these displays, I found that some of them were not working on the recurBOY r0.6 pcb. However when i tested the same (faulty?) displays with pin-jumpers wired to the pi directly they would always work!?

A laborious process of trial and error discovered that in particular the SDA pin ie SPI data input between screen and rpi was the problem – soldering a floating wire to this was enough to consistently fix this issue across all the “faulty” screens i tested.

the DISPLAY_SDA trace between PIN38 on pi and PIN5 on display is the problem!

I couldnt really see any difference to the signal before and after this “fix” on the scope, but my best guess is that the trace on the pcb is a bit too weak for some screens to read it.

example of part of the SPI message on SDA pin

I updated the pcb to make this trace much bolder – bumping circuit from v0_6 to v0_7_1 (v0_7_0 fixed it also but accidentally broke a trace on the rca out – whoops) and now every screen that I have tested works

same schematic -> different pcb !

all of this could have been avoided if we had selected a more reliable part from a reputable supplier – however this could incur also a large increase in price for the project + ( potentially ) more difficulty for diy-er to source in small batches.

for as long as we design with hacky parts occasionally we will need to make hacky updates – and i stand by this decision !

open projects have the flexibility to adapt to their changing surroundings and this is a good example of that!

software update

recurBOY was designed to distill some of the best parts of a r_e_c_u_r video sampler while running on cheaper hardware (a rpi_zero) and keeping the interface simple.

one feature of r_e_c_u_r that i use often and miss with my recurBOY is processing live-video feed (eg from a camera or another video-synth)

processing live input

running input from a piCamera over csi into recurBOY proved to be too much for the pi_zero to handle. To my surprise however it could seem to handle input from a usb-video device like EasyCap capture cards

i cant guarantee it will work with any usb-video-input , but now if recurBOY detects a device on startup you will get access to a third source mode that allows you to preview that input and apply effects to it !

self-portraits w recurBOY digitial effects !

img file & other updates

you can download new image file and see the full list of changes on the v2.1.0 release page but in short, a few of the other ‘quick wins’ i also added in this release:

  • usb_midi support – including independent shaderParam and effectParam controls
  • sampler mode now plays images – jpeg/jpg, png & gif (single image only) supported
  • output sd over hdmi – defaults to 640×480 and seems to handle this without lag

please let me know if you have any issues or find bugs in this release – it has only been tested by me so far (i will keep old image up too if you need the stability)

when looking for things to update i rely on the issue tracker on github – no promises but putting your suggestions here is the best way to have them noticed!