Beamspring USB controller

xwhatsit

28 Jul 2013, 02:30

This latest batch of Rev2 PCBs from OSH Park is taking a very long time... next time if there's enough PCBs I might consider getting them made locally, although that almost doubles the cost if there's too few.

The GUI util to configure the controller is pretty much done. I need to get it compiling under Windows now (yikes here goes another 6 hour session compiling Qt5, why is development so painful under Windows?!?! One day they'll invent package repositories and /usr/lib + /usr/include.... </rant>).

I'll call this version 0.2. Nothing's really changed in the controller code.
beamspring-usb_0.2.tar.bz2
(251.66 KiB) Downloaded 204 times
util.png
util.png (75 KiB) Viewed 11662 times
Last edited by xwhatsit on 30 Jul 2013, 10:54, edited 1 time in total.

xwhatsit

30 Jul 2013, 07:18

Apparently the OSHPark order is already shipped but there was no notification. Apologies to those waiting.

OK I've more or less done Rev3 PCB layout, which has a few changes from Rev1 and 2:
  • Surface-mount-hack mounting of edge connector, allowing board to lie flat and be used with 3278s etc.
  • Move to SPI-protocol DAC for Vref (trigger voltage); this in theory means that Vref can be changed per column or even key if necessary
  • Removal of pushbuttons for Program and Reset. There are test pads instead.
  • Larger HC49-style crystal instead of the special tiny thing that was used before. Saves some cost.
  • Solder-mounted chassis ground connection instead of massive through-hole hole
  • Last but not least---15% reduction in board size. Makes it a bit cheaper.
I really hope this will fit inside a 3278 (remember the edge connector will be soldered at 90 degrees to the board):
2013-07-30-170158_1679x1030_scrot.png
2013-07-30-170158_1679x1030_scrot.png (25.48 KiB) Viewed 11667 times
The DAC for Vref is interesting. I2C (that was used with the last DAC) is very slow and thus precludes changing Vref on the fly (if there was a dodgy column etc.). SPI is way faster (with 16MHz AVR the multipliers work out so we can communicate at 8MHz, instead of 400KHz max for I2C, although it was probably about 100-200KHz as we were bit-banging).

Unfortunately SPI DACs are more expensive, so instead of using a 12-bit DAC I went with a 10-bit. In theory this means we have a quarter of the resolution with Vref, but I'm using a three-resistor window divider to output between 0.8V and 1.6V (with 1024 possible values, so that's 0.78mV resolution) instead of before where it was outputting the full range between 0V and 5V (with 4096 possible values, so 1.22mV resolution).

