The “Pegboard 4 by 4”

Learning to build state machines with the Pegboard 4 by 4.

To set the scene: it is fall of 2015 and I have decided to “throw my hat over the wall” – commit to demonstrating the AndOrBit device ion a few months even though it does not yet exist.

The commitment is to teach three workshops as part of the one-day annual “Expanding Your Horizons” event for girls of grade 6 – 12 on March 12, 2016. This, I thought, would force me to get through the process of making a first production run of my long-awaited “AndOrBit” digital logic training device.

Of course, this strategy is also a good way to lose one’s hat, or to force one to make drastic changes in plans so as to meet the commitment.

The outcome of this decision was that six devices were built consisting of drastically scaled-back versions of the original device concept. They were larger on the outside (24 inches square) and smaller on the inside (4 bits of latch with 4 logic terms per bit as versus 8 bits with 8 terms per).

It wouldn’t perform many of the functions planned for the larger device (no external connections, for example) and the matrix interconnections were made with the bare hands manipulating pairs of miniature “grabber clips”connected by an axial-lead diode.

But they did work well enough to allow students to create a 4-bit binary counter, and I began to learn how to teach using them. As of this writing I’ve brought them to about six “Hack the Future” one-day events for students aged 10 – 18 and tried both group courses and more chaotic individual instruction.

I call them “Pegboard 4 by 4” units as opposed to the intended “8 by 8” units. They take a lot of time to build, with a grid of 16 bare wires hand-strung in the vertical and horizontal directions (like a tennis racket) between 64 solder lugs bolted to the 2-foot-square pieces of pegboard. While there is a small (3 by 6 inch) circuit board that could be machine-assembled, the interconnections are made with two multi-wire “ribbon cables” that make 32 and 16 soldered connections each.

It is therefore well suited for assembly by the purchaser, as a kit, and the age range of the target market would start at the point where the student was willing to do several hours worth of hard, exacting work over several days and learn to use a soldering iron while retaining interest in the project.

The advantage of this approach was cost reduction – I was able to purchase the parts for a run of 10 (4 are as yet unbuilt) with about $2300 raised by a one-time crowd-funding effort. That, plus several days’ labor by Elaine Sweeney and more by myself, managed to produce two working units by the morning of the event (I “went on” with 30 minutes of sleep in the previous 24 hours and lasted the whole day, fueled by adrenaline – the video showing me in the classroom was taken that day).

I have not done a cost analysis of the units in reasonable quantity (100) lots, but it should be able to come in at less than $100 each for the parts.

I am reluctant to consider making any more of the existing design because it needs some improvement. The matrix connectors consisting of two miniature “gripper clips”, each of which must be handled with two fingers and a thumb are not only difficult to attach (requiring practice) but result in a connection that appears in two places at once – what is needed is a single element that contains the connection and rests exactly at the intersection of the intended wires – this would faithfully replicate the connection diagrams I’ve made. This could be realized with a specially-molded plastic cap which would make a fractional-turn lock over the wire intersection and contain the diode component inside.

I have a conceptual sketch of this part but there remains mechanical engineering to be done by someone with experience in these kind of contact materials. The jumpers must work not only the first time but after thousands of removals and replacements – mechanical connections are the most unreliable type of element in electronics.

The electronics will require a review and possible redesign – at present it uses a lot of components to perform a logic function which could be simplified by using logic ICs assuming the economics work out. A redesign of the ribbon cables will be necessary to reduce their cost and there will be some better labelling.

The Pegboard 4 by 4 was a temporary solution to a temporary problem but it has become the version that currently exists and which can fill a niche in the ecology we have to build. It’s an introductory device sized closer to the size of a user’s hands that is simple, relatively easy to use, has no options and can be resold once the user moves beyond it. I should have planned for it in advance.

Elaine Sweeney building one of the early Pegboards – 2016
Creating a 4-bit counter at Hack the Future – 2017

