Thursday, March 9, 2017

Appreciating Huge Light Marquees On Game Shows Of the Past

Recently, I dug up an old email where I was musing on the big marquee on an old television game show called The Magnificent Marble Machine.  It was a very fancy prop at the time, as most television shows of the era relied on art cards with big, bold letters that would be flipped, slid, or otherwise revealed by stagehands upon the emcee's verbal cue.

Slide it, Earl! (Match Game) - Survey Says?! (Family Feud) -
Sources: YouTube, Game Show Utopia

This is about as fancy as it got for electronic graphics on game show props in the 1970s (Tic Tac Dough).  However, they never upgraded this board during the 1980s...
Source: Dailymotion

And a couple shots of the Magnificent Marble Machine game board in action.  Looks like a plain ol' marquee, but really an astonishing feat of engineering given normally chintzy television props, especially for its era...
Source: Gameshows Wikia

Cashing In On a Fad

Now, the Magnificent Marble Machine was a show produced in 1975 and 1976 by Heatter-Quigley Productions.  This "gem" only lasted about nine months, but you may know Heatter-Quigley for bringing us much more durable and enjoyable shows such as The Hollywood Squares.  The idea of the show was to capture and adapt for television the essence of a phenomenon that had been becoming very popular at the time: pinball.  You had The Who and Elton John singing Pinball Wizard before millions of fans and avid players starting in 1969, and in 1975, unless you ran across a Pong console, generally your only other option for cheap entertainment out on location was pinball.  And games from 1974 and 1975 such as Sky Jump, Top Score, Wizard!, and Captain Fantastic were stealing quarters from players of all ages, and still fondly remembered to this day based on their ratings at the Internet Pinball Database (I can vouch for Top Score personally as well).  However, the pinball machine on MMM (brought out for the bonus round) featured a fun factor more in line with watching someone play Atari's Hercules game, only even bigger and more sluggish.

Generally, pinball machines of this era were all electromechanical in operation, involving liberal use of solenoid coils not just to actuate active elements on the playfield but also serving to operate physical latches for memory and game status.  Lots of springs and mechanical linkages would be involved, and complicated beasts called "score motors" would advance the score in the manner required and pulse score reels to rotate at 36 degrees through every digit, 0 through 9.  Generally, you would not find so much as a resistor in these games in terms of electronic components, but only a transformer to step down 120V from the wall to 24V for game components.

However, 1975 was a big year for microcontrollers, as the MOS 6502 was first released to the public (this chip was used in all sorts of devices including pinball machines for decades to come).  Pinball was soon to come of age in the solid-state realm as well, with both Bally (using Intel's 4004 chip) and Allied Leisure producing pinball machines in 1975 with such new and improved electronics.  However, Atari also began work in 1975 on its VCS home console, and we all know what home consoles did to pinball and arcades in general...

Making a Light Marquee The Old Way

I hope you'll take a moment with me to appreciate the level of engineering and expense that went into creating the scrolling clue board seen during the game on MMM.  Nowadays, this could be easily accomplished with a matrix of high-intensity LEDs and very simple microcontrollers to display the letters; you should know I successfully Kickstarted such a thing back in 2013.  But by 1975, LEDs were so small and low in intensity that they were used on little more than expensive electronic test equipment as status indicators, and on cutting-edge calculators, the numbers on which were so small that lenses were placed above each digit to enhance readability.  Clearly these early LEDs were not useful for consumption by far-away viewers like the TV cameras filming the show (which still used small vacuum tubes instead of modern CCD chips), or people viewing a marquee outside a theater, or etc., and were not an option for people building scrolling marquees.  With LEDs out of the question, people still used regular incandescent light bulbs.

For the digital logic that controls the lights, there were very few programmable microprocessors at the time.  Intel released the first ever CPU for consumer purchase, the 4004, in 1971.  The MOS 6502 was not on sale by the time MMM began to air, and Motorola's 6800 chip which came out the year prior was still selling for $175 in 1975 dollars.  Of course, the now-standard x86 line of chips found in PCs did not exist, nor did PCs themselves (unless you want to call the Altair 8800 hobbyist kit a "PC"), and none of these primitive processors were designed to run at speeds above 2 MHz.  Chances are that only electrical engineers working for large computing firms at the time (like HP, Digital, and Texas Instruments) were using these brand-new CPUs in any applications; they were vastly more complex than anything people dealt with in the past, and so most electrical engineers throughout the 1970s still built digital logic out of discrete components such as the 7400-series integrated circuits, or by actually using transistors themselves to build the logic from scratch.  (Heck, pretty much all the major pinball manufacturers were still using these original microprocessors along with 74xx logic for extra features 20 years later!)  To make a scrolling LED board out of 7400-series ICs would require lots of different chips (such as registers, multiplexers, and simple Boolean operators) and lots of wires.  But above all, each incandescent light would require its own special relay so it could be driven by the digital logic.

While most basic logic circuits such as the 7400-series ICs operate at 5 volts of direct current, light bulbs typically operate at a much higher voltage -- up to 120 volts, and then it's alternating current, not direct.  Unlike nowadays (since we have good LEDs that run at 5 volts DC), the voltage generated by the digital logic circuit when a light should be on could not be used to directly power that light.  So, the output from the digital logic circuit would be fed into relays that would provide the correct power for each light at the appropriate time.   There must be one relay for each light.  Once again, I re-emphasize the beastly amount of wiring that must have gone into that sucker.

And what might all this have cost?  Well besides the engineer's time, the parts would have been quite pricey, and certainly far more expensive than they are now, even after inflation.  Based on my analysis, you'd need at least one 74LS373 chip per column of lights on the board just to keep the lights on if you didn't buy latching relays instead (after you've already used a bunch more chips just to discover who's supposed to be turned on), and did you see how many columns there are?  While I don't have any data for 1975 prices, prices for the mil-spec version of various 7400-series ICs were $18 to $29 per chip in 1965.  In that year, the average family income was only $6900; prices like that would keep these chips out of most hobbyists' hands, but by the 1970s, they were appearing in many microcomputing kits for hobbyists--these kits were still as expensive as, say, a nice stereo at the time.  (Nowadays, you're stupid if you're an electrical engineer and can't figure out where to get some of these for free.)  And while I also don't have any historical price data on relays, they're still priced at between $1 and $100 apiece nowadays, depending on the complexity, materials, and how many volts & amps it puts out.  Probably the least expensive components would have been the lights themselves. :-P  So from an engineering standpoint, it's sad that board didn't get used on a show that ran for a very long time, but hopefully it found a good home somewhere else...

