Author Topic: The Mechanical AlphaSmart 3000  (Read 3613 times)

LazyDog and 1 Guest are viewing this topic.

Online LazyDog

  • Thread Starter
  • Posts: 20
The Mechanical AlphaSmart 3000
« on: Sun, 10 September 2017, 02:10:39 »
177963-0

What's an AlphaSmart??

The AlphaSmart was a brand of portable word-processing devices in the 90s and 00s. They were designed and sold by a company founded by former Apple engineers. They were popular with schools because of their simplicity, durability, and battery life as a low-cost writing tool for students. The AlphaSmart 3000 was the 4th model released, and the last one, the Neo, was discontinued in 2013. They can be found on eBay for about $20, and have a cult following, especially among writers who want something portable and distraction-free. Further reading: 1

The Idea

177965-1
If the AlphaSmart has one fatal flaw, it's the keyboard. Today, if you wanted to put a low-profile keyboard in a portable device, you'd use scissor switches. But in 2000, when the AS3000 was released, the solution was really flat, really bad rubber domes. The little domes themselves have these long, narrow nipples that come up to meet the keycaps, so in effect it's like the keys are being depressed onto a rubber slider, creating probably the most squishy and insubstantial keyfeel of any keyboard this side of the ZX Spectrum. I had previously purchased an AS3000 for about US$5 at a thrift store which I loved, and I felt I could fix this problem by replacing the rubber domes with mechanical switches.
177967-2
I didn't know how I'd do it when I first had the idea, but I opened it up and found the keyboard is a separate board connected to the main board via two FPCs, so all I needed to do was recreate the matrix on a PCB and connect it with flex cables. What follows is a description of this process, as well as the mistakes made along the way.

The Design

First I decided on a layout. The AlphaSmart uses standard key sizes for most of the keys, except the top row of keys, which are 0.85U, and the arrow keys, which are 0.92U by 0.66U. I reduced the spacebar and rearranged the keys to make everything fit, and ended up with this layout
177973-3
177969-4
The keyboard itself is a tight sandwich of plastic affixed to an aluminum plate, and to get to the key matrix, I'd have to cut into the plastic. I purchased a sacrificial liquid-damaged AlphaSmart on eBay and and set about disassembling the keyboard with a pair of flush cutters. I was left with the two layers of FPC that the matrix was printed on, and so began mapping it out in a spreadsheet. This is the result, with 16 lines on the bottom layer and 10 on the top layer (one of which is unused)
177971-5
Finally I measured the board and traced it on a large piece of graph paper with notes and measurements. I'm no draftsman, and the resulting diagram was pretty muddled. The measurements, however, ended up being surprisingly accurate.

I designed the PCB in KiCAD. This was my first time using KiCAD or any EDA software. I found it surprisingly straightforward and accessible, but also like most open-source software, possibly designed for use by aliens. I never figured out how to use the push-and-shove router efficiently, so the traces are routed by hand, and in some cases look like they were routed by a crazy person. The results are linked towards the bottom of this post. The cheapest fabrication service I could find was EasyEDA for a minimum of 5 PCBs. I ordered those, as well as the switches, caps, and various other components (see below). The switches and caps came from KBDFans, everything else came from Mouser. I briefly considered trying to find some of those Kailh low-profile switches to preserve the device's size, but decided there wasn't enough information on them available and went with Gateron blues instead, which increase the keyboard's height by about a centimeter.

Building It

177975-6
When everything had arrived, I tested how the PCB fit in the case. To my surprise and delight, all the screw holes lined up and all the keys produced the right signal when shorted. The only problem was a plastic standoff from the top half of the case that I had failed to account for slightly intersected with the top edge of the board and made it impossible to close the case.
177977-7
I considered fixing my design and ordering more PCBs because I wanted the keyboard to fit perfectly in the place of the old keyboard, but I decided it would be cheaper and easier to just cut away the obstructing plastic. I did this by heating a dollar store hobby knife with a lighter so it cut the plastic like butter. This is not a good idea at all, but it worked. Then I placed and soldered the connectors and switches, and assembled and attached the stabilizers.
177979-8177981-9177983-10
After carefully connecting the flex cables, screwing it all together, and placing the keycaps, I finally had a fully working machine! It produces predictably loud tock tock tock noises, and is an enormous improvement over the previous keys. Here I'm comparing it to the old keyboard and working on my 3rd grade book report on Island of the Blue Dolphins.
177985-11

