13

This is a somewhat odd question. I teach a course on media history, and spend some time talking about digital data towards the end. I am interested in building a device to illustrate some basic ideas about digital data:

  1. the binary character of digital data
  2. some sense of how it is materially stored and represented
  3. how binary data becomes recognizable/usable as, for instance, a numerical value, an ASCII character, part of an RGB value, through being interpreted by a variety of formats

So, imagine eight switches, each of which represents a bit—the unit as a whole represents a single byte. By manipulating the switches we change the value represented by the byte; this device could be connected to a screen or television, and the value (binary, hex, decimal, and perhaps ASCII) could be displayed on a screen. I could imagine putting together some LEDs, some cheap switches, and an Arduino or a Raspberry Pi to make such a device.

But, ideally, I'd like to use vintage parts, so that this device could not simply illustrate binary, but also provide at least a glimpse of the ways that binary data has been physically represented. My general understanding is that in early computing, pre-solid state technology, a bit would represented by a single vacuum tube. Is there a feasible way to build a byte using vacuum tubes, whose value could be changed with electrical switches, and then have some sort of interface to connect it to a Pi (or something else) to read its value and output it to a screen?

I've seen, for instance, this video with a device similar to what I'm interested in. I don't need it to be as authentic; I can use newer vacuum tubes. I could also use something that isn't a vacuum tube (I could use individual transistors for instance). I like the idea of vacuum tubes chiefly because it can help illustrate a longer history of computing technologies.

So, denizens of Stack Exchange, any ideas? Is this feasible?

3
  • 2
    This is rather broad. There are any number of ways that you could do this.
    – Chenmunka
    May 11, 2018 at 15:08
  • 4
    @Chenmunka yes, it is, and usually I'd strongly vote for closing, but I would love to keep it as it's anways a nice to think how old techonlogy can be used for teaching. Especially since this involves common missconceptions.
    – Raffzahn
    May 11, 2018 at 16:53
  • I added some images and stuff to my answer.
    – Spektre
    May 13, 2018 at 4:04

7 Answers 7

13

Switching Tech

  1. Tubes

    I do not recommend to use them because you would need to deal with high voltage and heat dissipation which can be potentially dangerous especially in class (pupils do not act with self preservation in mind sometimes).

    tube

  2. Relays

    Very nice alternative. Easy to understand (switch with electromagnet) using single low voltage (5V,12V,48V). They are still used and produced so you might have no problem obtaining them. My best bet would be to use the transparent ones where you can see the coil and switches... They natively provide functionality of NOT(/),COPY(1) gates and more of them can be combined into AND(&),OR(1),NAND,NOR gates easily in an understandable way even for people with almost no electric engineering knowledge. They usually have more than just single switch so in case of more complex logic circuits you do not need to add more relays per gate using the same input signal (unlike TTL) so the number of used relays is not proportional to number of logic gates (up to a point).

    The disadvantage is they are noisy (not an issue for low speeds and small number of relays) and current hungry (should prefer the low power ones) they will eat up significant amount of current so you need to have adequate power supply.

    relay

  3. Transistors

    These are the best from performance and power consumption perspective but for your purpose they might not be as educational as the previous options. On the other hand with transistors you will need to add a lot of passive components to make hem work safely.

  4. Diodes

    Yes even diodes are used for switching in some cases (See DTL technology) but unless LEDs are used they might not be as educational too.

  5. Resistors

    some gates are doable with passive component too like Wire OR ... might save you some active stuff... But not usable with power hungry switching like relays without amplification or serious heat problems.

Storage

  1. flip/flop circuit

    usually contained with 2 switching parts looped together. They are booth either copy or negator gate. You might also add some diodes or other gates to decouple Read and Write signals.

  2. Ferrite memories

    using magnetization hysteresis where used in computer in the past (not just tapes and mag strips there where also hybrid ICs for this too)

  3. Dynamic memory DRAM

    It uses capacitance to store data where the medium can be anything even heat (not just electric charge)... but needs a refresh cycle to maintain the data storage time to time

  4. Mechanical memory

    where the data is stores as mechanical state of some moving part like rotation angle of a shaft, or linear position or whatever ...