The pushbuttons have gone as they are relatively expensive, take up a lot of board space (and we only really have one side now that the board is mounting `on-flat'), and are mostly useless as the controller can be reset into the bootloader for updating the firmware using the GUI util. I've left test pads on there so it can be manually reset by shorting out the pads with a screwdriver or whatever.

After I order this and make a few the next project is a Displaywriter converter---those are quite different from the other beamsprings, having 8 rows. They seem similar to a Model F controller in some respects.

Parak

31 Jul 2013, 07:08

Awesome! I don't have the board handy at the moment, but aren't the connections coming into the edge connectors on both top and bottom sides (rows on top on the right edge, iirc)? So how does surface mounting it account for the top row, or does one just bridge with some wire or somesuch?

Also I totally already ordered components for the previous board iteration - looks like another order will be needed. I'll have to compare the BOMs and stuff.. At least I didn't get the pcbs yet!

xwhatsit

31 Jul 2013, 07:18

Yes the keyboard PCB itself uses both sides, and the connector has individual top-side and bottom-side pins. However there are pads on this controller PCB on both the bottom and the top, and they are linked together with vias (see the little grey dots above the connector pads in the above pic).

As for previous board iteration---if it's for your 5251, there's no harm in using the Rev1 board (or Rev2 board if you're getting the connector with PCB pins instead of big fat solder lugs). Obviously there's the mounting issues with the 3278. And that will probably be an easier board to put together to be honest, the component spacing is wider (as lots of components on the back), and the through-hole mounting of the edge connector should be much easier to attach.

However if you're getting the Rev3 board (which you might for your 3278) then there's not a lot of difference with the components. The crystal has changed to a big cheap standard thing (HC49US), there's a couple of extra resistors (20k), and the DAC is different. All the rest is identical.

Parak

31 Jul 2013, 07:32

Aha, I get it now. Clever! The connectors that I got are the lug kind. I'd definitely want to use these on my 3278s first especially since the 5251 is lacking some bits and I already polywrapped the smaller 3278..

xwhatsit

06 Aug 2013, 11:42

Whoah! Fantastic job! I'll have to do this with my 5251 as the shield was completely toast and I removed it entirely...

mr_a500

06 Aug 2013, 21:30

I just got a new camera, so I decided to photograph my favourite keyboard:
3278.JPG
(I'm not that good a photographer yet, so I had to sharpen it a bit.)

User avatar
Muirium
µ

06 Aug 2013, 21:46

Nice composition. The keyboard's none too shabby either.

User avatar
snoopy

07 Aug 2013, 00:21

this thing looks like one could start nuclear rockets with it :D

mr_a500

07 Aug 2013, 13:58

snoopy wrote:this thing looks like one could start nuclear rockets with it :D
It's funny you should say that because as soon as I get my controller I plan on launching a tactical nuclear strike on... oh wait... I better not mention that now with the NSA listening. You'll hear about it when it happens. ;)

Seriously though, this keyboard appears to have come from a Texas army base. It had a sticker on it saying it was not to be used for classified material. Hmm.. that makes me wonder what kind of keyboard they actually used for classified material.

User avatar
kps

07 Aug 2013, 15:10

snoopy wrote:this thing looks like one could start nuclear rockets with it :D
http://news.bbc.co.uk/2/hi/uk_news/magazine/3078097.stm wrote:The big red button to fire cruise missiles is fiction, at least on board the Royal Navy submarine HMS Splendid. Instead they are fired by the click of a mouse. One crew member, filmed during the Iraq war, tells this weekend's edition of the BBC documentary Fighting the War: “A left mouse push fires it. Kinda crazy really. We actually asked for a great big red button, but they wouldn't give us one.”

User avatar
Muirium
µ

07 Aug 2013, 17:09

Movies always do it better. Especially compared to British military interfaces. Somewhere in here is the launch control for an actual nuclear missile:
Image
No mice back in the Vulcan days.
Image
Just nukes, nukes, nukes.
Image

mr_a500

07 Aug 2013, 17:49

Who the hell wants to launch a missile with a mouse button? I'm sure the main reason some of these people go into the military in the first place is to get the thrill of flipping back the protective cover on a large glowing red button and hearing the satisfying loud click, as they patriotically fire several million dollars worth of missile at an innocent wedding party during an illegal undeclared war. It's the whole red button-pushing thing that gives them the satisfaction of a job well done.

xwhatsit

15 Aug 2013, 04:17

Have assembled and tested a Rev3 board with the flat mounting. Seems to work, yay! Had to write some ugly #ifdefs in the code to handle the fact there's different DACs on different board revisions and different pin assignments for the rows.

Not too bad to assemble. The connector was attached flush to the bottom, leaving a gap to the top-side pins. I tried bending these down with pliers but they need to be overformed so sprung back up while the solder was still molten. In the end I just pushed them down with a big hoof tip on the soldering iron and lots of solder. Ugly but effective.

So we now have support for 3278s. Next step is Displaywriters.
photo 1.JPG
photo 1.JPG (123.86 KiB) Viewed 11393 times
photo 2.JPG
photo 2.JPG (118.86 KiB) Viewed 11393 times
photo 3.JPG
photo 3.JPG (124.15 KiB) Viewed 11393 times
photo 4.JPG
photo 4.JPG (130.79 KiB) Viewed 11393 times
photo 5.JPG
photo 5.JPG (158.16 KiB) Viewed 11393 times

mr_a500

15 Aug 2013, 04:30

Awesome. I must say, you're my hero. I dreamed of using this 3278 with a modern computer and you had the skills and competence to do it sooner than I ever hoped. Thank you very much. :)

User avatar
Game Theory
Mr. Despair

18 Aug 2013, 05:27

Awesome is the only word that comes to mind.

User avatar
Game Theory
Mr. Despair

22 Aug 2013, 05:33

Cleaned my 5251 today. The decontamination shield was soooooo rotted. Removed it. Hope the PCB is clean of debris!

xwhatsit

22 Aug 2013, 05:37

Game Theory wrote:Cleaned my 5251 today. The decontamination shield was soooooo rotted. Removed it. Hope the PCB is clean of debris!
Has the controller arrived yet? Hope it all goes smoothly :)

User avatar
Game Theory
Mr. Despair

22 Aug 2013, 06:31

Hasn't arrived yet. That would have been super fast if it did:) You were right the keyboards seem nearly indestructible. I wish I would have cleaned it much sooner (still in progress).

User avatar
bhtooefr

22 Aug 2013, 12:40

Game Theory wrote:Cleaned my 5251 today. The decontamination shield was soooooo rotted. Removed it. Hope the PCB is clean of debris!
Why hope, when you can know?

Support the keyboard internals on either side (not depressing any keys), and get that back cover off, then the PCB just lifts off. Then you can clean it out.

DO NOT DEPRESS ANY KEYS WHEN THE PCB IS NOT INSTALLED AND SECURED.

mr_a500

22 Aug 2013, 15:23

Game Theory wrote:Cleaned my 5251 today. The decontamination shield was soooooo rotted. Removed it. Hope the PCB is clean of debris!
My contamination shield was a filthy mess. I think there was even some bird shit on it. I removed it, disassembled the keyboard and the PCB was nearly spotless. (I say "nearly" because there was one tiny dark smudge - the composition of which I prefer not to guess. I wiped it off with isopropyl alcohol.)

User avatar
Game Theory
Mr. Despair

23 Aug 2013, 02:24

Thanks for the guidance, especially about not depressing the keys when the PCB is not installed. Guessing the fly plate gets pushed out of the bottom of the switch. I'll take a shot at examining and cleaning the PCB tonight.

Update: Checked the PCB and it was very clean. The foam above the switches seems in reasonable shape too. Though I noticed the spacebar has two switches of which only 1 appears to have a fly plate. Is that normal or am I missing one?

User avatar
Compgeke

23 Aug 2013, 16:44

My Beamsprings (3178 or 3278, can't remember at the moment) all have a non-clicky switch as one of the two spacebar switches, so I assume it's just designed to stabilize the spacebar.

User avatar
bhtooefr

23 Aug 2013, 17:39

Yep, just a stabilizer.

Both spacebar switches have a lighter return spring than a normal switch, too, to partially counteract the fact that it has two of them.

mr_a500

23 Aug 2013, 18:13

When I first got my 3278, the spacebar was crushed down and wouldn't move. The metal stabilizer bar was jammed and the holder on the left was broken. I originally thought the non-clicky switch on the left was broken (until I realized it was just there to stabilize). I thought I was screwed.

I had to remove the stabilizer bar, but luckily the space bar is still useable. It works from around the V key to the right end. I use my right thumb for space most of the time so it's not really a problem - but it would be perfect if I could add a fly plate to that non-clicky switch and make it click. The PCB has a pad under that switch that could be used.

Pressing in the middle of the space bar would click both switches, but maybe in controller software, that could be programmed to register as one press. (all theoretical because I have no chance of finding a spare fly plate to use - just as difficult as finding a spare space bar)

User avatar
daedalus
Buckler Of Springs

26 Aug 2013, 01:23

How did I manage to miss this.... Is it too late for me to get one of these PCBs?

xwhatsit

26 Aug 2013, 01:34

daedalus wrote:How did I manage to miss this.... Is it too late for me to get one of these PCBs?
Not at all. PM me with what sort of keyboard you have and I should be able to put one together reasonably quickly, I have all the bits on hand.

xwhatsit

26 Aug 2013, 01:43

mr_a500 wrote:When I first got my 3278, the spacebar was crushed down and wouldn't move. The metal stabilizer bar was jammed and the holder on the left was broken. I originally thought the non-clicky switch on the left was broken (until I realized it was just there to stabilize). I thought I was screwed.

I had to remove the stabilizer bar, but luckily the space bar is still useable. It works from around the V key to the right end. I use my right thumb for space most of the time so it's not really a problem - but it would be perfect if I could add a fly plate to that non-clicky switch and make it click. The PCB has a pad under that switch that could be used.

Pressing in the middle of the space bar would click both switches, but maybe in controller software, that could be programmed to register as one press. (all theoretical because I have no chance of finding a spare fly plate to use - just as difficult as finding a spare space bar)
You could always pinch one from some strange key you don't use. I treat my 3727 (which has a similar layout to a 3278) as close to an ISO layout, but with a wide backslash/pipe (marked as Backtab). So there is a vertical Return. That means I have a `spare' key to the left of the vertical Return, above the RShift. I just have it set up as an `extra' Return, but I don't think I've ever had much cause to use it. If your layout is the same you could swap the flyplate into your spacebar.

In theory the controller will pick up that previously unused sense pad just fine. Presumably IBM has it balanced just as well as the other pads. As you'd be remapping your board anyway it'd be easy enough to put the spacebar in a different place, or add an extra. I don't think the controller would have to do anything special to ignore the extra press either; experimenting with my double-key Return, the OS just deals with it; I press one key, roll over to the other, release the first, then release the second and it sees it all as one `press' and one `release'.

User avatar
daedalus
Buckler Of Springs

26 Aug 2013, 02:15

I don't suppose the controller supports the solenoid? :D (I seem to recall it needs some odd voltage, but one can dream...)

xwhatsit

26 Aug 2013, 02:24

daedalus wrote:I don't suppose the controller supports the solenoid? :D (I seem to recall it needs some odd voltage, but one can dream...)
Ahaha no. What's it supposed to do anyway? It's a pretty damned clicky board to begin with!

Next time I have one of my boards apart I'll have to test it. I'd be a little nervous driving it from the USB bus voltage directly, I wonder what coil resistance it has... and the electrical noise it would generate when the inductor collapsed wouldn't be nice inside the case with all the tiny voltages from the capacitive switches flying around at millions times a second :o

Post Reply

Return to “Workshop”