The Files, and RevB
After finishing this mod, I made a revised version of the PCB. It has these major differences:
  • Sharp corners have been smoothed and case standoffs which were previously misplaced have been moved to their correct location, although they did not make a significant difference
  • Space was made for the top standoff and the board should now fit in unmodified cases.
  • Added a feature that only occurred to me after ordering the PCBs. A common criticism of the AlphaSmart 3000 is that it's too easy to accidentally hit the power key, especially in transportation or storage. To help with this I moved the key over to make room for a DIP switch that allows for "locking" the power key. Note that this has the effect of making the power key 1U instead of 1.25U. If one wishes to forgo this feature, one can simply jump the pads.

Here are the KiCAD and Gerber files for the PCB. Because of the mistakes in the first version that were corrected in the second, I strongly recommend against using the first design. Use revB instead.

The parts needed to build this mod are:
  • An AlphaSmart 3000
  • 80x MX-compatible PCB-mounted switches
  • Keycaps, probably any unsculpted, fullsize set
  • 3x 2U Cherry stabilizer kits
  • 1x Molex 15167-0311 16-contact FFC or equivalent (Mouser: 538-15167-0311)
  • 1x Molex 15167-0245 10-contact FFC or equivalent (Mouser: 538-15167-0245)
  • 1x FCI SLW16R-1C7LF 16-pin FFC connector or equivalent (Mouser: 649-SLW16R-1C7LF)
  • 1x FCI HLW10R-2C7LF 10-pin FFC connector or equivalent (Mouser: 649-HLW10R-2C7LF)
  • Optionally 1x 1-position SPST DIP switch 611-BD01 seems to work, although I haven't tried it. Confirm that the keycaps don't bump against the switch. If you prefer, use a jumper wire instead.
« Last Edit: Sun, 17 September 2017, 18:31:20 by LazyDog »

Offline OldIsNew

  • Posts: 70
Re: The Mechanical AlphaSmart 3000
« Reply #1 on: Sun, 10 September 2017, 11:44:01 »

Great job! That looks like a cool little machine.

Online Unxmaal

  • Posts: 12
Re: The Mechanical AlphaSmart 3000
« Reply #2 on: Sun, 10 September 2017, 12:07:43 »
Are you selling any of the remaining PCBs?

Offline sam0s

  • Posts: 92
  • Location: US-SC
  • Keyboards are cool!
Re: The Mechanical AlphaSmart 3000
« Reply #3 on: Sun, 10 September 2017, 14:26:48 »
Very cool! I've thought about making a standalone product similar to this. Great execution my man!
-sam

Online LazyDog

  • Thread Starter
  • Posts: 20
Re: The Mechanical AlphaSmart 3000
« Reply #4 on: Sun, 10 September 2017, 14:53:45 »
Unxmaal, I hadn't planned to because, as noted, they don't fit perfectly in the case without modifying it slightly, but if anyone still wants one of the 4 remaining, sling me a PM and we can try to work something out. I'm thinking US$23+shipping via PayPal for the PCB plus some some extra connectors and cables I got.

Edit: 2 remaining, $20+shipping for just the PCB
« Last Edit: Mon, 11 September 2017, 21:21:48 by LazyDog »

Offline sam0s

  • Posts: 92
  • Location: US-SC
  • Keyboards are cool!
Re: The Mechanical AlphaSmart 3000
« Reply #5 on: Sun, 10 September 2017, 20:47:35 »
Are you selling any of the remaining PCBs?

Build one and bring it to Atlanta :P
-sam

Online Unxmaal

  • Posts: 12
Re: The Mechanical AlphaSmart 3000
« Reply #6 on: Mon, 11 September 2017, 08:25:28 »
I'm working on it! I have an Alphasmart 3000 ordered for end of week. Now I need switches... and the PCB!

Offline sam0s

  • Posts: 92
  • Location: US-SC
  • Keyboards are cool!