...Maybe on Family Feud?  (Feud premiered about 3 months after the last new MMM episode aired...)
Source: Game Show Garbage


Apologies for all the "original research" in here... If I could dig up my Internet history from 10 years ago or so, I would cite the sources for the figures I quoted, such as the prices of the electronic components.  However, you have access to Google if you are reading this, and some of my original sources have gone offline and have been replaced with other sources in the meantime I'm sure, so you might learn something about a particular niche you're interested in if you try to corroborate my figures.

Thursday, February 23, 2017

Inverting And Combining An Open-Drain Signal

Lately, I have been working with the LTC4151-1 chip by Linear Technology.  It is used to measure voltage and current with high resolution typically in telecommunications equipment.  In the process of validating my design, I need to test it with the simplest circuit possible in order to simplify fabrication and eliminate variables introduced by other intermediate devices (namely, the required optoisolators).

The LTC4151-1 chip communicates over the I2C bus.  Only problem: its setup breaks out the SDA (serial data) signal into SDAI (data in from the microcontroller) and /SDAO (data out to the microcontroller, inverted).  It is broken out like this (with SDAO inverted) so that people can conveniently wire up optoisolators to reconcile different ground potentials that exist between the MCU and the unit whose voltage is being measured.  (Many times, the V- out of the battery will not be the same as the GND used by your microcontroller logic, computer, or etc., especially if you are measuring individual batteries within strings of batteries.)  In order to combine the lines, I could have tied the /SDAO line to a 7404 inverter and added a pull-up resistor so the line is pulled high when the /SDAO line goes high-impedance before coming to the inverter.  Normally this would be OK because I2C signals are never driven high; they are only driven low and to high-impedance.  However, in the event that SDAI was being pulled low at the same time /SDAO was also being pulled low, this would cause the output of the inverter to go high, likely resulting in a nasty short circuit and/or bus contention.  Let's try to avoid this situation, even if it is unlikely to happen unless there is an error.

Basically, what I need to build is a NOR gate with one inverted input.  As SDAI goes low or /SDAO goes high, the output signal is supposed to go low as well.

In this case, I will define the master device as my microcontroller and the slave device as my LTC4151-1 chip.

Here's how you do it.  You will need one NPN transistor and jumper wires.  I used a common 2N3904 which you should have if you collect parts.

  • Connect SCL from the slave device to the master device, then to a pull-up resistor.  (Since this is the standard arrangement, it is not shown in the schematic below.)
  • Connect SDAI from the slave device to the collector of an NPN transistor, then to a pullup resistor.
  • Connect /SDAO from the slave device to the base of an NPN transistor, then to a pullup resistor.
  • Connect the emitter of the NPN transistor to ground.
  • Connect SDA from the master device to the collector of the transistor.
Here's what I just described with the bullets, in picture form.  Note that GND in the schematic must be shared across all your devices, as described in the next paragraph.  Also, the resistor values are not guaranteed to work in every situation, but worked for me with my LTC chip.  Ohm's Law is your friend, especially if your devices need a particular amount of current for them to be responsive.

Most importantly, since the LTC4151-1 can measure voltage across its ground pin and a pin called VSENSE+, its ground pin must be tied to the same ground as the microcontroller and the transistor or else the circuit will not work.  When I have this configuration hooked up to my laptop for serial verification of data, I use the USB ground pin as the ground to my microcontroller, the transistor, and the USB chip, and I hook up this ground to the negative terminal of the cheap drugstore 9V battery I use for testing the LTC chip.

This works because when the base is on (i.e. /SDAO is being pulled high by the pullup resistor and data is being transmitted), the current flows through the transistor with no resistance, and since the emitter is grounded, this pulls the whole SDA signal low.  When the base is turned off, this turns the transistor into an open switch, thus forcing the SDA signal to be pulled up by the pullup resistor.  And, of course, when the SDA pin from the master device is getting pulled low, this still grounds out the SDAI signal on the slave device because the collector is low and won't have any voltage difference from ground anyway, even if the transistor's base gets turned on.

Having trouble finding the address of your I2C device?

Have a look at this brilliant blog post "I2C Scanner" by Nick Gammon on his forum.  It is Arduino code you can use to iterate through all possible I2C devices and see which one(s) return a response.  This code proved very helpful to me as I tried to find out where and how to reach my LTC chip.