Kit 24: 4-bit Micro-controller

I’ve been buying the Gakken Otona no Kagaku kits “after the fact”.  That is, they come out, some months later I learn about them, and when I go to the store, they’re already there on the shelves. But, I learned about the microcomputer kit from the wire recorder book at just about the time the wire recorder came out, so I’ve been anticipating this one for 3 months. I was going to the local bookstore every day for the last week, just in the hopes that it might come out before the official publication date of June 30. No such luck. But, two days ago was June 30, and there it was on the shelf. I didn’t even break my stride in getting from the door to the register.

GMC-4, kit #24, 2500 yen
The “GMC-4” model number means “Gakken Microcomputer, 4 bit”. As a kit, there’s almost nothing to it. 4 parts and 6 screws. The speaker is pre-wired to the circuit board, and assembly consists of screwing the speaker and board to the base plate, then attaching the plastic keypad to the circuit board with the double-sided plastic insulator. That’s it. 5 minutes, tops. Oh yeah, the kit runs on 3 AA batteries, so you have to put the batteries in, too… Physically, the finished kit is about 2″ x 5″ x 3/4″ – about the size of a PSP.

The key switches are the resistive type, triggering when you press the plastic “key”. There’s a plastic separator with little cutout holes where the “keys” go, and when you press a “key” your finger pushes the cover plastic down onto the conductive lines of the circuit board through the cutout hole and the circuit sees this as a closed switch. The point of all this is that the cutout holes are a bit small, so the switches aren’t as easy to press as I’d like. It may be better to use an exacto knife to enlarge the holes a little bit to make the keypad more responsive (or maybe just add an external keypad).

This kit is great! I love it. It’s a 4-bit microcomputer with a hex keypad, 4 control switches (A SET, INCR, RUN and RESET), a 7-segment LED, 7 regular LEDs, speaker, a hard reset switch, and an on-off switch. There are 7 pre-stored games, plus code in the mook for 10 other programs. There are 15 machine instructions, plus 16 “extended codes” that use the “E” code to allow for 2-byte instructions (E0, E1, E2, etc.) So, the instruction set is fairly straightforward, but you can still do some sophisticated manipulation of the LEDs and speaker. There’s enough memory to hold a 64-byte program, and 16 bytes are set aside for data space.

The pre-loaded games include a “piano”, a reflex game, and so on. The code in the book includes a 15-second counter and a rock-paper-scissors game. It looks like the GMC-4 is based on Gakken’s FX-150 micro kit. The website has a link to the FX-Maicon’s (R-165) user manual, and a lot of the programs in it are the same as for the GMC-4.

Code entry is very straightforward. Press RESET to zero the address counter, then press the desired hex key, followed by INCR. Press RESET-1-RUN to execute. To review your code, just press RESET and then INCR to increment through it. To play a pre-loaded game, press RESET, the code for the game (i.e. – ‘9’ for the piano) and then RUN.

The pre-loaded games are:
9 – Piano
A – Music player
B – Tone repeat game
C – Whack-a-mole
D – Tennis
E – Timer
F – Morse code generator (described only in the FX-150 manual)

The other programs are:
15-second counter
LED flasher
Another LED flasher
LED sign
Pulse width modulator
LED game
Another Music Player
Sequence Music Game
Gun fighter game

The mook is a little different this time, in that all of the articles are subject-related. Previous mooks included unrelated articles on WW II history, how to make your own beer, making a light bulb, and so on, plus articles related to the kit’s subject. For kit #24, the articles include the history of computers, photos of older micro- and home-computers and video game consoles, an explanation of how chips are made and how they work, the process behind designing the GMC-4, and then the instruction set. The photos are all high-quality color, and it’s a kick seeing pictures of machines that I used to own (including the old Altair 8800 box. Man, that takes me back.)

The kit is a bit clunky for program entry and there’s no static data storage, meaning that you lose your program when you power it off. So, it’s probably not going to get a lot of use once the novelty wears off. But still, for $25 it’s a great value. Plus, the mook shows details for modding the premium wind-up tea carrying doll to turn it into a motorized robot with the GMC-4 as a controller, plus how to mod the GMC-4 to control up to three SX-150 synthesizers through their external input jacks.

Personally, I’m planning on adding a jack to plug in my headphones, plus a volume control (the speaker is too loud to play the games when everyone else is sleeping). I may also look at using the GMC-4 to control my synth keyboard setup.