Display

  1. Numitron/Digitron

    Old glow-tube style character or numeric or combined single digit/character display. There are two types one is segmented (like 7-segment) and the other is layered having one electrode layer per each supported alphanumeric character. If you use tubes than this is the way for display. But it is a tube so read the Tubes topic too.

    digitron numitron [digitron[5]

  2. 7-Segment LED Display

    you need a proper decoder to convert binary to hex/dec for proper 7-Segment display output (there are ICs for that) but can be done with KLO using switching gates (even with relays). These displays are still in use so you should have no problem obtaining it. If you want old look you can even use light bulbs organized in a similar manner instead.

    7-segment

    Binary Coded Decimal BCD is your friend.

    BCD to 7 segment decoder

  3. LED

    this is suitable for binary output of your Byte. Also you can use light bulbs instead. LEDs are combinable with any of the switching technologies you just add proper resistor. On the other hand Light bulbs are power hungry and require power switching so you would need to adjust the final gates for them.

  4. VGA

    You can use small MCU to generate VGA signal directly with your BYTE number (AVR32 like AT32UC3A is powerful enough for this task)

  5. PC

    You can send the BYTE to PC and display it with simple app. You can use RS232 or USB or even LPT (if proper drivers are added to enable access) but this would also require MCU usage.

If I where you I would chose low power 5V or 12V relays and 8 switches 2 x 7 segment display and BCD 2x4 bit encoding. So you would have everything on single board with only single power supply requirement or even on battery power (for limited use) all the logic is doable with relays. You would need 16 for the memory and either 2x BCD to 7 segment decoder or do it on your own (but that would be quite a lot of relays) Interesting would be do one digit with IC and the other with relays to visually show what ICs and integration are for.

Btw may be using push buttons would be better than switches as the switches on it self are form of mechanical memory rendering your memory circuit needless. For example 8x set button and one reset for all bits.

8
  • 2
    There are several kinds of neon display devices. I wouldn't really call a Digitron (Nixie) like you pictured above "seven-segment-like", though there do exist other seven-segment neon displays (e.g. the Numitron). Such displays were very common in pinball machines until they were displaced by graphic displays. On the subject of neon "trons", one of the most interesting is the "Dekatron", which combines counting and readout functions in a single tube that uses cleverly-shaped electrodes to act as a single-digit base-ten counter. I would expect students would be fascinated by such things.
    – supercat
    May 13, 2018 at 20:32
  • 1
    Brilliant answer. I assume you mention tubes first, as the OP mentions them specifically, but pedantically, it would be better to put relays first, since they predated tubes in (proto-) computers (a good part of the success of Colossus at Bletchley Park was that it was (almost) all vacuum tubes instead of electromechanical).
    – TripeHound
    May 14, 2018 at 14:02
  • @supercat yep you're right I did not find any segment like image on quick google search that one has layers of digits instead of segments.
    – Spektre
    May 14, 2018 at 14:34
  • 1
    @Spektre: The Digitron is a formed-character display. If you want to find seven-segment ones, look up "Numitron".
    – supercat
    May 14, 2018 at 14:53
  • @supercat I edited the topic a bit feel free to correct ... tubes are not my cup of tea.
    – Spektre
    May 14, 2018 at 18:39
10

Nice idea. I like it.

Tubes et all.

My general understanding is that in early computing, pre-solid state technology, a bit would represented by a single vacuum tube.

That would be a missconception to start with. A tube doesn't store anything. In 'tube based' computers, tubes (usually triodes) provide a NOT functionality, as AND/OR are made up of resistors and diodes.

But there where some specialized storage tubes, but different from what you imagine. One was the Williams tube, basicly a CRT where dots could be read back. The other was the Selectron tube. also using the same effects, but with a more sohisticated and adapted design. Both vanished soon for core memory.

Havin said that, regular tubes where of course used also to store bits - as part of a Flipflop - but it always (*1) needs two triodes. The first (documented) one would be the Eccles–Jordan trigger circuit (patent filed 1918).

Since double triodes - two triodes in one glas tube - are usually used, the impression may arise that only one tube is needed.

A tube based flipflop may look like this:

enter image description here

The Display (Background)

I could imagine putting together some LEDs, some cheap switches, and an Arduino or a Raspberry Pi to make such a device.

Naa, uncool.

But, ideally, I'd like to use vintage parts, so that this device could not simply illustrate binary, but also provide at least a glimpse of the ways that binary data has been physically represented.

Yes, that's the real way :))

Is there a feasible way to build a byte using vacuum tubes, whose value could be changed with electrical switches,

Yes, it is, and it isn't a lot of work.

and then have some sort of interface to connect it to a Pi (or something else) to read its value and output it to a screen?

Naa, that'll kill the whole effort. I'd strongly suggest to keep complete free of modern computing/controlling parts. Otherwise the pupils may come up with the idea that it's faked anyway. No hidden (or visible) modern devices should be harmed when making this demonstrator :))

I could also use something that isn't a vacuum tube (I could use individual transistors for instance). I like the idea of vacuum tubes chiefly because it can help illustrate a longer history of computing technologies.

As Manassehkatz already pointed out, relays do make a great demonstrator. Here the students can see the bits physically switch. It's even possible to add mechanical markers to display the state of each bit - providing a way to read the data without any electronic support :))

The Display (Suggestion)

Go with a set of relays displaying your data - maybe 4 for a number, or 8 for a byte - configured as a latch holding the last input. To set new data have 4 (or 8) flip switches where any new data can be configured, and a button enabling these setting so be transferred into the latch.

This setup shows that the storage is real and not just the direct result of the switches (like light and lightswitch at home). Data can be changed as often as needed until it's transferred, and stored data won't change until a new transfer is initiated (button pressed).

LEDs can be used in conjunction with the relays and the switches to show each state independently and continuously.

As an addition (or alternative) a decimal input could be constructed (at least for the 4 bit/numeric version). Have 10 buttons (0..9) and a diode matrix to encode them as BCD. Here each switch would trigger the latch right away. Showing much functionality with next to no parts(*2).

In fact, with the numeric version you could use the saved 4 relays to store a second number - like whenever a new input gets stored in the first 4 relays, their content gets transferred to the second first - thus showing even data transfer between latches - and a simple input routine - in pure clear, clicking and moving hardware.

With sufficient contacts on your relays it would be rather easy to extend this with an adder function summing up both digits and displaying the result...

... I'm not getting carried away on that, am I?

Long story short, relays are an extremely handy tool to explain the basics. And you'll be surprised how versatile a large enough bunch of switches is :))

Oh, and one more thing: Relays allow you to build all of this using low voltage, like all 5V (or even below), so no danger as with tubes and neon lamps. Not to mention the way simpler power supply to be used (*3).


*1 - There are designs that can keep a bit with just one tube, but not for generic use

*2 - And no bloaty Java libraries just to convert some input :))