Wanted – State Machine Games

(This post was written as a general call for designs of state machine-based puzzles and games – some of the descriptive information is redundant with information available elsewhere on this site.)

I am developing an electronic educational device with the following purposes;

  1. teach digital (Boolean) logic through visual-tactile experience
  2. impart necessary metaphors to enable the learning of software
  3. give learners the ability to conceptualize and build functioning state machines.

I have built a few rough prototypes and use them at student hackathons to experience how students learn. The original design was more dense than those prototypes and will have important features that I can only describe in the absence of the ability to show.

My goal is to raise enough interest among potential users to crowd-fund the initial production run of devices, as well as to start others working on designing the remote mentoring capability that will be able to function through the product.

My model is the development of the personal computer – a development in which I was heavily involved. Perhaps it is because of that personal involvement that I find that I had, until recently, missed a very important aspect – the marketing element, which I define as “selling of the idea”.

In the case of personal computers this started ten years before the first “Altair” personal computer kit was introduced to the market in 1975. Kemeny and Kurtz introduced the Interpretive BASIC language enabling people to program computers in real time in the most nearly conversational language available. When it ported to early timesharing computers and made available on line it offered the experience of direct hands-on, interactive use of a computer without intermediation.

Timesharing provided the body of experience upon which rested the popular understanding of personal computing. This was proven when the general response to the introduction of Altair BASIC as an extra-cost after-market item was to copy the software and to pass it around.

This was denounced as an act of piracy at the time but when one looks at it from the users’ perspective one can see that their understanding of a personal computer was that it included a language like BASIC. Interestingly, the resulting proliferation of free Microsoft BASIC, while it killed its retail market, foreclosed any competitor’s chances in the software market, retail or wholesale, and assured its dominance.

When I contemplate applying the analogy of personal computer development I see that the “marketing handle” for my device does not yet exist. Looking at the earliest users of those time-shared “personal computers” we can see that much of what they did was to play games – a natural human tendency. Books were written of computer games written in BASIC and sold well among the users of that generation of computers.

What is missing for AndOrBit is an equivalent opportunity for people to play with this new device and systems that can be built with it. The device provides a way to design hardware state machines, which are the smallest, simplest computers imaginable. How can we offer the opportunity for learners to play puzzles and games with this hardware?

I am therefore appealing to those people who have the capability to design puzzles and games for this state machine platform to do so. Specifications and physical description follow below.

Introduction to the device

The AndOrBit learning device is a re-engineering of the first generation of “programmable logic devices (PLDs)” that appeared on the market in 1978. Users implement Boolean logic equations using tweezers to insert small electronic components – diodes – into holes in a matrix. These equations produce one bit of output – true or false – from a combination of eight inputs and eight output bits, and each equation controls the state of one of the output bits. Inputs come from eight switches on the board and the outputs are displayed as eight LED lights. The transition from each state to the next is controlled by a pushbutton switch, as is a global reset function.

Each output is controlled by its own matrix according to the equation defined by diodes placed into matrix holes. Each equation can have up to eight “terms” made up of any combination of inputs and outputs – the elements of each term are defined by the selected signals connected by the “and” operator. This means that all of the selected inputs or outputs must be “true” for the term to be true. All eight inputs and outputs are available to the matrix along with their inverse values (the “not” operator), so the term can be determined by as few as one of 65,536 possibilities.

Each matrix has eight terms which may be combined using the “or” operator, as determined by diodes placed by the user into a special column of holes in the matrix. The resulting “and-or tree” is a general form of Boolean logic to which a large variety of logic relations can be reduced. It is not universal – that would require an infinite number of terms – but it permits the implementation of a very large number of possible logic combinations.

A switch selects each output to be implemented either as a latch – triggered by a common “clock” signal or pushbutton – or as a buffer – a direct output of the state of the matrix, which is not timed by the clock signal and changes as soon as the matrix inputs change. By “borrowing” one output we can double the number of terms for selected output.

Additional Features

AndOrBit has a 48-pin data connector which allows external electronic devices to be connected. Sensors as simple as a switch can be connected as inputs and LEDs can be connected as outputs. There are catalogs of simple robotic devices that can be connected through a CMOS or TTL connection.

Just like its precursor chips, AndOrBit units can be connected to each other through this connector to create larger functional elements – up to and including a full minicomputer (a memory board would be needed and operation would be closer to the minicomputers of the 1960’s in that case).

The clock signal can be generated by pushbutton, from an external source (through the connector) and from an oscillator controlled by a slide potentiometer on the board (allowing slow increase of clock frequency to observe fine-grained events merge into larger events as the frequency is varied.

Finally, there is a “mentoring port” as part of the connector that allows a specially-programmed external device to examine the behavior of each matrix and to set the register to a desired value. This allows for Web-based mentoring through an externally connected computer.

One Suggested Configuration

After some discussion I can propose a user-interface configuration that may help in design:

For a two-player game we can have two sets of up to four input switches, one for each player. Each set of switches can have up to four LEDs displaying the state of the other player’s switches, if desired.

Each player can also have one or more of the output LEDs at their location. One suggestion would be to have one LED for each player as a dedicated indicator of “Yes/No”. There may have to be one additional output LED dedicated to “game over”.

A pushbutton that would activate the “Clock” signal can be made available to both players.

Lee Felsenstein

Get set, Go!

OK, the patent is filed, IndieGoGo is a “go”, and I’ve got the press release out to what I can determine are the STEM-focused media.

(By the way – I could use more pointers to media that centers on STEM news and writers who cover the field. I’ve already got StemDaily, thanks!)

The strategy for the fundraising is to offer the first run of ten systems as prizes – but after they get used a bit for their primary purpose. How long that “bit” takes depends upon how many orders we get for systems.

The units are kits, having the surface mount components pre-installed on the circuit boards, but with the remaining “through-hole” components to be installed (screwed in or soldered) by the user. I have estimated the cost of that labor for the first run and it is included in the price.

Assembly will not be a one-day, slap-together proposition. There are 16 connectors on the main circuit board, each with 36 contacts that must be hand-soldered. The next largest number of solder joints is the 48-pin data connector.

We’ll probably have to ship lead-free solder with the board (it requires a higher temperature to melt and flow), and we’ll have to include an instructional DVD as the assembly manual. (We’ll have to use the first few units to make the DVD.)

Then there are the daughter boards – 8 of them per unit. Each is comprised of four printed circuit boards – one of which has surface-mount components on it. This board requires physical braces that are snapped out of another piece of circuit board material, pressed into holes in the board and carefully soldered. If these pieces get out of alignment when they’re soldered it will be very difficult to remove and re-solder them, so we’ll show a procedure that will have to be followed.

There are braces on both sides of that board, and then there are 4 twist-lock mechanical fasteners to be installed. We’ll show the process on the DVD, but it will take some effort and may seem frustrating. It will have to be done 32 times. Assembly will clearly be a process where middle-schoolers will require assistance.

As order volumes increase there will clearly be demand for pre-assembled units, and in order to develop the price quote we will have to let the assembler experiment with one or two units. This first, get-off-the-ground crowdfunding phase will have to be done with kit units, although we could put out an intentionally high price quote for small-lot assembly and be safe.

This was the process in the first year of the personal computer industry – everything was a kit and the user had to have a certain level of commitment. Fortunately, we’re aiming at early adopters as the market for this phase – the people who will work on developing their versions of the courseware and peripheral hardware. Anyone who expects an out-of-the-box, plug-and-play user experience will be disappointed.

Of course, we should not discount the aspect of collecting – buyers who just want to have one of the first made (we’ll number them sequentially). I’m not going to count on this market, but we know it will be there.

Lee Felsenstein