Re: The Mechanical AlphaSmart 3000
« Reply #7 on: Mon, 11 September 2017, 11:14:21 »
I'm working on it! I have an Alphasmart 3000 ordered for end of week. Now I need switches... and the PCB!

Hype, can't wait to try it!
-sam

Offline vrf

  • Posts: 4
Re: The Mechanical AlphaSmart 3000
« Reply #8 on: Mon, 11 September 2017, 11:22:33 »
Great work!

Have you considered putting one of those PCBs in a Neo? The matrix is the same, and I pretty sure the keyboard's physical size is as well.

Online LazyDog

  • Thread Starter
  • Posts: 20
Re: The Mechanical AlphaSmart 3000
« Reply #9 on: Mon, 11 September 2017, 15:19:54 »
Great work!

Have you considered putting one of those PCBs in a Neo? The matrix is the same, and I pretty sure the keyboard's physical size is as well.

Interesting idea! I didn't know the matrices were the same (is there a repository for that info? I'm looking at the Neo layout and it seems to have replaced the right Option key with a Delete key), but I don't know if the dimensions are the same. If you look at the 3000's keyboard, you'll notice that there's space between the first and second rows that allows the top row of the mechanical mod to be a full unit in height. The Neo doesn't seem to have this extra space.

Offline vrf

  • Posts: 4
Re: The Mechanical AlphaSmart 3000
« Reply #10 on: Mon, 11 September 2017, 16:06:42 »
Oops, right, there is a little sliver of extra space there in the top two rows. And maybe Neo's arrow keys eat up a tad more space on the bottom, too.

As for the matrix, I disassembled a spare Neo and checked the matrix against some other guy's chart who was ripping apart an AS3K. The matrix is the same, although of course Neo interprets that one button as a delete instead of another option key. (Dana's matrix is the same, too, as I've used used a Dana keyboard in a Neo before. Worked great.)

I've been toying with a similar idea, for a Neo or Dana. I was wondering if I should just cut a new case, though, so I could use standard labeled keycaps. I couldn't figure out a way to fit that requirement, along with the inverted T-shaped arrow cluster, into an existing case. I was also thinking of adding a Bluetooth converter into the box.

Some rough sketches:
http://www.keyboard-layout-editor.com/#/gists/294a1ee229f96dca9d3b

 

Online LazyDog

  • Thread Starter
  • Posts: 20
Re: The Mechanical AlphaSmart 3000
« Reply #11 on: Mon, 11 September 2017, 16:32:01 »
Oh wow that looks really cool. I'll be honest, I mostly did it the way I did because I thought it would be relatively easy.

Offline wolf

  • Posts: 66
  • Location: Manawatu, New Zealand
  • Ah, yeah, g'day.
Re: The Mechanical AlphaSmart 3000
« Reply #12 on: Wed, 13 September 2017, 03:42:15 »
What an awesome job, LazyDog.

I'm in awe of your skills at working out the circuit board.
Have keyboard, will travel...
  • Wolf Ergoboard Mk 1
  • Logitech Trackman Wheel

Offline linuxfanatic

  • Posts: 177
  • Location: Perth, Western Australia
  • E N G L A N D I S M Y C I T Y
Re: The Mechanical AlphaSmart 3000
« Reply #13 on: Wed, 13 September 2017, 06:25:41 »
Very cool board! One thing though, is there any way to export the file you write on this, to say, a USB or something?
The LF60 project is dead. Please don't ask me to buy one etc.

Online Unxmaal

  • Posts: 12
Re: The Mechanical AlphaSmart 3000
« Reply #14 on: Wed, 13 September 2017, 06:52:33 »
@linuxfanatic The Alphasmart was designed to dump its  contents into whatever device it was connected to. It has USB built in (and infrared!)

https://www2.cliu.org/documents/assistiveTech/alphsmart%20directions.pdf

Offline linuxfanatic

  • Posts: 177
  • Location: Perth, Western Australia
  • E N G L A N D I S M Y C I T Y
Re: The Mechanical AlphaSmart 3000
« Reply #15 on: Wed, 13 September 2017, 07:18:17 »
@linuxfanatic The Alphasmart was designed to dump its  contents into whatever device it was connected to. It has USB built in (and infrared!)

