Rescuing the makerspace's vintage microcontrollers
I recently joined my local makerspace, and one of the exciting1 things there is this shelf of electronic components, available for all members to use:
I felt a bit like an archeologist going through these. Everything in them, apart from some Arduinos and Raspberry Pi related stuff in the middle shelves, seems to be at least thirty years old! There’s the usual selection of resistors, capacitors, transistors, and other small through-hole components. Among the more complex things, a lot seems to be loosely audio-related - amps, signal generators and the like (I bet someone could make some cool synths!). There are a load of old-school UV-light-erasable EPROMs.
What interested me most, though, was a huge stash of PLCC ICs. Just look at this!
What are these?
Can I build something with them and finally release them from their component drawer purgatory?
Archeology
In the front section are what look like Signetics chips with these markings:
[Signetics logo] 8450
SCN8031H
CCA44 E
This took a little time to decode. Turns out the part number wraps around - this is an SCN8031HCCA44. The only other text - 8450 - is likely the date code, suggesting these were produced in week 50 - mid December - of 1984. Here’s a data sheet!
In the back section there are a bunch of OKI ICs, with these markings:
79X1396
M83C154-42
©️OKI '80/85
JAPAN 94000
These seem to be M83C154-42s. Presuming the date code is 94000, they were made in January 1994 (although it does seem weirdly ’lucky’ that these were produced in the 0th week of the year!).
It took a bit of time to find the right data sheet for these. OKI seems to have omitted an MS prefix on the part number. And search engines love to return a data sheet for the MSM83C154S - a newer variant2 . Finally, though, I hit upon this older data sheet specifically for the MSM80C154/MSM83C154, and this Archive.org copy of OKI’s 1986 ‘Data Book’, which also contains the data sheet. If these ICs are from 1994, they’re from near the end of the production timespan.
Findings
What did the data sheets tell me?
Both the Signetics SCN8031H and the OKI MSM83C154 are Intel MCS-51 compatible microcontrollers (although the data sheets are strangely coy about this - legal reasons?), with pretty much identical pin-outs.
Unlike basically any modern microcontrollers, neither of these contain any flash ROM. They need the program to be on a separate ROM, connected with an 8- or 16-bit wide bus (depending on how much space you need for your code). This certainly explains all the EPROMs also in the cabinets!3
The OKI chips are a little better specced than the Signetics ones; 16 vs 12 MHz top speed, 256 bytes of internal RAM vs 128, an extra interrupt, 3 timers (one of them 32 bits!) vs 2. It seems like the OKI chips are more like the Intel 8052, and the Signetics chips are more like the older 8051.
Other capabilities will feel familiar to anyone used to modern microcontrollers. There is a UART (serial port), 32 GPIO pins (or “I/O lines” as the data sheet call them), and various other peripheral functions. The GPIO count drops in practical use though. If you want to use external ROM and/or RAM, this repurposes at least eight pins (and I’ll be required to do this because I’m not going to be sending code to be placed in the ROM during manufacturing…). And, just like on a modern microcontroller, more of the pins get repurposed if you want to connect them to the UART, timer, interrupts etc.
This ‘Logic Symbol’ from the Signetics data sheet sums things up pretty well!
Building
Okay, let’s build something!
Around the time I discovered these chips, I’d been tinkering with WS2812 LEDs (aka “NeoPixels”). We use strings of them as Christmas lights, and I’ve also been playing with using strips in a status display for our home solar system.
When brushing up on them, I found Josh Levine’s excellent series on driving WS2812s, which ends with a couple of posts about building massive scrolling ticker signs - driving a bunch of strips simultaneously, one for each line of pixels.
Could I drive these modern LED strips with these old pre-Internet4 microcontrollers?
It seems like it should be possible—and figuring it out should be a fun puzzle.
In this series of posts, I’ll be attempting just that. Will I be able to make an LED sign controller using components only from the makerspace’s ancient stash?
Join me in this anachronistic journey!
-
This is how everyone feels about stuff like this, right? ↩︎
-
The trailing
Sin those newer data sheets is meaningful - it signifies a faster variant introduced in the late 90s. ↩︎ -
There are variants of both these chips with an internal ROM, so you can sort-of store your firmware directly on them like with a modern microcontroller. To do this, you would’ve sent your code (probably literally, by mail) to Signetics or OKI, then they would do a production run for you with your code built in. This would be prohibitively expensive for prototyping or for a hobbyist - but much cheaper than getting a load of ROMs or EPROMs made if you were making mass-market product. Better make sure the code you send is correct - there’s no updating the firmware later! ↩︎
-
or, if you want to argue, pre-Web at least. ↩︎