You won't believe what this dated oddball $8 microcontroller can do with video!

I don’t know much about embedded systems - only very recently have i ventured out of the safety of ArduinoLand, so everything i write is only gleaned from what i found online - hopefully people who know more can weigh in too.

That said there is no denying that the Parallax Propeller is a rather unusual microcontroller.

the first unusual thing i found while reading the wikipedia page was that Parallax Inc. the company who designs, manufactures, and sells Propeller microcontrollers was founded and is run by someone called Chip. (haha)

the main unusual thing is the multi-core parallel processor architecture with 8 cores . each core (which parallax calls a cog) has a 32bit cpu, its own memory and access to the shared memory controlled by a central hub.

(and this is what caught my attention) from wikipedia:

Each cog also has access to two dedicated hardware counters and a special video generator for use in generating timing signals for Phase Alternating Line (PAL), National Television System Committee (NTSC) and Video Graphics Array (VGA)

a deeper dive into the video gen documentation confirmed directly what i was hoping:

Yes. Each of the Propeller chip’s 8 cogs has its own video generator hardware that transmits 32-bit chunks of video image data at a configurable rate. Since each cog operates independently, up to eight video signals could be generated simultaneously.

somehow this fact just really captured my imagination ! generating 8 analog video signals in parallel, in colour! (even if lowfi) with a single uC is crazy! even today 14 years after the this chip was released.

14 years is a long time for silicon, and it seems the market and community has mostly moved on. searching the web is full of broken links and posts from 2012 and earlier. you can still buy it from mouser but accessories like this cool raspberry pi Propeller HAT from Pimoroni is long out of production.

another interesting part is the custom language SPIN that runs on it - highlevel, interpreted and whitespace formatted (sounds a bit like the micropython that is gaining popularity on embedded systems today!) this is what a hello world/blinkly looks like:

CON
  _CLKMODE = xtal1 + pll16x
  _XINFREQ = 6_000_000

  MY_LED_PIN = 0 ' Use pin A0

PUB main
  DIRA[MY_LED_PIN] := 1 ' Set the LED pin to an output

  repeat ' Repeat forever
    OUTA[MY_LED_PIN] := 1  ' Turn the LED on
    waitcnt(cnt + clkfreq) ' Wait 1 second
                           ' cnt is the clock tick counter,
                           ' clkfreq is the number of clock ticks in a second
    OUTA[MY_LED_PIN] := 0  ' Turn the LED off
    waitcnt(cnt + clkfreq) ' Wait 1 second

you also can program it in pasm the low-level assembler language, or use the Propeller-GCC compiler to write in C.

another thing that i like about the Propeller is that it is completely open source hardware and software - everything from the Verilog/HDL code to Spin interpreter and IDE. It also just sounded like a nice beginner/hacker friendly community - although dated now they obviously put a lot of effort into tutorials and educational resources at the time - getting processing power on DIP is a also nice change to todays TQFP market. plus can you imagine casually chatting with the CEO of Atmel on their forum ?

the only video-art related project using a propeller that i know of is the Cat Full of Ghosts Video Equation (this is how i first heard of these):

an awesome colour character and pattern generator ! this design only uses one video output (im not sure how many cogs are used in the program though - the code is not available as far as i know)

Since 2014 Parallax has been working on the Propeller2, (with over 10x performance gains and new max clock speed of 200 MHz) and now you can even experiment with it - either with limited-edition boards/ silicon samples or design emulation on supported FPGAs

what video/art applications could you imagine with a cheap uC that generates up to 8 parallel video signals ?

an example of analog video input on a p2 !

5 Likes

well if theres RAM involved at a bare minimum you could do some crazy cellular automata stuffs with this. i guess my first question can you configure the 8 cores to work on a single video output as well? the frustrating thing about having 8 seperate video sources would be the usual one where it gets a little awkward to mix them together without having a rack…tho if they all have the same clock then theoretically they should all be synced so maybe a dirty mixer matrix for blending added in as well?

1 Like

this is the kind of clickbait i am all about!

i’m picturing an installation with 8 CRT monitors. perhaps cellular automata / generative patterns that can move between the screens as though they were fragments of a continuous image field.

1 Like

yeah if you had enough ram to manage things this could be just like a single purpose 2x4 screen based game of life

1 Like

heck yeah ! for simple multichannel applications would sure be cheaper than buying 8 raspberry pis

you can use multiple cores on a single output - this is the most common use case i think. and it is a good question if multiple outputs could be in sync - i think yes since the hardware timers could all be reset from the central hub. i agree some kind of mixing matrix would be sweet.

the p2 has 512 KB shared RAM (compared to only 32 KB on the p1) so i guess will be able to handle higher resolutions than what you can see on the video-equations example above - also one option could be to add extra external ram to the circuit maybe ? (update: yes it seems they have drivers on p2 for adding HyperRam for doing video things )

it also occurred to me over night that ming mecca , that video-game instrument might be using propeller , since the aesthetic is similar to what iv seen with video-equations. a quick google search and there it was !

this is the micro which is the midi controlled version, but im sure the voltage controlled one also has the same core.

this video is pretty sweet haha. had completely forgotten about these - i would have liked to build one. its a shame their website is down, and i cant see any links to the diy material they published. maybe will find something with some more digging

2 Likes

i forgot about the ming micro too ! i remember seeing that before they were available and being excited about them. also, i think those folks have a special talent for making demo videos too. i was just reminded of this one that i saw back in like 2013 or something:

3 Likes

I have a Ming Micro! If anyone has the max patches that came with this thing I’d be stoked to use it again. I remember it paired nicely with some midi patches that I lost on a dead laptop. I could write my own I guess but it was lots of midi channels and CC and I’d be mostly guessing/trial and error without knowing what does what. If anyone’s gottem though holler!

1 Like

@ghostdad here’s all the stuff that came on the ming micro SD card! https://wetransfer.com/downloads/38ec3a70375d88dd564dbf1666f115cb20201123000101/791d6f4ac0acdce0443a992869d9a86c20201123000336/d3c4a3

2 Likes

thanks very helpful! I don’t seem to see any max patches in there. I remember having some that spoke to the ming and accessed all the sprites and stuff in a hurry. If I’m remembering that right?

hmm, that’s all that was included…not sure about the max patches, but please share them if you find them!