https://www2.cliu.org/documents/assistiveTech/alphsmart%20directions.pdf

Wow, thanks for the info!
The LF60 project is dead. Please don't ask me to buy one etc.

Online LazyDog

  • Thread Starter
  • Posts: 20
Re: The Mechanical AlphaSmart 3000
« Reply #16 on: Wed, 13 September 2017, 08:14:08 »
To be clear, it doesn't have the capability to write directly to a flash drive without an intervening computer. What it has is the ability to connect via USB-B to any computer and be seen as a keyboard. If you want to transfer one of the 8 files from the onboard flash memory, you hit send, and it ghost-types the text into whatever application you have open. You can print directly to a printer from a DIN-8 serial port, but this connector has proven to be significantly less future-proof.

Offline linuxfanatic

  • Posts: 177
  • Location: Perth, Western Australia
  • E N G L A N D I S M Y C I T Y
Re: The Mechanical AlphaSmart 3000
« Reply #17 on: Wed, 13 September 2017, 08:30:26 »
To be clear, it doesn't have the capability to write directly to a flash drive without an intervening computer. What it has is the ability to connect via USB-B to any computer and be seen as a keyboard. If you want to transfer one of the 8 files from the onboard flash memory, you hit send, and it ghost-types the text into whatever application you have open. You can print directly to a printer from a DIN-8 serial port, but this connector has proven to be significantly less future-proof.

I see. It would be cool to see a Raspberry Pi Zero or something inside of it that would automatically upload the text to Google Docs or something.
The LF60 project is dead. Please don't ask me to buy one etc.

Online Unxmaal

  • Posts: 12
Re: The Mechanical AlphaSmart 3000
« Reply #18 on: Wed, 13 September 2017, 09:15:29 »
I see. It would be cool to see a Raspberry Pi Zero or something inside of it that would automatically upload the text to Google Docs or something.

The beauty of the Alphasmart is that it's a minimal, single-task tool. When you add a RPi to it, it's turned into a computer -- and a mediocre one at that. It wouldn't be a hard leap to add communication to the Pi, including messaging and email, which is the death of all things productivity.

That said, it might be interesting to see if the display could be replaced with ePaper to provide better visibility. That'd require at least a Teensy to drive it, which would replace whatever is built in to the Alphasmart -- and now we've gone back to reinventing a tiny, not-great laptop.

Offline linuxfanatic

  • Posts: 177
  • Location: Perth, Western Australia
  • E N G L A N D I S M Y C I T Y
Re: The Mechanical AlphaSmart 3000
« Reply #19 on: Wed, 13 September 2017, 18:08:31 »
I see. It would be cool to see a Raspberry Pi Zero or something inside of it that would automatically upload the text to Google Docs or something.

The beauty of the Alphasmart is that it's a minimal, single-task tool. When you add a RPi to it, it's turned into a computer -- and a mediocre one at that. It wouldn't be a hard leap to add communication to the Pi, including messaging and email, which is the death of all things productivity.

That said, it might be interesting to see if the display could be replaced with ePaper to provide better visibility. That'd require at least a Teensy to drive it, which would replace whatever is built in to the Alphasmart -- and now we've gone back to reinventing a tiny, not-great laptop.

Yeah, that's going to be a problem. Maybe there's another SBC of some sort that isn't powerful enough to communicate and such but acn still upload the document to G Docs?
The LF60 project is dead. Please don't ask me to buy one etc.

Offline vrf

  • Posts: 4
Re: The Mechanical AlphaSmart 3000
« Reply #20 on: Thu, 14 September 2017, 16:32:21 »
Yeah, that's going to be a problem. Maybe there's another SBC of some sort that isn't powerful enough to communicate and such but acn still upload the document to G Docs?

I'd love to put a simple SBC in an AlphaSmart Dana. But how does one reverse engineer the old PDA LCD?

Keyboard is easy. But that display...

Online Unxmaal

  • Posts: 12
Re: The Mechanical AlphaSmart 3000
« Reply #21 on: Sun, 17 September 2017, 17:47:35 »
Build log for mine: https://imgur.com/a/iEXqT

Online LazyDog

  • Thread Starter
  • Posts: 20
