--- title: "TS1000 Keyboard Addition" type: "article" slug: "ts1000-keyboard-addition" url: "http://localhost/article/ts1000-keyboard-addition/" markdown_url: "http://localhost/article/ts1000-keyboard-addition.md" published_at: "2022-10-07T12:25:11+00:00" modified_at: "2026-08-04T11:47:14+00:00" featured_image: url: "http://localhost/wp-content/uploads/2022/04/20230809-041332.jpg" excerpt: "Here's a nice beginner's project for owners of ZX-81s, TS 1000's and TS 1500's. Although numerous keyboard expansion articles have been published, all require opening the computer to get at five signals that don't go to the rear connector. This circuit uses a little extra hardware to produce five equivalent points, so the computer needn't…" category: - name: "Sincus News" slug: "sincus-news" taxonomy: "category" url: "http://localhost/category/periodicals/sincus-news/" post_tag: - name: "Best of Timex/Sinclair 1000 Articles and Documents" slug: "ts1000best" taxonomy: "post_tag" url: "http://localhost/tag/ts1000best/" - name: "Hardware project" slug: "hardware-project" taxonomy: "post_tag" url: "http://localhost/tag/hardware-project/" - name: "TS 1000" slug: "ts1000" taxonomy: "post_tag" url: "http://localhost/tag/ts1000/" model: - name: "Timex/Sinclair 1000" slug: "ts-1000" taxonomy: "model" url: "http://localhost/model/ts-1000/" indiv: - name: "Wes Brzozowski" slug: "wes-brzozowski" taxonomy: "indiv" url: "http://localhost/indiv/wes-brzozowski/" publication_r: id: 14989 title: "Sincus News" type: "periodical" url: "http://localhost/periodical/sincus-news/" authors: "Wes Brzozowski" authors_r: - name: "Wes Brzozowski" slug: "wes-brzozowski" taxonomy: "indiv" url: "http://localhost/indiv/wes-brzozowski/" volume: "3" issue: "6" issues_articles: - id: 39375 title: "SINCUS v3 n6" type: "issue" url: "http://localhost/issue/sincus-v3-n6/" pages: "6-7" pubdate: "May - August 1985" archive_link: false gallery: - url: "http://localhost/wp-content/uploads/2022/10/SINCUS-v3-n6_0006.jpg" --- # TS1000 Keyboard Addition Here’s a nice beginner’s project for owners of ZX-81s, TS 1000’s and TS 1500’s. Although numerous keyboard expansion articles have been published, all require opening the computer to get at five signals that don’t go to the rear connector. This circuit uses a little extra hardware to produce five equivalent points, so the computer needn’t be opened at all. It also contains provisions for future expansions. Those expansions include the possiblity of adding a extra 8 keys, a keyboard beeper, and maybe an auto repeat function. Before anyone gets too excited, let me say that I haven’t added all these extra options, and really don’t expect to. I will, however, provide enough information for the “hardware types” out there to develop their own. Hopefully, they’ll report back to us with their own improvements to this circuit. Please understand that my own time is limited and I just can’t pursue this circuit any further. Still, you can be assured that what I’ll show has been debugged and works. It’s possible to have a lot more TS1000 coverage in this newsletter, but you’ll have to help us out by providing some. What I have started here is a fine opportunity for some of you to make your own contributions to T/S computerdom. The next obvious question is “Will this work on my TS2068?” Sadly the answer is no. Although a rear edge connector keyboard expansion does APPEAR possible on a TS2068, it will require a completely different method, and may have a number of problems associated with it that will make it inconvient to use. The best I can say is to watch this space for future developments. Construction of our circuit is fairly straight forward, though the key matrix may require a bit of explanation. Each key should have two contacts, which get connected together only when the key is pressed. All the keys in a horizontal row should be wired together at ONE of the two contacts. ALL the keys in a vertical column should be wired together at the other two of the two contacts. None of the horizontal wires should be connected to a point with a vertical wire. Pressing a key should connect together the two wires that intersect at its location. Got all that? The circuity should be built on a small board mounted at the computer’s rear connector. A short length of cable will stretch from this circuit board to the keyboard. Make sure the cable is clamped firmly in place at both ends. If solder is all that holds it on, wires will soon start breaking off. It would be wise not to make this cable any longer than you’ll need it to be. People who’ve wired their own keyboards to the insides of the computer have found to their dismay, that an excessively long cable will prevent the computer from working. In a similar manner, this circuit won’t work if the cable is too long, although the computer will keep running. It’s hard to say what “too long” really means. I’ve seen an early ZX-81 to which you couldn’t attach more than 8-10 inches of wire, but most who wire keyboards inside their computers get away with 2 or 3 feet. Again, I expect this circuit to do likewise, with whatever your computer will tolerate. Note that one of the inputs to the 7407 is just “flying in the breeze” with the notation “SEE TEXT”. This is an extra buffer that’s normally not used. It should be possible to extend the matrix with another column of keys which run to this buffer. This will give you 8 new keys to play with. The new 8 keys won’t work from BASIC, though; you’ll need your own machine code keyboard scanner to use them. (see “SYNTAX”, Feb 1984, for an excellent tutorial on keyboard scanning.) A nice thing about this option is that if you’ve got extra keys on your keyboard, it’ll cost no more than a little time and a little extra wire to hook them in. A word on the 7407 buffer chip is in order. This device contains 6 buffers with OPEN COLLECTOR outputs. Be cautious about substituting in any other chip. For example, the 74LS244 buffers have TOTEM POLE outputs which won’t work properly for what we’re doing. What about further expansion? If the inputs to a 74LS30 NAND gate are attached to the inputs of the 7407 buffers, a keypress detector can be made. The 74LS30 output will produce a series of very short pulses whenever a key is pressed. If these pulses are stretched into a long pulse with a single-shot, they can be used to turn on an oscillator for a keyboard beeper. Pin 13 of the 74LS32 is connected to ground. If this point is disconnected and pulled high, the circuit will act as if no key were being pressed, whether or not one is. Since we can detect a key press, we should be able to implement an auto-repeat function by switching this signal at a few hertz. Note that such a circuit will feed back on itself, making the timing somewhat tricky. I nevertheless have every confidence that some clever reader can pull it off. As a bonus, the old membrane keyboard still works when this circuit is plugged in. The two keyboards will operate in parallel, and you’re free to switch from one to the other. (The truly enthusiastic are welcome to try using both at once.) In any case, a little examination will turn up all sorts of uses and possible modifications for this circuit. Have fun and don’t forget to let us know of your results.