This is a fun little kit for anyone wanting to play with a simple hex-entry computer. Don’t expect much of a challenge assembling it – it’s all about the programs you end up writing for it.


The best part of the Gakken Otona no Kagaku (Adult Science) kits is that you can get some amazing mileage out of them, depending on the kit. Not all of them are easily modifiable, and not all are worth modifying. But the ones that are, like the synth and the microcomputer, allow for many hours of activity way beyond the original intent of the kit. So you can spend the 2500 yen ($25) for the kit, and get a lot more than $25 worth of play time from it.

Case in point is the GMC-4 microcontroller. The biggest drawback is that it doesn’t have permanent storage. It can take several minutes to enter a program through the keyboard, and after that, when you turn the power off, the program is lost and you have to re-enter it when you turn the kit back on again.

(GMC-4 from top, showing wires and connector on right side)

So, I took a bank of micro-switches with the little rollers on top, soldered them in two rows on a circuit board and wired them up to look like the GMC-4 keypad. Then I soldered wires to the GMC-4 keypad and brought them out to a 9-pin connector that I bolted to the side of the base.

(Bottom view. 9-pin connector on left, volume control and audio jack on right.)

The keypad is essentially a matrix of contacts with a sheet of conductive plastic glued above a separator sheet with holes cut out where the pad keys are located. When you push down on a “key” pad, it contacts a set of parallel lines on the circuit board and shorts them together. These lines are part of the keypad matrix. The matrix consists of 5 columns and 4 rows of contact line points. The row and column shorted together is then interpreted to be a specific key. That is, row 1 and column 1 could be the “o” key, and row 1 and column 5 is “reset”.

By pulling the row and column wires out to the 9-pin connector, and then connecting that in turn to the 20 micro-switches that were wired to mimic the original rows and columns, I created an external keyboard. I then took a piece of corrugated cardboard (from a shipping box) and cut holes to match the roller positions of the switches. And I took another circuit board and used that as the top of the reader casing. Then it was just a matter of setting up the guide positions for the paper and cutting out the paper tape itself.

(Circuit board with micro-switches and cabling.)

The switches are about 0.5 cm x 1.5 cm. Because of the hole spacing on the circuit board, I had to mount the switches in 2 rows of 10, staggered so that the switches alternate between row 1 and 2 as you move across the paper. Because of the length of the roller and the spacing of the switches, I cut the paper as follows: 11 cm wide, for the full width of a sheet of construction paper. 0.5 cm margins. Each column is 0.5 cm wide, but the holes are a little wider than that to ensure that the hole will allow the desired roller through. The holes for the instructions are 1.5 cm long, and 1 cm spacing between instructions (to ensure that switches from row 1 and 2 don’t both close when there are two instructions in sequence one right after the other). One instruction per row. I used construction paper because regular paper is too flimsy to push against the roller. If you make a mistake with the holes, you can just tape over them.

(Bottom of circuit board, showing wiring.)

When you put the punched paper sheet in place within the reader, the force from all 20 switches at one time causes the circuit boards to flex and some of the switches to incorrectly close, so I used zinc angle bars as stiffeners. I also added rubber feet to prevent the bolts from scratching the table.

It’s difficult to cut the instruction holes out to the right width, so you have to keep debugging the tape (i.e. – cutting the holes wider) to get it just right. But, on the plus side, if you miss adding an instruction, you can just cut the paper and tape in more code as “an insert operation”. On the down side, because every instruction needs to be followed by an “INCR”, and the spacing is 1.5 cm per keystroke with 1 cm between keystrokes, a simple 20-instruction program will be (reset + 20 instructions + 20 INCRs + reset + 1 + run = 44 keystrokes * 2.5 cm ) 1.1 meters long, plus whatever length you use for the leader and trailer sections. On the other hand, you can now include the data to be put into memory, so you don’t have to input that manually any more and you can have the “reset”+”1″+”run” sequence at the end to make the program execute automatically. Plus, you could have more than one program on the tape roll, and go from program to program fluidly if you wanted to. In this case, adding a little motorized roller to pull the tape through the reader smoothly would be a big plus.

(Cardboard sheet with holes placed over the switch rollers.)

While I was at it, I also added an “audio out” jack and a 15 K ohm volume control. The speaker was too loud to let me play with the kit late at night without disturbing the rest of the family.

Here’s the youtube video of the reader in action.

Leave a comment

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: