Showing posts with label USB Keyboards. Show all posts
Showing posts with label USB Keyboards. Show all posts

Sunday, 8 June 2025

Tynemouth USB Keyboard Controllers - A History

TL;DR

USB Keyboard Controllers are back. Get them here:

History Today

Way back in 2012, when the world made a lot more sense that in does today, this blog was mostly about software and web development, PC repairs etc, since that was my job.

As a hobby, I was fiddling around with old computers and Arduinos etc.

The workshop actually looked quite tidy back in those days.

One of the projects I built at the time was a ZX81 USB keyboard.

I had dug out the case of (one of) my original ZX81s from the 1980s. The case was all that was left, the membrane was very far gone, and the PCB had been the victim of youthful tinkering many years earlier.

I had seen new membranes were available, so I got one of those and prototyped something on an Arduino and a breadboard.

(looks like it is resting on a shopping list, I wonder what else I was making?)

To make that more permanent, that was transferred onto some padboard, in a fetching shade of blue.

Later, I added a Raspberry Pi. One of the first generation by the looks of the full size SD card and composite video out connector.

I wrote about those on the blog and people seemed interested, and then someone asked me to make one for them.

So I did.

I was never happy with the implementation of the USB interface with discrete components, so I was keen to try out the Arduino Leonardo when that came out, as that had dedicated USB hardware. I was quick to built a version with that.

I didn't get along with the USB keyboard scanner in the Arduino library, so I ended up writing my own version.

There seemed to be a bit of interest in those, so I had a look for other cases I had that I could use. The idea in those days was using up cases where the boards were missing, or at the time beyond economic repair.

Looking back I was surprised to find that the second machine I converted back in 2013 was an Acorn Electron.

I guess that makes sense as once the ULA is gone, there are not many options for a dead Elk.

That was soon followed by various others from my spares collection.

I was still using the Leonardo PCBs, but with custom firmware.

Later on in 2013, I designed my first PCB (at least the first I didn't hand draw and etch in an old fish tank full of ferric chloride).

(I later found one of the actual first PCB I made in the 80s, a power supply)

The new PCBs worked very nicely, a very neat job.

There was a lot of hot glue involved in the Raspberry Pi versions.

I was working my way through my spares, and also picking up empty cases and "untested" machines from ebay when they were going for next to nothing.

Those were the days when there are a lot of "working when put away" systems, including this Spectrum +2. I guess the RAM chips must have fallen out in the post?

However, a lot of those turned out to be working, or I fixed them.

I was always trying to do this ethically, never wanting to use a working machine, so I ended up selling just the controllers.

By that point, I had designed more PCBs, ones specifically for some machines.

They continued to do well, with more and better versions being added.

I even had some custom membranes made for the Spectrum and Spectrum+.

Those made a very neat job, and most of the donor cases would have needed new membranes anyway.

Not sure I ever made back the costs on those Spectrum and Spectrum+ membranes. When I finally sold out and went to order a second batch, the price had almost doubled, so I didn't bother.

Things continued as I branched out into the 16 bit world.

And added joystick ports and audio pass through and things like that.

Someone even designed some 3D printed mounting brackets for the A500 Pi version.

What went wrong?

But all good things, as they say, come to an end.

I was a little uneasy about they way people were using these. I always tried to encourage people to only use spare cases, or at least pass on the internals to someone that would be able to use them. (which was sometimes me, although that backfired a couple of times when well meaning people sent me dead boards from overseas but put high valuations on them for insurance purposes, and I ended up having to pay a fortune in import duty when they arrived)

There were a couple of nails in the coffin, the first being the Atari 400 version.

The membrane on the Atari 400 keyboard has pins on the end, so I fitted sockets to the controller PCB. That worked fine and had several positive reports back from happy customers.

Unfortunately I had a couple of rather rude customers who insisted it didn't work and couldn't be connected.

One even sent me a second keyboard they had so I could see it didn't fit.

Of course, it fitted fine, they just hadn't pushed the pins all the way into the sockets. I ended up refunding the orders and then cancelling the product.

(almost exactly the same thing happened with the Atari 400 48K RAM boards I made. Again, they were fine as RAM boards on all the machines I tested, and several happy customers. But they didn't magically fix the demonstrably broken machines of a few other customers who were very vocal on forums. So again, refunded orders, PCBs in the bin, blog posts removed. Never doing any Atari products ever again.)

(which is a shame because the Penultimate+ 2600 was going quite well at the time)

The other issue was highlighted by the Amstrad CPC 464 keyboard controllers. There were several versions of the keyboard over the run of those machines. Some had a socket on the main board, with a cabled keyboard. Some had a socket on the keyboard with a cable from the mainboard.

But most had two 10 way membrane tails.

I used to ask people when they were ordering which type they had. A few too many people responded that they didn't know, they hadn't bought it yet.

One pointed me to an ebay listing for a nice looking machine shown fully working machine with boxes of books and games and asked if that one would be the right type.

No, sorry, I cancelled and refunded that order, not happy with that sort of thing.

After too many things like that, I delisted all the controllers and took down all the related blog posts.

What now?

I did try to bring them back at one point, after lots of people had asked for them, but at the time micrcontrollers were in short supply.

Here we are in 2025 and I am still getting requests and the microcontrollers are available again. I have built a few to order, but I think now is the time to bring them back (and let's be honest, I need the cash).

As ever, I would hope people will act responsibly, or worse case if they are in the UK, pass the boards on to someone that can use them, or send them to me - I am sure some sort of part exchange could be arranged. Outside of the UK, I think postage is too much of an issue these days, but hopefully customers will be able to find someone to pass boards on to. That way at least other machines can be saved.

OK, where are they?

I haven't put back any of the old blog posts yet, I may do, but most of them would be the wrong versions of the boards etc.

I have put everything into a single listing on Tindie

The idea being to select from a dropdown.

I have added most of the ones I have left, or can build more of with the boards I have left, but can add others if you ask. One that I have built I have kept the old price, ones where I have to order parts specially, I have added a premium to cover that.

I did plan this post to have maybe a couple of paragraphs of history at the start, then onto a list of the keyboards and pictures of the boards I have etc.

You know how it goes when I start typing.

There will be a separate post to follow showing all the photos of controllers and installs.

If you need any more info, or are looking for anything I do have listed yet, let me know.

Adverts

The USB keyboard controllers can be found in my Tindie store:

There you can also find Minstrel 2, 3, 4th kits and Mini PETs and PET repairs parts and more.

Including the recently revived Minstrel 4th (with the updated ROM including Jupiter Ace Forth and ZX81 BASIC), available as a kit or built and tested, from my Tindie store or Z80kits.com


Patreon

You can support me via Patreon, and get access to advance previews of development logs on new projects and behind the scenes updates. New releases like this will be notified to Patreon first, if you want to be sure to get the latest things. This also includes access to my Patreon only Discord server for even more regular updates.

Sunday, 23 February 2020

Commodore PET USB keyboard / Keyboard testers

There were several variations of the keyboard used on the Commodore PET, but all used the same 20 pin header with pin 2 missing as the Commodore 64 and VIC 20, although the pinout is different (and is different again from the C16 which also uses the same pin header). In order below, the chiclet keyboard, normal/graphics keyboard and business keyboard.

I originally build a USB keyboard adapter for the Commodore PET keyboards for use as a testing tool when cleaning keyboards. The early PET keyboards do occasionally get into a state where none of the keys are responding, unless maybe you press them really hard. You can start to think it is a problem with the keyboard IO chip, rather than the actual keyboard, so it is useful to be able to test the keyboard in isolation.

I wasn't planning on selling those, but I was occasionally asked to build them, and did until I ran out of boards. I was approached by someone wanting to use one of these, but for the keyboard from an 8032-SK. This is the recased 80 column, 32K RAM PET (8032) in the nice rounded not-designed-by-Porsche case, and an absolutely massive separate keyboard (SK).

The keyboard inside was the same as the business keyboard above, but in a detectable keyboard with a nice coiled lead and a 25 way D plug on the end. The same type of plug as used on the SX-64, C128 and CBM II, but of course with a different pinout.

I had only made a few PET USB keyboard adapters, so I had been using an existing board to make them, and didn't have any of those left, so wasn't planning to make any more, but when money was waved under my nose, I was persuaded to make some more.

The 8032-SK used the same board as the standard 8032 in the not-at-all-rounded case, which had the 20 pin header, and there was a cable on a bracket which adapted this to the 25 way D connector for the external connection.

I could have got some more of the old boards, and reused the adapter cable, but I thought I may as well do this properly.

There is now a 25 way D socket onboard, so the SK keyboard plugs in directly to one side, and the USB cable to the other.

I designed the new board to replace that bracket and pick up on the same mounting holes.

That all fits in very nicely. Job done.

You might have noticed a row of holes on this board. Yes, I added a footprint for the 20 pin header, so I can now make a 'universal' board for testing PET keyboards which will take one of the pin header versions or the 25 way D.

I also took the opportunity to delete the 25 way D connector and make a smaller version for just the 20 pin keyboards.

I went for jumpers to select the mapping type, so there weren't too many build options.

The chiclet keyboard on the original 2001 and the later graphics keyboard are interchangeable on the PET, and these were used on almost all of the PETs with 40 column screens, the 2000 series, 3000 series and both of the different 4000 series (don't ask).

The only reason I have different jumper settings for the graphics keyboard is some of the non-standard keys are mapped differently. The layout without numbers on the top row doesn't seem too bad on the chiclet, but seems a bit mad on the graphics keyboard.

Although the OFF/RVS key is in the same position in the matrix, it is to the left of Q on the graphics keyboard and suits being mapped as tab. On the chiclet, it is bottom left, so is mapped as the Windows key.

You can also use the chiclet mapping with my Commodore PET replacement keyboards, which are designed as a drop in replacement. (to save you visiting the FAQ, no it doesn't come with keycaps, no I don't know where you can get any, if I did, don't you think I would have used them?)

The business keyboard was used on the 8000 series of 80 column PETs (including the SK models). This has a more familiar layout, although the matrix is laid out very differently to the graphics keyboard, so any games which scan the keyboard directly do not translate between systems (even if you can get around the 40-80 column thing in hardware or software).

The business keyboard is almost, but not quite, entirely unlike the later VIC20/C64 keyboard. They do share the same mechanical frame (you can see the stickers under the unused holes where the keypad was), but the PCB is wired differently, yet another different keyboard matrix, so they two are not interchangeable.

So these are the new Commodore PET USB keyboard adapters, with a 20 pin header, a 25 way D, or both.

These are available now from my Tindie store. As ever, please use responsibly.