*3 - With a small enough setup a standard USB wall-wart might be enough to supply the device.

12
  • This is a great response; thanks! I am convinced by you, and @manassehkatz, that relays are the way to go. I may not abandon an Arduino output completely, for ease though ;) One point of clarification. So, in vacuum tube computers, a bit (in RAM< or a register, or similar) does not mean a vacuum tube; but does very likely mean a flipflip, which involves 2 triode tubes (which may be packaged together to appear as one glass "tube"). So when a tube-based computer operated on 8-bit memory, there were 8 flipflops representing that memory, correct?
    – cforster
    May 11, 2018 at 18:57
  • 1
    @cforster If the 8-bit memory was implemented in tubes, then yes. But, particularly at levels beyond the "register" level, memory could be implemented in other ways, such as mercury delay lines, that have nothing to do with flip-flops. May 11, 2018 at 19:25
  • 1
    @manassehkatz: Mercury delay lines are nasty because, well, mercury, but acoustic delay lines were actually pretty common inside a number of old calculator designs.
    – supercat
    May 14, 2018 at 14:47
  • I wonder if anyone constructed vacuum tubes with internal connections that were optimized for computing applications? For example, a tube with three anodes around a common cathode, where anodes #1 and #2 had a grid attached to cathode #3, and anode #3 had a grid attached to cathode #2, and each anode also had a separate grid, could act as an addressable memory bit with seven non-filament connections. Do you know if such things were ever done?
    – supercat
    May 14, 2018 at 20:44
  • There have been zillions of very special tubes over the years, so maybe even variations that would have reduced the amount of seperate tubes needed for computing. But I doubt that. Unlike the general impression tells, tubes wheren't the main parts in 'tube' computers - just the most easy to tell ones. But more important, the age of tube computers did last not even a decade. During that time improvements in modularization (like IBM did) as well as more reliable diodes (and tubes) and smaler resistors where more relevant to create reliable and cheaper computers than more complex tubes.
    – Raffzahn
    May 14, 2018 at 21:00
9

My suggestion would be to use relays. Still readily available, and while you wouldn't be using vintage parts, there were definitely some computers built with relays. Can't handle as high speed as well as good vacuum tubes, but that isn't an issue here. The good part is that even if you can't see much - which will depend on the relay, you can hear every click. Audible feedback for every bit change.

3
  • Adding audio output to a class on media history is a definite bonus May 11, 2018 at 14:22
  • Vacuum tubes seem to be making a comeback. While very hard to find for awhile, the last few hamfests I've been to offered huge selections. May 11, 2018 at 15:26
  • 4
    With relays you won't have to deal with the high voltage power for vacuum tubes, and the heat either.
    – Erik Eidt
    May 11, 2018 at 17:12
4

I'm personally intrigued by the use of neon lamps for storage, and although neon logic wasn't employed for anything particularly complicated back in the day, this could be a good application for it. A neon lamp will behave as a sort of switch that will not conduct until a certain voltage is applied, but once it does it will continue to conduct as long as a certain minimum current is allowed through. An oscillator can be constructed easily using a neon bulb, 1-3 resistors, and a capacitor. Adding additional resistors and capacitors will make it possible to produce things like counters and other forms of logic without any other kind of switching device.

While the switching characteristics of neon lamps aren't ideal for practical logic, they would offer an advantage for your scenario: their operation is nicely visible. Relays could also work, and would have some other advantages, but most relays don't offer the same nice visual. Perhaps the ideal would be to combine relay logic and neon logic. I'm not sure whether such a thing could be made reliable without having to tweak every individual component, but I think it would be possible to construct a neon-based RAM by placing lamps, each with a series resistor, on a grid.

Idle rows would sit at about 30 volts, and idle columns at about 60. To read a row, drive it to 0 volts and sense which columns have an increase in current (that would be the part I'm least certain about). To set clear a row, raise it to 60 volts. Then to set some bits in a row, drive it to 0 volts while driving some columns to 90 volts.

Even if you couldn't manage to read anything from the neon storage arrangement, it might still be interesting as a write-only display device. If you had an assembly with e.g. an 4x4 or 8x8 grid, a power supply input, and resistors to handle the idle row/column currents, along with a 10-pin or 20-pin connector to attach a controller board, you could demonstrate that the lights could hold their state even with the controller board disconnected.

1
  • 1
    To add to the fun, neon lamps are light sensitive: exposure to bright light lowers the voltage at which they conduct. And a bank of them will interact (to a small degree).
    – HABO
    May 11, 2018 at 15:30
2

You may be interested in this video about the restoration of a module with 8 vacuum tubes that looks very similar to the one in your video, but is a key debouncer. Details here and here.

It's pretty unlikely that the module shown in your video is really "8 bits", unless the mainframe had internal registers that really used vacuum tubes instead of something else. Usually, the vacuum tubes were used for logic.

That said, "8 bits" is an abstract concept: 8 switches already represent 8 bits, no other parts needed.

If you want to add some impressive-looking electronics, you could consider adding a 9th switch to store the value of the switches, this is called a D-Latch or D-Flip-Flop. You can implement one with vacuum tubes, relays, transistors, and it's not that difficult to do. So, certainly feasible.

The details of that are probably better suited to an electronics forum than here, though.

3
  • Vacuum tubes would've been used for logic in the form registers and latches that could hold data just like transistors on ICs do today.
    – user722
    May 11, 2018 at 16:34
  • Thanks for the video. It also led me to this series on relay computers, which is proving really helpful.
    – cforster
    May 11, 2018 at 19:02
  • @RossRidge: The point I was trying to make is that while you certainly can use vacuum tubes to implement registers, it's too expensive to do so, which is why early vacuum tube computers used e.g. short mercury delay lines even for the registers.
    – dirkt
    May 12, 2018 at 6:16
1

Have done so long ago (RS F/F for a demonstration), without introducing brutal voltages, have lost the schematics :(

What I remember is that I used an E88CC (6DJ8), with either 12V or 24V as an anode voltage and 6.3V as both heater and negative bias. Standard flip flop circuit. This was not capable of driving a standard LED directly (and low current LEDs weren't at hand), so a lamp driver had to be hidden in the set up.

You will need one tube per bit - tubes with more than two triode or higher order systems per bulb are rare (unless you count in VFD displays - these are actually vacuum tube arrays, though very low gain).

If running such low voltages with vacuum tubes, there might be a need to use variable resistors and tune the operating points just right.

There were special vacuum tubes for low voltage use: So called space charge tubes, and later some optimized designs for car radio use. Both are likely too rare for such a project.

...

EDIT: non-multiplexed VFD displays might actually make the perfect indicator for your bytes - they need very low drive currents, and could share a, say, +30V or +48V environment with your tubes very comfortably. Unlike nixies, they do come in 7 segment styles and need no really lethal voltages - decoding circuitry could be tricky though :)

4
  • Conversion of a one-hot signal to a seven-segment readout could be done fairly easily with 50 semiconductor diodes. Selenium diodes might need to be doubled up for such purposes (Wiki says they were good for about 25 volts each) but even in the 1960s that would have been about $1 worth of diodes. Nowadays of course one would use silicon diodes, but the technique would have been practical (using selenium diodes) even when silicon ones were expensive.
    – supercat
    May 17, 2018 at 19:48
  • Germanium diodes were perfectly present during most of the vacuum tube era, and there were 90V Vrr capable types... May 18, 2018 at 8:40
  • How cheap were germanium diodes? The Wiki page on selenium rectifiers suggested that single unit diodes used for logic were less than $0.01 each which would seem like a hard price to beat.
    – supercat
    May 18, 2018 at 14:41
  • Selenium diodes were used together with relays in telephone exchange logic a lot, less so with vacuum tubes.... maybe they were slow? Certainly, if you plan to experiment with selenium diodes, there are a few hazards to be aware of. If they are "open faced" designs with the rectifier element exposed, wash your hands after touching them, there are cadmium compounds in there. Also, never give them serious overcurrent, they are quick to fail catastrophically and known to emit nasty and toxic smoke when burning up. May 19, 2018 at 10:41
0

At one time I had several dozen vacuum tube flip flops. I have no idea of their original origin or use. They used 12AX7 tubes (a dual triode) and were packaged in a die-cast housing with an octal plug on the bottom so that the entire circuit could be easily replaced. Nearly all digital circuitry I was involved with during the late 60's and early 70's involved counting and displaying pulses from nuclear counters. The most popular (and simplest) used the aforementioned dekatron tubes that combined counting and display functions in a single device; no help for your use, but in fact their circuitry DID require a single flip-flop. I like the idea of using relays, but would suggest that you use individual incandescent light bulbs as displays for historic accuracy and "coolness". LED's didn't exist alongside tubes, and were initially expensive. Also, don't get hung up on binary or byte oriented operation. Many of the devices of the day used base 10 counting/computing because the logic involved in converting from binary was prohibitive. (Hence the dekatron, which counted 0 to 9, and produced a "carry" pulse on the 9 to 0 transition.)

7
  • The logic to convert from binary to decimal isn't particularly expensive if one doesn't need to do the conversion particularly quickly. I think the bigger issues are that (1) it was useful to display multiple values simultaneously, and displaying the contents of registers that could also partake in computations was nicer than having to store converted values in addition to the ones used for computation; (2) computing the product of two fractions that use a power-of-ten base will require a power-of-ten division; doing that is trivial in decimal, but expensive in binary.
    – supercat
    May 29, 2018 at 20:33
  • Although the use of fractions with a power-of-two base is considered normal today, I don't think people back then would have liked the weird rounding behaviors it introduces, especially since they make it harder to hand-check the machine's work.
    – supercat
    May 29, 2018 at 20:34
  • For example, on a system that uses 8.8 decimal fixed-point math, computations of the form (a/b)*c would be processed with a worst-case error of c/200000000. A system that used 32.32 binary fixed-point math would have a worst-case error that's less than 5% of that. On the other hand, when asked to compute (1/3)*10000000 the former system would yield 3333333.300000000; not accurate, but easily verifiable as being computed as specified. The computation using 32.32 binary format would yield 3333333.332557231, which is mathematically more accurate, but harder to verify.
    – supercat
    May 29, 2018 at 20:50
  • You are both missing one important thing. ANY kind of calculation was out of the question with the available tech. Draw me a schematic of a binary to decimal converter using only vacuum tubes and we will talk. Yes, IC's existed, but only Uncle Sam was using them. Industrial use was a few years down the road. May 31, 2018 at 2:51
  • The Atanasoff-Berry Computer used binary arithmetic for all its calculations but when fed the proper programming cards could convert decimal numbers to binary or vice versa. Conversion of arbitrary numbers stored in shift registers or delay lines requires an essentially fixed amount of hardware, aside from the storage for the numbers and a counter to say when the conversion is complete. Basically, all one needs for BCD to decimal conversion is a long "straight" shift register and a 3-bit circuit that outputs N if N<5 or its control is inactive, and N-5 otherwise.
    – supercat
    May 31, 2018 at 16:20

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .