This year, the Supercon badge goes analog! (Or at least fakes it pretty convincingly.) Taking inspiration from the phosphor scopes of yesteryear, the 2023 Vectorscope badge is part analog audio playground, part art project, and all about prototyping. Who doesn’t like the warm glow and lovely green fade of an old Tektronix tube scope? That’s what we’re after.
Conceptually, the badge is two separate devices in one. Most obvious is the vectorscope, which takes in voltages in the 0 V – 3 V range and plots them out in X-Y mode in glorious fake-phosphor effect on the lovely round IPS screen. We’ve also tied an audio amplifier to the Y input that plays whatever waveform you’re watching.
But you don’t have to bring your own waveforms with you – the other half of the badge is an arbitrary programmable waveform generator that drives two channels. Off the bat, it’s configurable with the front panel controls, so you’re obviously invited to make Lissajous figures and store them in the program memories.
Combining the two halves lets you draw in voltages and time, but not until you connect them together, naturally. You see, this isn’t an analog simulation – it’s the programmable equivalent of the real deal, courtesy of the AK4619 ADC/DAC. Voltages go out on one set of pins and come back in on the other.
And you get to play around with these voltages in through-hole space too, because we’ve included a very generous prototyping board for your analog explorations. Does this instantly suggest a curve tracer to you? Be our guest! Other forms of analog video-mangling? We want to see what you come up with. Make an audio filter and watch it work on the screen in front of your very eyes.
Of course we’re not leaving you code monkeys out in the cold. MicroPython puts the “programming” in the programmable waveform generator. If you’re not content with the four stock waveforms, you’re invited to write your own. And this is where it gets artsy.
You can upload your own repetitive waveforms to the onboard direct digital synth routine, but why stop there? We’ve left most of the processing power of the underlying RP2040 untouched, for you to use. And four buttons on the front panel let you store and play back your code, so you have space to stash your demos, and a sweet joystick with a custom keycap gives you control.
Inspiration
What can you do with a vectorscope, a joystick, and two times 125 MHz of processing power to drive the beam? Asteroids and Lunar Lander were written with less! On the other end of the complexity spectrum, we’ve included a convenient system tick for writing parametric functions of time. Honestly, floating point math and trigonometric functions are a little slow on the RP2040, but we’re sure you’ll be coding curves in no time. We’d really like to see a Fourier series expansion of the Jolly Wrencher, but that might light the CPU on fire.
Have you seen [Jerrobeam Fenderson]’s exquisite oscilloscope music? That’s the reason that there an audio amplifier on the scope’s Y channel. Or go for [Japhy Riddle]’s comedy version.
And what is a roundup of vector display art without mentioning the vast world of laser shows? We’re sure there has to be a lot of dynamic vector art out there in ILDA format. Anyone know of any good sources?
On the hardware side, we’d like to remind you that echoes, reverb, distortion pedals, and all sorts of sound effects are pretty neat when applied to video signals. Or skip the waveform generator altogether and bring your own oscillators! As long as you keep the voltages in the 0 V – 3 V range, you can do whatever you want. All those synth DIY circuits rattling around in your skull? Time to make them real.
What else is good to do with a vector display? Sound off in the comments and/or start your research now.
Under the Hood
We’d been thinking of doing something analog this year, because we’ve been heavily digital with the 2019 FPGA badge and last year’s virtual retrocomputer. [Sebastian Holzapfel]’s Eurorack FPGA frontend showed us how to abuse the AK4619 ADC/DAC chip for DC voltage purposes, and our path was clearer still. Finally, [Schneider] showed us the prototypes for the flow3r badge for this summer’s Chaos Camp in Berlin, and we needed to make a vintage round-screen scope.
All of the heavy lifting is done behind the scenes using the RP2040’s programmable IO (PIO) blocks and the DMA subsystem. We’ll give a badge talk where we dive into detail once the dust on the code has settled, but the short version is that these funny little machines are chained together to pull in 120,000 bytes per second from the ADCs, trim them down, convert from uint
to int
, and store them temporarily in memory.
Meanwhile, another DMA takes the sample data, formats it up into pixel commands for the LCD screen, and pushes it out using another custom PIO routine. A timer-driven interrupt also fires off occasionally to feed the DAC and make the voltages. And all of this with essentially 0% CPU usage.
MicroPython is an interesting companion to this kind of system. It provides a live console, a convenient programming language, and all of the niceties you’d expect from a higher-level language. And since most of the grunt work is done on the chip’s hardware, it’s just fine that it’s not quite as fast as a compiled language.
Start Your Engines
What do you want to do with the badge? If you want to make some nice vector art, and you’re already a bit comfortable with Python, then gather up some cool conceptual ideas, and you’re all set! If you’re tempted to play around on the analog side of life, start breadboarding up your distortion or delay circuits now. The expansion board be waiting for you.
If you’ve never worked with MicroPython before, we heartily recommend Thonny for a simple IDE. Just select “Pi Pico” in Tools..Options..Interpreter, plug in a USB cable, and you’re off and running. For transferring files and/or using your own editor in conjunction with the MicroPython system, we use mpremote, which gives you a terminal, lets you mount and copy files to the Pico’s filesystem, and basically makes working on the microcontroller super pleasant.
If you think you want to design some custom hardware to go along with the badge, the signal generator and scope outputs and inputs are nine pins wide at 0.1” spacing. The extra pins broken out in through-holes? We’ll have wire and soldering irons.
With two weeks to go until Supercon, the speakers are all lined up, the catering is ordered, and the tickets are all sold out. (But hop on the waiting list if you’re interested, because someone always cancels.) See you all soon!
PS: The custom-made joystick caps will probably be black by the time you get them, the code might even be finished, and we’ve already taken care of those bodge wires.
What a beautiful badge! I’m glad I’ve been brushing up on trig functions lately. That round screen is going to be fun to work with.
Ya!
I’d love to see this connected to a Vectrex. They don’t normally work well with digital scopes in XY mode but this has different characteristics that might work.
In the strangest turn of events, [Sprite_tm] has a Vectrex-on-CRT project talk. I swear, we didn’t plan this!
Cool Badge. Seriously, interesting concept.
Finally we know what you meant when writing: “I’m working on a top-secret project,…” in the july article
https://hackaday.com/2023/07/08/99-partspriation/ I always wondered if this was a bout a badge project that maybe someday would be presented in some way here on hackaday, today we know. Unless you have another secret project, but then again, you wouldn’t tell us here and now I guess, that would spoil the secret.
Thanks for the link, I was surprised that it wasn’t mentioned/ linked in his post.
https://hackaday.com/2023/07/08/99-partspriation/
hkhh
hkhh ? Hong Kong Helps Hackers???
If you think you want to design some custom hardware to go along with the badge, the signal generator and scope outputs and inputs are nine pins wide at 0.1” spacing.
Are these available for folks who are unable to attend the conference?
I was wondering that too… yeah, any chance that those who can’t make it to the Con could buy one?
I too would like one. Unfortunately I can’t make it there either.
Add me to the list. This badge would be a blast to tinker with. It would be great if we could download some of the workshops that take advantage of this sweet piece of tech. It would be a lot of fun.
So pretty, I’d love one
I would love to buy one!
I like! Be nifty to get one with a Pico Wifi on board :) . I’d buy one also if it was available…
Fantastic design as always. Kudos!
Soooo, can you get our hands on the repo now or do we have to wait two weeks?
You absolutely have to wait two weeks! And if we can’t get the firmware in shape, you can wait three weeks. :)
Seriously, the hardware is well under way, but the software is still a work in progress. Good thing these things flash fast.
The pretty stuff about the design is on Voja Antonic, BTW.
Well, I’ll be in town Thursday. If you want help kitting these up I already have my hand raised :-D
Very pretty indeed! As they say, I want one!
I would love to buy one (or several) of these beauties. Would be a nice prize to give to the best student project winners of my electronics lab class! Please how can one buy these?
How can one buy these?
Would love to buy some of these to give to my students. Can they be for sale somewhere?
Looking great!
Will miss the very fine food, swag and conversations this year :’)
Sorry to hear that. You will be missed.
We might be planning something a little closer to home in the Spring.
<3
Yay GC9A01 round LCD love!
Thought you’d like it. Synth, scope, round LCD?
I’d love it if one of the extra inputs could default to Z / beam intensity.
So here’s the idea for the Badge Hacking event!
Of course, it’s the first thing I’m planning. Maybe I can make ILDA SAO beforehand hehehe.
These are very good ideas. I think at least an on-off Z channel should be entirely doable.
Since nobody has said it yet — “SHUT UP AND TAKE MY MONEY!”
One more person who can’t attend but would love to buy one
Yeah I can’t attend either but I’d love to purchase one after the fact. As it looks like a blast to play around with.
“Honestly, floating point math and trigonometric functions are a little slow on the RP2040…”
No joke, especially when you program in somrthing as slow as MicroPython on a micro-controller. Pleeeze – graduate beyond the SK (Skrip-Kiddy) phase of evolution!
yeah, most of the interesting sound synthesis code out there requires an FPU and quality filters need double precision too.
Fundamentally, I agree. But I’m sure somebody’s going to do something cool enough with fixed-point and the native 32 bits.
Hell, if it was good enough for the DX7…
The filter you can build in hardware like nature intended. :) PWM on a free digital pin for voltage control?
Yeah for fixed point libraries for audio it should be easy to use the Mozzi library and with more work adapt the Teensy audio library.
The whole point of the badge, however, is to enable the most people to do as much with it, and have as much fun, as possible. Leet posturing and name-calling based on the language used is not welcome in that context.
Besides, your argument is specious. It’s easy enough to add your own C modules in to micropython. Hell, you can even toss in inline Thumb assembly in critical sections.
You wouldn’t do neural net training in pure Python either, yet the Python/C/Fortran blend is what powers all of them in the real world.
It’s really the chip’s lack of native floating point that’s the issue, and that was a hardware choice. I wasn’t worrying so much about the floats at the time. In retrospect, maybe an ESP32 would have been a better fit? But I’m not de-soldering all 550 badges at this point.
The badge looks a little bit like the Pocket Operator drum machine slash synthetiser. I think Eliot mentioned he likes synthetisers, so I’m surprised this option has not been mentioned even on the podcast. The badge has enough of buttons to make weird and wonderful sounds and the add-on board could host even more buttons to make a keyboard-like synth instrument. Possibly link few of the badges together to make a small musical band.
Unfortunately, I didn’t reserve a slot on the family planning calendar early enough to attend this year. BUT, recalling the live action production of additional badges *during* Supercon 2022, I’ll hold out hope that a few of the 2023 version get the same post-show treatment on HaD’s favorite on-line outlet: https://www.tindie.com/products/0xc0decafe/supercon-2022-badge-voja4/
Our 3rd year Electronic Engineering project in ’94 was to turn an analog oscilloscope with X,Y and Z input into a TV, like this project (https://www.youtube.com/watch?v=5FYF5uhCzAM). The irony of trying this on the badge does not escape me :D
How’s the intensity grading work? e.g. will a step change leave a dimmer trace than a slower ramp?
I will add my voice to all those clamoring for this badge to be made available for people who *aren’t* going to Supercon.
Hackaday has a global audience, most of whom can’t (or won’t – think of the carbon footprint!) just jump on a plane and fly to whatever country Supercon is in this year. And Supercon is sold out for 2023 anyway, so even if you live next door you can’t go.
Given that Hackaday actively encourages their readers to sell electronics on Tindie, I respectfully submit that Hackaday should do the same, and make these badges available for mail order.
Any place where people are sharing their demos? I saw some great ones at the Con and would love to try them out on my Vectorscope!