Re: The Mechanical AlphaSmart 3000
« Reply #22 on: Sun, 17 September 2017, 17:56:01 »
Oh man that looks really cool with the keycaps and the darker case. Did you already have a stepped caps lock?

Online Unxmaal

  • Posts: 12
Re: The Mechanical AlphaSmart 3000
« Reply #23 on: Sun, 17 September 2017, 18:24:00 »
I have a pile of Granite sets (mostly due to ordering errors on my part).

The dark gray are DSA Dolch. White are HC Granite. Light grey are regular Granite.

Offline albill

  • Posts: 7
  • Location: Oakland, CA
Re: The Mechanical AlphaSmart 3000
« Reply #24 on: Tue, 19 September 2017, 01:00:44 »
Build log for mine: https://imgur.com/a/iEXqT

Mine is at https://imgur.com/a/XQPAs

I have a series of keys, a bunch in one row and a couple here and there, that aren't working. I used Gateron Clear switches. I'm wondering if it is bad switches or something else. I used rev 2 of the PCB here, ordered for EasyEDA (which took only seven days from order to arrival in California from China).

Online LazyDog

  • Thread Starter
  • Posts: 20
Re: The Mechanical AlphaSmart 3000
« Reply #25 on: Tue, 19 September 2017, 07:52:13 »
Because Q, W, E, and R are all connected to the 5th pin (counting from the left if you're looking at the top of the board) of the 10-pin connector, the first place to check would be the solder joint there, and after that the connection through the cable. Are those all the switches that aren't working?

You're the first person to try the revB board (and thank you for that!), so I won't completely deny the possibility that there's something wrong with it. But the schematic is nearly the same besides addition of the DIP switch.
« Last Edit: Tue, 19 September 2017, 07:53:50 by LazyDog »

Online Unxmaal

  • Posts: 12
Re: The Mechanical AlphaSmart 3000
« Reply #26 on: Tue, 19 September 2017, 08:42:46 »

I have a series of keys, a bunch in one row and a couple here and there, that aren't working. I used Gateron Clear switches. I'm wondering if it is bad switches or something else. I used rev 2 of the PCB here, ordered for EasyEDA (which took only seven days from order to arrival in California from China).
[/quote]

Could you please post some high-res pics of your PCB?

Also, I had to re-seat the ribbon cable twice. It looked like it was all the way in, but it wasn't.

Offline albill

  • Posts: 7
  • Location: Oakland, CA
Re: The Mechanical AlphaSmart 3000
« Reply #27 on: Tue, 19 September 2017, 14:32:25 »
Because Q, W, E, and R are all connected to the 5th pin (counting from the left if you're looking at the top of the board) of the 10-pin connector, the first place to check would be the solder joint there, and after that the connection through the cable. Are those all the switches that aren't working?

It is those ones, File 6, U, I, O, P (in a row), and V.

Could you please post some high-res pics of your PCB?
Which part? My ****ty soldering technique? :-)

Quote
Also, I had to re-seat the ribbon cable twice. It looked like it was all the way in, but it wasn't.

I had wondered. I notice that the smaller one doesn't lock in on the original PCB.

Online LazyDog

  • Thread Starter
  • Posts: 20
Re: The Mechanical AlphaSmart 3000
« Reply #28 on: Tue, 19 September 2017, 15:01:26 »
U, I, O, and P (as well as Home, if that is not working) are also on pin 5, so yeah, that would be my first guess. I couldn't say for sure why V and File 6 aren't working, but again my first guess would be the soldering of the individual switches. A multimeter wpuld come in very handy here to see where the break in the path is.

Offline albill

  • Posts: 7
  • Location: Oakland, CA
Re: The Mechanical AlphaSmart 3000
« Reply #29 on: Tue, 19 September 2017, 15:04:36 »
U, I, O, and P (as well as Home, if that is not working) are also on pin 5, so yeah, that would be my first guess. I couldn't say for sure why V and File 6 aren't working, but again my first guess would be the soldering of the individual switches. A multimeter wpuld come in very handy here to see where the break in the path is.
First guess being "badly seated cable or soldered connection for cable"?

Offline albill

  • Posts: 7
  • Location: Oakland, CA
Re: The Mechanical AlphaSmart 3000
« Reply #30 on: Tue, 19 September 2017, 15:06:56 »
Great work!

Have you considered putting one of those PCBs in a Neo? The matrix is the same, and I pretty sure the keyboard's physical size is as well.

Interesting idea! I didn't know the matrices were the same (is there a repository for that info? I'm looking at the Neo layout and it seems to have replaced the right Option key with a Delete key), but I don't know if the dimensions are the same. If you look at the 3000's keyboard, you'll notice that there's space between the first and second rows that allows the top row of the mechanical mod to be a full unit in height. The Neo doesn't seem to have this extra space.

I have a Neo2 as well and I took it apart last night to take a look. The boards definitely won't work just because the ribbon cable connector is completely different and in a different location. I didn't pull the KB out of my Neo2 as it doesn't screw in the way it does on the Alphasmart 3000. It's behind part of the case so it must somehow be removed from the key side (maybe screws under the keys). The Neo2 has a lot less material in the case, etc. than the A3000.

Online LazyDog

  • Thread Starter
  • Posts: 20
Re: The Mechanical AlphaSmart 3000
« Reply #31 on: Tue, 19 September 2017, 16:46:00 »
albill, i meant to suggest checking the solder joints on the 5th connector pin, as well as the pins on the V and File 6 switches. 2nd possibility would be some sort of dirt on the contacts of the connectors and cables themselves. If the connector simply wasn't properly seated, i'd expect more than one row to be disconnected. Again, a multimeter or some other method of checking the continuity of each section of the connection would be very useful.

Offline albill

  • Posts: 7
  • Location: Oakland, CA
Re: The Mechanical AlphaSmart 3000
« Reply #32 on: Wed, 20 September 2017, 13:20:25 »
All right. I took it apart, looked at my solder joints and...

1. One key was not soldered at all (WTF? I guess I had too much beer that evening...) - fixed
2. One key had a bent pin that hadn't gone through correctly - fixed
3. Checked all of the connector pins, did some melting of solder on them to make sure everything had flowed in correctly

Then I tested and everything seemed to work so I screwed the board onto the case, tested and...I was getting a 'w' everytime I pushed 'e'... WTH?

4. Unscrew, play with fragile ribbon cables, test

Worked fine

5. Screw in...same problem (or one with another key).

Finally, the light turns on. "Maybe it is when it is screwed down...why would it do that... Oh, I didn't clip the soldered pins because I thought there was lots of room. Maybe I'm shorting on something..." Turns out that the switch pins were just long enough, it looks like, over there to touch a PCB component or something. Got the flush wire cutters, clipped everything, reassembled and it all works with no problems now.



Online LazyDog

  • Thread Starter
  • Posts: 20
Re: The Mechanical AlphaSmart 3000
« Reply #33 on: Wed, 20 September 2017, 14:23:11 »
That looks fantastic! One of my favorite things about the AlphaSmart 3000 is the translucent plastic case, and I think those keys complement it perfectly. I will point out that the intended layout has a 1.5U tab key and a 1.25U caps lock, leaving a 0.5U gap between caps lock and the A key (I know it's strange, but it allows compatibility with keysets that only have 1 1.75U key, which I believe is most of them).

Offline albill

  • Posts: 7
  • Location: Oakland, CA
Re: The Mechanical AlphaSmart 3000
« Reply #34 on: Wed, 20 September 2017, 15:24:00 »
That looks fantastic! One of my favorite things about the AlphaSmart 3000 is the translucent plastic case, and I think those keys complement it perfectly. I will point out that the intended layout has a 1.5U tab key and a 1.25U caps lock, leaving a 0.5U gap between caps lock and the A key (I know it's strange, but it allows compatibility with keysets that only have 1 1.75U key, which I believe is most of them).
I looked at my pile of clear caps and this is what I had to work with...

Offline albill

  • Posts: 7
  • Location: Oakland, CA
Re: The Mechanical AlphaSmart 3000
« Reply #35 on: Wed, 20 September 2017, 15:24:49 »
I really want to do this with a Neo2, as it is a better device, but coming up with a PCB and learning Kicad may be more than I want to do.  :-\