Author Topic: Making a cheap Model M USB controller  (Read 101119 times)

0 Members and 1 Guest are viewing this topic.

Offline kishy

  • Posts: 1576
  • Location: Windsor, ON Canada
  • Eye Bee M
    • http://kishy.ca/
Making a cheap Model M USB controller
« Reply #50 on: Wed, 13 January 2010, 13:52:55 »
Wow, that was quick...thanks!

I'm not immediately in a position to build one (no programmer, parts not on-hand) but I'll be sure to try this out as soon as I have the supplies handy (don't hold your breath though, I'm now back in school and already exhausted).
Enthusiast of springs which buckle noisily: my keyboards
Want to learn about the Kishsaver?
kishy.ca

Offline Mnemonix

  • Thread Starter
  • Posts: 163
Making a cheap Model M USB controller
« Reply #51 on: Wed, 13 January 2010, 14:48:40 »
Quote from: ripster;150604
That schematic reminds me - what do the jumpers do?   I thought at first they were LED headers but they're not.


Only one of the jumpers does something meaningful at the moment, the one that is labeled KM0 in the circuit. When closed, it forces the controller to use the default QWERTY key map that is hard-coded into the controller (not stored in EEPROM). Hence the name, Key Map 0 (zero). This comes handy if you have uploaded and activated a broken key map, which, if "broken enough", may prevent you from switching to a good key map, thus bricking the device in worst case.

Before I had the software-based key map switching implemented, the key map had to be configured via the jumpers, that's why there are so many of them. Now they are just connections to unused I/O pins and should be left open. Who knows, maybe they will be of use in the future. For instance, one of them could activate the boot loader (now activated by holding down Escape on power up), clear the EEPROM, drive an LED, or something like that.

Jumper KM0 is the one closest to the microcontroller on my Model M controller. Thanks for asking, I'll add that info to the article.

Offline InSanCen

  • Posts: 560
Making a cheap Model M USB controller
« Reply #52 on: Wed, 13 January 2010, 18:36:37 »
While I am just sourcing parts at the moment, could you by any chance do a map for a 1391406? I'm not sure I understand just how to map it myself.

I've wanted to play around with the ATMega's anyway, so making a programmer isn't too big a hassle, and will get other uses. (I plan to make a rotating platform for a Directional 2.4Ghz antenna, based on stepper motors).
Currently Using :- IBM M13 1996, Black :
Currently Own :- 1391406 1989 & 1990 : AT Model F 1985 : Boscom 122 (Black) : G80-3000 : G80-1800 (x2) : Wang 724 : G81-8000LPBGB (Card Reader, MY) : Unitek : AT102W : TVS Gold :
Project\'s :- Wang 724 Pink-->White Clicky : USB Model M : IBM LPFK :
Pointing stuff :- Logitech MX-518 : I-One Lynx R-15 Trackball : M13 Nipple : Microsoft Basic Optical\'s
:

Offline Mnemonix

  • Thread Starter
  • Posts: 163
Making a cheap Model M USB controller
« Reply #53 on: Wed, 13 January 2010, 18:50:46 »
Quote from: InSanCen;150675
While I am just sourcing parts at the moment, could you by any chance do a map for a 1391406? I'm not sure I understand just how to map it myself.

The '406 should be the same as a '403, except for key caps, no?

The two "ISO keys" are recognized by the '401 firmware, and I have tested the controller with the '401 firmware inside a '403 and two US Minis. I think it would work with a '406, too.

Offline Mnemonix

  • Thread Starter
  • Posts: 163
Making a cheap Model M USB controller
« Reply #54 on: Thu, 14 January 2010, 02:55:28 »
Quote from: ripster;150697
When I'm done I'll publish a Mouser parts list with parts for US Geekhackers.


Sorry, I forgot to include the FFC connectors on my parts list (now added). If Mouser sells these, make sure to include them on your list, too.
These tend to be hard to obtain, though. I was lucky to get mine from a nearby company as samples...

Quote from: ripster;150697
BTW - the Molex USB connectors are great - better than the cheap ones.


I only have the cheap ones (0.18 Euro), but they look similar to yours; maybe not as shiny. My electronic distributor (Reichelt) doesn't seem to have Molex connectors.

Offline Shawn Stanford

  • Posts: 368
Making a cheap Model M USB controller
« Reply #55 on: Thu, 14 January 2010, 09:06:15 »
Well, I've never done circuitry in my life (I'm a software guy), but I'm going to give this a shot. Of course: I'm going to wait a tad longer for the bolder types to beat down a path for me. Especially Kishy, who I know is going to smurf on a 122 key, which is what interests me.
The Brat Prince of COBOL

Offline InSanCen

  • Posts: 560
Making a cheap Model M USB controller
« Reply #56 on: Fri, 15 January 2010, 16:21:24 »
WRT the membrane connectors.

I suspect that using Card Edge connectors, and pushing the pins further out than normal should grip it nicely. If not, and the connections are only connected on one side, then maybe something to pad it out?

Quote from: Mnemonix;150679
The '406 should be the same as a '403, except for key caps, no?

The two "ISO keys" are recognized by the '401 firmware, and I have tested the controller with the '401 firmware inside a '403 and two US Minis. I think it would work with a '406, too.

Well, when I get a programmer together, we'll find out.
Currently Using :- IBM M13 1996, Black :
Currently Own :- 1391406 1989 & 1990 : AT Model F 1985 : Boscom 122 (Black) : G80-3000 : G80-1800 (x2) : Wang 724 : G81-8000LPBGB (Card Reader, MY) : Unitek : AT102W : TVS Gold :
Project\'s :- Wang 724 Pink-->White Clicky : USB Model M : IBM LPFK :
Pointing stuff :- Logitech MX-518 : I-One Lynx R-15 Trackball : M13 Nipple : Microsoft Basic Optical\'s
:

Offline kishy

  • Posts: 1576
  • Location: Windsor, ON Canada
  • Eye Bee M
    • http://kishy.ca/
Making a cheap Model M USB controller
« Reply #57 on: Fri, 15 January 2010, 16:22:51 »
Quote from: InSanCen;151176
WRT the membrane connectors.

I suspect that using Card Edge connectors, and pushing the pins further out than normal should grip it nicely. If not, and the connections are only connected on one side, then maybe something to pad it out?


Sounds feasible to me, but spacing may be off. I think an 8-bit ISA slot would be the closest match.
Enthusiast of springs which buckle noisily: my keyboards
Want to learn about the Kishsaver?
kishy.ca

Offline Specter_57

  • Posts: 143
WRT connecters...
« Reply #58 on: Fri, 15 January 2010, 18:52:23 »
*Possibly*....

Old ribbon cables, ones with connectors for 5.25 floppy drives...force a piece of something or other in one side to wedge the membrane contacts against the metal ones...


Just a thought.

.

Spec57
« Last Edit: Fri, 15 January 2010, 19:00:51 by Specter_57 »

Offline clee

  • Posts: 57
Making a cheap Model M USB controller
« Reply #59 on: Mon, 18 January 2010, 03:26:07 »
Whoa, this thread totally took me by surprise.

(I did the RUMP board/firmware.)

If you're looking for new-stock connectors for the keyboard matrix, these are some compatible MOLEX part numbers. I asked them for an engineering sample and they sent me 10x of each type for free, no questions asked.

0022023083 (eight pins)
0022023123 (twelve pins)
0022023163 (sixteen pins)

Unfortunately, Mouser doesn't stock them. I have verified first-hand that they're totally workable replacements for the originals, though. And actually it looks like these might be exactly the parts that the Unicomp circuit board is using.

Offline clee

  • Posts: 57
Making a cheap Model M USB controller
« Reply #60 on: Mon, 18 January 2010, 03:28:20 »
Whoa, this thread totally took me by surprise.

(I did the RUMP board/firmware.)

If you're looking for new-stock connectors for the keyboard matrix, these are some compatible MOLEX part numbers. I asked them for an engineering sample and they sent me 10x of each type for free, no questions asked.

0022023083 (eight pins)
0022023123 (twelve pins)
0022023163 (sixteen pins)

Unfortunately, Mouser doesn't stock them. I have verified first-hand that they're totally workable replacements for the originals, though. And actually it looks like these might be exactly the parts that the Unicomp circuit board is using.

Offline Mnemonix

  • Thread Starter
  • Posts: 163
Making a cheap Model M USB controller
« Reply #61 on: Mon, 18 January 2010, 05:01:36 »
Quote from: clee;151713
Whoa, this thread totally took me by surprise.

(I did the RUMP board/firmware.)

Hey, nice to hear from you again (we've mailed last year)! :)

Quote from: clee;151713
0022023083 (eight pins)
0022023123 (twelve pins)
0022023163 (sixteen pins)

Do you have a number for a 4-pin connector, too (for the LEDs)?
Edit: And for a 20-pin connector for the terminal keyboards?
Then again, it should be possible to cut one of the longer connectors, and seal the open end with tape to get a 4 pin one.

Offline kishy

  • Posts: 1576
  • Location: Windsor, ON Canada
  • Eye Bee M
    • http://kishy.ca/
Making a cheap Model M USB controller
« Reply #62 on: Mon, 18 January 2010, 07:28:37 »
Looks like 4 pin is 0022023043

20 pin should be 0022023203
Enthusiast of springs which buckle noisily: my keyboards
Want to learn about the Kishsaver?
kishy.ca

Offline Mnemonix

  • Thread Starter
  • Posts: 163
Making a cheap Model M USB controller
« Reply #63 on: Mon, 18 January 2010, 10:11:38 »
Quote from: kishy;151179
Sounds feasible to me, but spacing may be off. I think an 8-bit ISA slot would be the closest match.

I've read somewhere that someone has successfully used an ISA connector as an ersatz-connector for a 2.54 mm pitch flat cable. I cannot find that reference anymore, however.
An ISA connector is also rather big, so it might be challenging to use one on the controller, depending for which keyboard it would be used. And you'll have to get creative on how to keep the cable inside the connector and getting good contact. I would try to avoid applying too much force to the membrane connectors so not to rub off the traces, or even damage the foil.

Some people are reporting that they are soldering wires directly to the traces on the membrane, but I've never tried this (and won't).

This is what I did on my first prototype board (now sitting inside a 1391403) when I had no 4-pin connector:





These are two small pieces of stripboard tightly screwed together so that the contacts on the flat cable are pushed against the copper strips of one of the boards.
Only one of the stripboard pieces is making contact to the traces on the flat cable, the other piece could also be any piece of plastic or something (I think I've removed all copper from the top board seen in the second picture).
There is a small sheet of foam between the flat cable and the top piece of stripboard to help distributing the force evenly to the foil. Four wires are going from the four copper strips on the "sandwich connector" to the main board of the controller.

Note that you cannot insert or remove the flat cable on this connector without loosening the two screws and nuts (invisible below the electrical tape) that are pressing together the stripboard pieces.
This makes it a ZIF connector! :) (ZIF = zero insertion force)

Offline Specter_57

  • Posts: 143
Connections to the membrane traces...
« Reply #64 on: Mon, 18 January 2010, 10:51:07 »
Mnemonix :

Ummm....Soldering...onto the membranes?

 I"d not think it possible...certainly risky as you said...and like you would never even consider that as do-able....

...but perhaps some sort of connection to the membrane traces using conductive ink or adhesive would work...maybe in combination with your method.

 Your method is certainly practical and effective..and proven

 Was thinking along the same lines myself...but you beat me to it, long ago it seems, and proven it"s worth.  :-)

Very Good work.  Imaginative.

..........

Spec57

.........

Offline Specter_57

  • Posts: 143
Comment and a question or two...
« Reply #65 on: Wed, 20 January 2010, 12:50:44 »
Mnemonix:

In your revised schematic, for the 122 key terminal keyboard, post #64... I see that you implemented a shift-register to handle 8 of the column I/O lines, in imitation of the original IBM 4:16 multiplexer.

Just thinking...if you were to do that for the 8 row lines using the proper shift register and leaving the column lines direct connected...would that not have been maybe easier programming-wise as well as...well...conceptually, a "neater" design?

Also, I know your preference is USB for the interface...but would it be feasible to have this controller operate in PS/2?, perhaps mode-selectable by jumper?

BTW...This is NOT Criticism of your work in any way.

 A terrific project, and many thanks for sharing your information with us so freely.

...........

Spec 57
« Last Edit: Wed, 20 January 2010, 20:41:57 by Specter_57 »

Offline Mnemonix

  • Thread Starter
  • Posts: 163
Making a cheap Model M USB controller
« Reply #66 on: Wed, 20 January 2010, 15:17:37 »
Quote from: specter_57;152341
Just thinking...if you were to do that for the 8 row lines using the proper shift register and leaving the column lines direct connected...would that not have been maybe easier programming-wise as well as...well...conceptually, a "neater" design?


We have different ideas of "rows" and "columns" as it seems. I've called the bunch of 20 lines the rows, and the other 8 lines the columns. No problem, just terminology.

But it's true, you could use a 74HC165 or similar to read out the 8 columns instead of driving 8 of the rows with a 74HC164 as done in the current design. Instead of the 8 diodes to protect the outputs of the 74HC164 from themselves, you'd have to use 8 pull-up resistors to pull the columns to a defined high level (the rows are driven in inverted logic, so that the active row is pulled to low level). Resistors and the 74HC165 are slightly more expensive than diodes and the 74HC164, respectively, at my electronics distributor; so I could use this as an excuse for the design decision. :wink:

The real reason, however, is that I have simply re-used my design (thus part of the firmware) for the IBM M4-1, which has 9 columns. I needed even more MCU I/O pins on that design for the trackpoint, so I've used 2 chained shift registers to drive 16 of the rows. It was the better choice for that design, but probably not for the terminal keyboard. I just didn't consider this alternative anymore.

I think we should change the design to use a 74HC165 for reading the columns. It's really nicer, also from the firmware's point of view. The matrix scan rate would suffer a bit, but that's most probably not a problem here.

Quote from: specter_57;152341
also, i know your preference is usb for the interface...but would it be feasible to have this controller operate in ps/2?, perhaps mode-selectable by jumper?


Hm, maybe it could be possible to incorporate the code from Inornate's ps2avr project. Don't know how hard this would be, though.

I'm bound to say, however, that support for PS/2 mode has very low priority for me. It's not that I dislike PS/2, but the industry will stop supporting it sooner or later, no matter what the gamers say (gamers are supposed to kick out their money for game consoles). So, it's unlikely that I will start work on that any time soon. PS/2 input is a different story, though...

If someone else is willing to add PS/2 support, then I will happily provide any help needed, of course.

Quote from: specter_57;152341
A terrific project, and many thanks for sharing your information with us so freely.


That's what's so cool about open source: you've noticed a problem, and because you could see the problem, it was possible for you to come up with a better solution, thus improving the project. Impossible with closed, proprietary stuff.

Offline M13

  • Posts: 3
Making a cheap Model M USB controller
« Reply #67 on: Wed, 20 January 2010, 18:34:27 »
Ok, I've been following this discussion for a little while now, and I have a question about the idea of the SD card.. Will the said controller with SD card be recognized by any computer in ANY way as being a form of portable media or other data storage device? The reason I ask is only because some companies don't condone (or just all together banish) the use of flash or writeable media. Though a keyboard seems harmless, it could have repercussions if this was the case. I, for one, take my daily driver keyboard to work. I'm not suggesting that the SD card be removed, I just would like to know so I don't get the old "security escort to your exit interview" routine for hooking up the new controller at work. I know I could just take the safe route and not use a modded one at work, but what's the fun in that? Besides, it's become a conversation piece when work is slow "Hey, what mod are you going to do next? A coffee dispenser?" etc. *sigh* Some people just don't get it...
____________________________________________

[SIGPIC][/SIGPIC]

Offline Specter_57

  • Posts: 143
Making a cheap Model M USB controller
« Reply #68 on: Wed, 20 January 2010, 19:41:00 »
Actually took a look on Google for "ps2avr" and so the answer is a tentative "yes" to the PS\2 thing.  Of course it is possible to use that protocol.

.....
And...an amusing thought of taking the shift register thing to it"s silly extreme...ha ha...use a 74HC165 chained to three 74HC595, all of them 8-bit shift registers...the first one for the rows...and the 74HC595s for columns....for an 8x20 grid setup...you"d have four SR outputs free after taking all matrix I/O into account...and these four lines could be used for the three lock LEDs...and the last to perhaps drive an audio beeper...and all for the cost of two or three I/O lines on the MCU !!

.....
Mnemonix:

I look at the physical keyboard and assume in my mind...8 rows, 20 columns, as it gives the same sort of horizontal layout.

You and I have our row-column definitions reversed ...haha  you"re in portrait mode, me in landscape mode.
Perhaps it's a matter of European thinking vs North American thinking.

:smile:


----
Spec57

...end
« Last Edit: Wed, 20 January 2010, 21:13:39 by Specter_57 »

Offline clee

  • Posts: 57
Making a cheap Model M USB controller
« Reply #69 on: Thu, 21 January 2010, 02:08:07 »
I'm excited to see what kinds of things you guys can do with the shift registers. I'm a lazy bastard, and so I've moved on to MCUs with more GPIO pins and USB in hardware (I reimplemented the RUMP design on the PIC18F4450, and I'm seriously considering reimplementing everything AGAIN on a Cortex M3 because those have up to 51 GPIO pins).

I'll be way more blunt, though: Screw PS/2. USB is the way forward! Until the next hot input standard comes along...

Too bad bluetooth isn't more readily hackable and available. I'd love to have a Model M with native bluetooth built in.

(Also, a shout out to Mnemonix, who I didn't realize I already knew. About time you posted this stuff here! :)

Offline Mnemonix

  • Thread Starter
  • Posts: 163
Making a cheap Model M USB controller
« Reply #70 on: Thu, 21 January 2010, 04:48:16 »
Quote from: M13;152502
Ok, I've been following this discussion for a little while now, and I have a question about the idea of the SD card.. Will the said controller with SD card be recognized by any computer in ANY way as being a form of portable media or other data storage device?


The SD card idea was mentioned for the GeeKey controller, which is, unfortunately, not much more than a wish list at the moment. I've not planned SD card support into my firmware and I find it unnecessary.

Therefore, all that is recognized by the computer is a regular USB keyboard, nothing more. Because that's what I want: a simple keyboard that works well. Feature creep can easily kill a project.

Quote from: M13;152502
...so I don't get the old "security escort to your exit interview" routine for hooking up the new controller at work.


Security escorts? What a nice place to work in. :wink:

Offline Mnemonix

  • Thread Starter
  • Posts: 163
Making a cheap Model M USB controller
« Reply #71 on: Thu, 21 January 2010, 05:04:45 »
Quote from: Specter_57;152520
And...an amusing thought of taking the shift register thing to it"s silly extreme...ha ha...use a 74HC165 chained to three 74HC595, all of them 8-bit shift registers...the first one for the rows...and the 74HC595s for columns....for an 8x20 grid setup...you"d have four SR outputs free after taking all matrix I/O into account...and these four lines could be used for the three lock LEDs...and the last to perhaps drive an audio beeper...and all for the cost of two or three I/O lines on the MCU !!

Wild ideas. :) This would slow down the scan rate even more, but a cheap ATMega8 or even some ATTiny might be sufficient with this crazy approach. Ha, who needs those big MCUs with dozens of I/O pins anyway? ;)

By the way, the 74HC595 is actually nicer than the 74HC164 that I am using, because of the pin assignment. All 8 outputs are on one side of the IC. Seems easier to integrate, and there seems to be no reason why it couldn't be used as a replacement.
Is there a parallel-in serial-out register with a similar pinout?

Offline Mnemonix

  • Thread Starter
  • Posts: 163
Making a cheap Model M USB controller
« Reply #72 on: Thu, 21 January 2010, 05:23:05 »
Quote from: clee;152586
I'm a lazy bastard, and so I've moved on to MCUs with more GPIO pins and USB in hardware (I reimplemented the RUMP design on the PIC18F4450, and I'm seriously considering reimplementing everything AGAIN on a Cortex M3 because those have up to 51 GPIO pins).


Hm, that PIC18F4450 looks nice, and they come in DIL-package, too. Maybe a little short on RAM, and no EEPROM. But an external serial EEPROM is not that expensive... Too bad that Atmel doesn't offer their USB MCUs in DIP.
Do you have a web site for that project, or is it all private for now?

And an ARM Cortex would rock for sure. :)

Quote from: clee;152586
Too bad bluetooth isn't more readily hackable and available. I'd love to have a Model M with native bluetooth built in.


Ditto. Seems like Bluetooth has been crippled by patents, NDAs, and whatnot. I really don't get the advantage of this legal plague.

Offline Specter_57

  • Posts: 143
More commentary.........again!
« Reply #73 on: Thu, 21 January 2010, 08:39:38 »
..

I"m not suggesting seriously implementing the four shift registers for I/O, of course. As mentioned, it"s a silly extreme of what is possible, not necessarily practical.
And the last I"ll mention on shift registers...are you familiar with "Johnson Counters"?
A ring, or decade counter, 10 outputs per package.
A quick 'Googling' of 74HC4017 will fill you in.

I like to use the 2.54mm center DIP devices, as mentioned in previous postings, but I do acknowledge that there are other devices with up to 51 I/O pins, or more, and they make the programming aspects easier to deal with, but the physical aspects more difficult.

As always, there is a trade off. Me, I'm not overly concerned about minimum size or minimum number of components, within reason of course.

The shift register numbers I quoted are from another reference on I/O expansion I have. (Attached below). Different and more extensive than the one I linked to several postings back.

And the 'feature creep' thing...yes that is true too.
The Open Controller project and this one seem to have much in common, and a read of both threads is of course recommended, along with many others on GH.
Talk about informational 'buffer overloading' !!

I know USB is the latest greatest...and I still like the PS/2 for mice and keyboards, as it is universal and suits my purposes.
Everyone has their idea of what is desireable, or not. Human nature.

And the idea of using a PIC...well...it seems that this project can be implemented in many different ways, many different device choices and combos.

........
Spec57

...end
« Last Edit: Thu, 21 January 2010, 08:42:32 by Specter_57 »

Offline Mnemonix

  • Thread Starter
  • Posts: 163
Making a cheap Model M USB controller
« Reply #74 on: Thu, 21 January 2010, 10:44:58 »
Quote from: Specter_57;152671
And the last I"ll mention on shift registers...are you familiar with "Johnson Counters"?

Looks useful, thanks. I should really take some time for looking around what other ICs are available.

Quote from: Specter_57;152671
The shift register numbers I quoted are from another reference on I/O expansion I have. (Attached below). Different and more extensive than the one I linked to several postings back.

Thanks once more! :)

Quote from: ripster;152690
What Crystal Oscillators am I looking for?  Any particular part numbers you recommend?

That Mouser catalog is huge...
Look for 12 MHz, radial. Part  815-ABL-12-B2 does the job. Part 815-AB-12-B2 should be OK, too, but is taller and could be problematic in a Mini. There are even cheaper ones, but they don't give the dimensions of the package.

Are you going to make the 122-key controller or the one for the 1391401? If it's the 122-key, then we should settle its design first. Or order all of the ICs mentioned in this thread so far to play around with. :)

Edit: oh, it's the original one. Never mind.

Offline Specter_57

  • Posts: 143
Another parts source....
« Reply #75 on: Thu, 21 January 2010, 11:15:08 »
..
I haven"t seen mentioned here.


Avnet Express.

Huge, extensive selection..

Here:

http://avnetexpress.avnet.com/store/em/EMController?langId=-1&storeId=500201&catalogId=500201&action=home

......
Spec57
« Last Edit: Thu, 21 January 2010, 11:19:44 by Specter_57 »

Offline Specter_57

  • Posts: 143
Making a cheap Model M USB controller
« Reply #76 on: Thu, 21 January 2010, 14:29:37 »
..

Ripster.

AvnetExpress does have them, but difficult to find.on the Avnet site....what I did do was use the part numbers quoted by Clee and Krishy in Google.

ie for the 20 pin connecter, Molex Part #0022023203
I Googled "Molex 0022023203  Avnet"
and the result is this:

https://avnetexpress.avnet.com/store/em/EMController/Interconnect/Connector-FFC-FPC/_/N-100338?action=products&cat=1&catalogId=500201&cutTape=&hwPrefPart=&hwPrefSup=&inStock=&langId=-1&proto=&rohs=&storeId=500201&topSellers=&No=175

Go to this page, and search the part number I used for the example.

I"m thinking, though...maybe not a elegant as a proper connecter...but the method shown us by Mnemonix is workable and practical....and cheaper too I think.

Furthermore...being able to get easy access to the membrane leads means that one could also make up a simple breadboard circuit with LEDs that would facilitate finding the matrix connections.

I tried that at first...but wasn"t able to get proper electrical contact using the methd I tried, so had to use a multimeter when I did that trace on my terminal board.


..........
Spec57


...end
« Last Edit: Thu, 21 January 2010, 15:00:16 by Specter_57 »

Offline clee

  • Posts: 57
Making a cheap Model M USB controller
« Reply #77 on: Thu, 21 January 2010, 16:58:22 »
Quote from: Mnemonix;152615
Hm, that PIC18F4450 looks nice, and they come in DIL-package, too. Maybe a little short on RAM, and no EEPROM. But an external serial EEPROM is not that expensive... Too bad that Atmel doesn't offer their USB MCUs in DIP.
Do you have a web site for that project, or is it all private for now?


No web site yet; I still haven't been able to come to an agreement with Microchip about code licensing. I want to release all the firmware code open source—I don't particularly care about GPL vs LGPL vs BSD; I just want other people to be able to build off it like they can with the AVR-based code, but Microchip seems to be allergic to open source. Of course, you need Windows to build the code anyway, because their tools are Windows-only and kind of hostile to Mac and Linux environments.

Quote from: Mnemonix;152615
And an ARM Cortex would rock for sure. :)


Not only do the M3s have an overabundance of GPIO pins, but every single pin has individually-configurable pull-up/pull-down resistors. The PIC18 has pull-up resistors, but you can only enable or disable them for one set of GPIOs, and it's all-or-nothing on that set.

It was super-frustrating to get the PIC18 working properly, but it does a great job now, and it does have actual USB in hardware instead of the (fantastic) emulation that AVR-USB does. It seems like the Cortex chips might be as easy to work with as the AVRs, while still providing the same cheap prices and in-hardware USB features as the PIC18s.

Offline Mnemonix

  • Thread Starter
  • Posts: 163
Making a cheap Model M USB controller
« Reply #78 on: Fri, 22 January 2010, 03:43:01 »
Quote from: Specter_57;152807
AvnetExpress does have them, but difficult to find.on the Avnet site....


The problem is that they are asking for a minimum quantity in the thousands. I mean, if I could buy 100 for an acceptable price, then I would probably do that. But thousands?

Quote from: clee;152844
No web site yet; I still haven't been able to come to an agreement with Microchip about code licensing. I want to release all the firmware code open source—I don't particularly care about GPL vs LGPL vs BSD; I just want other people to be able to build off it like they can with the AVR-based code, but Microchip seems to be allergic to open source. Of course, you need Windows to build the code anyway, because their tools are Windows-only and kind of hostile to Mac and Linux environments.


Ah yes, licensing problems. You've told me about those problems; sorry to hear they are still acting like a child. :(

Quote from: clee;152844
It was super-frustrating to get the PIC18 working properly, but it does a great job now, and it does have actual USB in hardware instead of the (fantastic) emulation that AVR-USB does. It seems like the Cortex chips might be as easy to work with as the AVRs, while still providing the same cheap prices and in-hardware USB features as the PIC18s.


I didn't know the Cortex chips were that cheap. Wow. This makes the PIC18s look even less attractive, despite their native USB support. Unfortunately SMD only.

I suppose that the problems with licensing and devtools are less severe or even non-existent with the Cortex chips, right?

Offline clee

  • Posts: 57
Making a cheap Model M USB controller
« Reply #79 on: Fri, 22 January 2010, 16:51:12 »
Quote from: Mnemonix;152917
Ah yes, licensing problems. You've told me about those problems; sorry to hear they are still acting like a child. :(


Yeah. I've got a new contact who might be able to help me sort it out. Fingers crossed!

Quote from: Mnemonix;152917
I didn't know the Cortex chips were that cheap. Wow. This makes the PIC18s look even less attractive, despite their native USB support. Unfortunately SMD only.

I suppose that the problems with licensing and devtools are less severe or even non-existent with the Cortex chips, right?


I was slightly exaggerating; they're in between the prices of the PIC18s and the AVRs, slightly closer to the AVR prices once you get into large enough orders. But they still have native USB in hardware, and I've been looking for an excuse to teach myself SMD soldering anyway. :)

Licensing-wise, I hear that things are much better on the M3, and devtools-wise, I can build the code using gcc (so pretty much anywhere) and in theory flash it to the MCU without a programmer. I'm pretty excited about that!

(On the LPC1343, the Cortex-M3 instance I'm currently looking into: if you wire it up right, it shows up as a USB Mass Storage device with a single file in the root folder named 'firmware.bin'; you can read the existing firmware simply by copying this file somewhere else, and you can overwrite it by copying something else over it.)
« Last Edit: Fri, 22 January 2010, 16:55:11 by clee »

Offline trievalot

  • Posts: 246
You should sell these......
« Reply #80 on: Sun, 24 January 2010, 06:36:56 »
Ill buy one :) (or 4)
[SIGPIC]

Offline Mnemonix

  • Thread Starter
  • Posts: 163
Making a cheap Model M USB controller
« Reply #81 on: Mon, 25 January 2010, 04:12:29 »
Quote from: clee;153108
I was slightly exaggerating; they're in between the prices of the PIC18s and the AVRs, slightly closer to the AVR prices once you get into large enough orders.


I thought they were much more expensive than AVRs, but seems I was wrong. Even if they were a bit more expensive than an AVR, the fact that they have native USB, better architecture than PIC18, and are well-supported by open development tools would make them worth the money.

Quote from: clee;153108
Licensing-wise, I hear that things are much better on the M3, and devtools-wise, I can build the code using gcc (so pretty much anywhere) and in theory flash it to the MCU without a programmer. I'm pretty excited about that!

(On the LPC1343, the Cortex-M3 instance I'm currently looking into: if you wire it up right, it shows up as a USB Mass Storage device with a single file in the root folder named 'firmware.bin'; you can read the existing firmware simply by copying this file somewhere else, and you can overwrite it by copying something else over it.)


Cool, that's really convenient. So, there is no need for a boot loader at all because a fresh, unprepared LPC1343 can operate as mass storage device?
Now, if they could just make them DIP...

Quote from: trievalot;153381
Ill buy one :) (or 4)


:)

I can't sell them because the USB part of the firmware is only for free if not used commercially. As soon as I start selling them, I'd have to pay a license fee.

Offline kishy

  • Posts: 1576
  • Location: Windsor, ON Canada
  • Eye Bee M
    • http://kishy.ca/
Making a cheap Model M USB controller
« Reply #82 on: Mon, 25 January 2010, 16:46:54 »
Just confirming, the Molex parts are a 100% proper fit and match.
Enthusiast of springs which buckle noisily: my keyboards
Want to learn about the Kishsaver?
kishy.ca

Offline Mnemonix

  • Thread Starter
  • Posts: 163
Making a cheap Model M USB controller
« Reply #83 on: Tue, 02 February 2010, 10:25:07 »
So, I've updated the 122-key Model M schematics (attached). The LED-version makes use of a 74HC165 shift register now, based on the suggestion by Specter_57. The corresponding firmware looks nicer with that.

I have also tested both, the simple non-LED version and the LED-enabled version, on breadboard, and found them working well. I was able to send keystrokes to my computer, to activate the boot loader by "holding down" the Escape key while plugging in, and to flash the firmware via USB.

Now it's the turn of you terminal keyboard owners! :)
It would be cool to see one of you building an actual controller.

Offline kishy

  • Posts: 1576
  • Location: Windsor, ON Canada
  • Eye Bee M
    • http://kishy.ca/
Making a cheap Model M USB controller
« Reply #84 on: Tue, 02 February 2010, 10:39:23 »
Well...I've got the Molex connectors.

Need...everything else and someone to program the bootloader onto the chip and mail it to me.

You can bet I'll do this (for a 122), maybe even twice (as I've got two of the boards) if I get all the parts together.
Enthusiast of springs which buckle noisily: my keyboards
Want to learn about the Kishsaver?
kishy.ca

Offline Mnemonix

  • Thread Starter
  • Posts: 163
Making a cheap Model M USB controller
« Reply #85 on: Tue, 02 February 2010, 11:09:33 »
Quote from: kishy;155624
You can bet I'll do this (for a 122), maybe even twice (as I've got two of the boards) if I get all the parts together.


That's great! :) And you have the hardest-to-obtain parts already: the connectors. The rest should be easy.
Did you get the connectors as samples from Molex?

Hint: for the 8 pull-up resistors (R9--R16) in the LED version you could use something like Mouser 71-CSC09A01-22K instead of 8 separate resistors (it doesn't really matter if it's 20k or 22k; I've also tried 10k and it worked). Compact and cheap enough.

Offline kishy

  • Posts: 1576
  • Location: Windsor, ON Canada
  • Eye Bee M
    • http://kishy.ca/
Making a cheap Model M USB controller
« Reply #86 on: Tue, 02 February 2010, 11:27:17 »
Quote from: Mnemonix;155628
That's great! :) And you have the hardest-to-obtain parts already: the connectors. The rest should be easy.
Did you get the connectors as samples from Molex?

Hint: for the 8 pull-up resistors (R9--R16) in the LED version you could use something like Mouser 71-CSC09A01-22K instead of 8 separate resistors (it doesn't really matter if it's 20k or 22k; I've also tried 10k and it worked). Compact and cheap enough.

Connectors - yes, Molex samples. Didn't want to outright claim that because a certain someone is likely to bastardize me for it.

Have test-fitted to the ribbons and they fit perfectly.

I'll have to review the whole article/thread, but everything has a part number provided right?

Can't wait to do this, but I'm in no rush quite yet. Should have two weeks off (not back-to-back though) in the next couple months so I'll make some progress then I'm sure.

Oh, and yes, since I've not the money to dedicate to a programmer, I'll be asking someone to please write the bootloader and write-protect it then ship the chip to me. Of course, I'll cover the costs associated with that (buying the uC, shipping it to me). Anyone willing/able to do this, please get in touch :) Thanks (I may consider going the route of getting a programmer and doing it myself but if someone offers to do it I'll go with that for obvious reasons)
« Last Edit: Tue, 02 February 2010, 11:29:51 by kishy »
Enthusiast of springs which buckle noisily: my keyboards
Want to learn about the Kishsaver?
kishy.ca

Offline Mnemonix

  • Thread Starter
  • Posts: 163
Making a cheap Model M USB controller
« Reply #87 on: Tue, 02 February 2010, 12:51:59 »
Quote from: kishy;155629
I'll have to review the whole article/thread, but everything has a part number provided right?


I'm afraid that Mouser is not so popular here in Germany, and our Reichelt is probably totally unknown outside of Germany. That's why I didn't write part numbers anywhere.
Ripster was going to make a Mouser parts list for the 1391401 controller, he said. The 122-key part list would be the same, plus a 74HC165 and the pull-up resistors. And with a 20-pin connector instead of 16-pin.

Quote from: kishy;155629
Oh, and yes, since I've not the money to dedicate to a programmer, I'll be asking someone to please write the bootloader and write-protect it then ship the chip to me.


Well, I could certainly do that, but it would probably be cheaper to have it shipped from your continent.

Offline kishy

  • Posts: 1576
  • Location: Windsor, ON Canada
  • Eye Bee M
    • http://kishy.ca/
Making a cheap Model M USB controller
« Reply #88 on: Tue, 02 February 2010, 13:12:50 »
Quote from: Mnemonix;155646
I'm afraid that Mouser is not so popular here in Germany, and our Reichelt is probably totally unknown outside of Germany. That's why I didn't write part numbers anywhere.
Ripster was going to make a Mouser parts list for the 1391401 controller, he said. The 122-key part list would be the same, plus a 74HC165 and the pull-up resistors. And with a 20-pin connector instead of 16-pin.



Well, I could certainly do that, but it would probably be cheaper to have it shipped from your continent.


Can't be more than maybe 5 Euros (for an envelope with two uCs), could it? Assuming the microcontroller is cheap (I haven't priced it out yet) this is something I could certainly accommodate (via PayPal).

Connectors are taken care of, except for a 4-pin for LEDs on the 1391401s which that applies to, but in this case it doesn't apply. With the LED system I had been planning I could directly solder the wires to the controller...it would be a largely permanent mod.

As for parts suppliers, prior to looking into this the only one that immediately came to mind was Digi Key but I don't know if they've got what we need (again, haven't looked into it yet). Once I do this I'll be happy to provide part numbers from a couple suppliers that look acceptable.
Enthusiast of springs which buckle noisily: my keyboards
Want to learn about the Kishsaver?
kishy.ca

Offline kishy

  • Posts: 1576
  • Location: Windsor, ON Canada
  • Eye Bee M
    • http://kishy.ca/
Making a cheap Model M USB controller
« Reply #89 on: Tue, 02 February 2010, 13:25:22 »
Shift register 74HC165:

Digi-Key has two different ones, only difference seems to be operating temperature, and the better one seems to be cheaper.

http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=MC74HC165ANGOS-ND

http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=MM74HC165N-ND



RS Electronics has one too, but it's a bit more pricey (but certainly not in a significant way)
http://www.rselectronics.com/Catalog/ViewPart.aspx?Part=NTE74HC165&MFG=NTE&h=Semiconductors+Digital+Integrated+Circuits-TTL+Shift+Registers+Nte


Mouser's site is a bit of a mess...I can't narrow it down by package so here's the search result for what's in stock only.
http://ca.mouser.com/Semiconductors/_/N-5gcbZscv7?Keyword=74HC165&FS=True




Edit:
And there's always this:
http://cgi.ebay.ca/ws/eBayISAPI.dll?ViewItem&item=260513509531
Someone let me know if this is suitable...I'll buy it if so. 'Lot of 3' being the key words.


Edit again:
Out of the following, which is most suitable (if any):
http://focus.ti.com/docs/prod/folders/print/cd74hc165.html
http://focus.ti.com/docs/prod/folders/print/sn74hc165.html
http://focus.ti.com/docs/prod/folders/print/sn74hc165-q1.html
http://focus.ti.com/docs/prod/folders/print/sn74hc165-ep.html
« Last Edit: Tue, 02 February 2010, 13:36:28 by kishy »
Enthusiast of springs which buckle noisily: my keyboards
Want to learn about the Kishsaver?
kishy.ca

Offline Mnemonix

  • Thread Starter
  • Posts: 163
Making a cheap Model M USB controller
« Reply #90 on: Tue, 02 February 2010, 14:32:35 »
Quote from: kishy;155650
Can't be more than maybe 5 Euros (for an envelope with two uCs), could it? Assuming the microcontroller is cheap (I haven't priced it out yet) this is something I could certainly accommodate (via PayPal).


It's 6 Euros for an envelope because the envelope would be thicker than 1 cm (unless I would send the ICs totally unprotected inside a thin paper envelope).

The problem is that I have only a single ATMega32 here, which I need for myself. I could buy some from the local electronics store, but they are rather expensive there (don't know the exact price, but easily more than 5 Euros per unit).

Then, I have two spare ATmega16 which I have bought for 2.25 Euros each. They would work, too, but they have less RAM, Flash, and EEPROM. RAM and Flash are not a problem (yet), but you could only store 3 or 4 custom key maps in the small EEPROM.

Quote from: kishy;155654
Shift register 74HC165:

Digi-Key has two different ones, only difference seems to be operating temperature, and the better one seems to be cheaper.


Both are OK. I'd always opt for the cheapest. This one is even cheaper... but not available.

Quote from: kishy;155654
Mouser's site is a bit of a mess...I can't narrow it down by package so here's the search result for what's in stock only.
http://ca.mouser.com/Semiconductors/_/N-5gcbZscv7?Keyword=74HC165&FS=True


Sort by price, then choose the first 16 DIP: MC74HC165ANG. Cheaper than Digi-Key.

Quote from: kishy;155654
And there's always this:
http://cgi.ebay.ca/ws/eBayISAPI.dll?ViewItem&item=260513509531
Someone let me know if this is suitable...I'll buy it if so. 'Lot of 3' being the key words.


Should be fine, too. But you'd pay $2.50 for these. Buying all parts from one supplier could be cheaper in the end because this would save you shipping cost.

Quote from: kishy;155654
Edit again:
Out of the following, which is most suitable (if any):
http://focus.ti.com/docs/prod/folders/print/cd74hc165.html
http://focus.ti.com/docs/prod/folders/print/sn74hc165.html
http://focus.ti.com/docs/prod/folders/print/sn74hc165-q1.html
http://focus.ti.com/docs/prod/folders/print/sn74hc165-ep.html


Hm... asking for samples, why not. ;)
Looking at the datasheets, I'd say any will do. I would ask for the SN74HC165 since it's the one that is not rated for special applications (thus probably making it the cheapest).

Offline InSanCen

  • Posts: 560
Currently Using :- IBM M13 1996, Black :
Currently Own :- 1391406 1989 & 1990 : AT Model F 1985 : Boscom 122 (Black) : G80-3000 : G80-1800 (x2) : Wang 724 : G81-8000LPBGB (Card Reader, MY) : Unitek : AT102W : TVS Gold :
Project\'s :- Wang 724 Pink-->White Clicky : USB Model M : IBM LPFK :
Pointing stuff :- Logitech MX-518 : I-One Lynx R-15 Trackball : M13 Nipple : Microsoft Basic Optical\'s
:

Offline Mnemonix

  • Thread Starter
  • Posts: 163
Making a cheap Model M USB controller
« Reply #92 on: Wed, 03 February 2010, 02:43:49 »
Quote from: InSanCen;155751
Which ATMega32 should I be looking at?

http://www.rapidonline.com/sku/Electronic-Components/Integrated-Circuits/Atmel-Microcontrollers/ATmega-8-bit-AVR-Microcontrollers/77086/73-4282


Yes, this one, the ATMEGA32-16PU.


A search for ATMEGA32 found three more devices:

The datasheet for the ATMEGA32A-PU doesn't show any significant difference to the ATMEGA32-16PU besides being able to operate at full speed at low voltages, so this one should work, too (but is more expensive in small quantities on that site).

The ATMEGA324P-20PU is a 20 MHz version with more features and may also work, but is also more expensive. I didn't take a closer look, but I guess it would either work out of the box just like a ATMEGA32-16PU, or it would require minor tweaking of the fuses to make it work.

The ATMEGA32L-8PU is the only one that would not work because it is limited to 8 MHz (the USB code needs 12 MHz).

Offline Mnemonix

  • Thread Starter
  • Posts: 163
Making a cheap Model M USB controller
« Reply #93 on: Wed, 03 February 2010, 02:52:50 »
Quote from: ripster;155653
I'm making this simple 1 key circuit first.  I'm no programmer so I figure if I start slow I can learn as I go.


If you'd like to learn lots and lots about AVRs, then http://www.avrfreaks.net/ might be a good start.
There is also a helpful forum with tutorials on that site. It's probably most useful for programmers, however.

Offline kishy

  • Posts: 1576
  • Location: Windsor, ON Canada
  • Eye Bee M
    • http://kishy.ca/
Making a cheap Model M USB controller
« Reply #94 on: Wed, 03 February 2010, 16:40:36 »
Now, I'm a relative n00b with low-level circuit design, so I'll ask a dumb question:

What's the wattage for the resistors?

Also, are there any more missing figures of questionable obviousness that are important when buying these supplies?

I imagine since this is USB that the voltage for everything is 5V...correct if wrong please.
Enthusiast of springs which buckle noisily: my keyboards
Want to learn about the Kishsaver?
kishy.ca

Offline Specter_57

  • Posts: 143
Making a cheap Model M USB controller
« Reply #95 on: Wed, 03 February 2010, 16:53:40 »
Mnemonix:

I looked at your revised schematic, based upon a suggestion I made.

Thank you for the mention... nice to know what I said did have some  positive result.

The schematic does look a bit neater and more logical...and you mentioned the code was cleaner too.  Good

I do fully intend to build one of these controllers...but unfortunately there are more pressing atters at this time.

And once again, Thank You for so freely sharing your work with the community here.....and a thank you as well to the others who have also so generously contributed their thoughts and opinions and expertise to this project.
 I certainly do appreciate it...and I have learned quite a few things along the way about these ATMega microcontrollers.

And theat website you mentioned, AVRFreaks.  interesting.

BTW...if you would like to include the info I provided on the row-column matrix connections on your information pages, I would not mind. Feel free.

Spec57
......


...end

Offline InSanCen

  • Posts: 560
Making a cheap Model M USB controller
« Reply #96 on: Wed, 03 February 2010, 18:21:57 »
Quote from: kishy;156032
Now, I'm a relative n00b with low-level circuit design, so I'll ask a dumb question:

What's the wattage for the resistors?

Also, are there any more missing figures of questionable obviousness that are important when buying these supplies?

I imagine since this is USB that the voltage for everything is 5V...correct if wrong please.


1/4W (More commonly, 0.6W) resistors should be fine. I can't see anything bigger looking at the photo's.

I may suck with MicroControllers (The programming puts me off every time. I will learn though), but I know my way round discrete components.
Currently Using :- IBM M13 1996, Black :
Currently Own :- 1391406 1989 & 1990 : AT Model F 1985 : Boscom 122 (Black) : G80-3000 : G80-1800 (x2) : Wang 724 : G81-8000LPBGB (Card Reader, MY) : Unitek : AT102W : TVS Gold :
Project\'s :- Wang 724 Pink-->White Clicky : USB Model M : IBM LPFK :
Pointing stuff :- Logitech MX-518 : I-One Lynx R-15 Trackball : M13 Nipple : Microsoft Basic Optical\'s
:

Offline Mnemonix

  • Thread Starter
  • Posts: 163
Making a cheap Model M USB controller
« Reply #97 on: Wed, 03 February 2010, 18:43:26 »
Quote from: kishy;156032
What's the wattage for the resistors?


The common 1/4 Watt ones are sufficient. I am using metal film resistors instead of carbon because the metal film resistors have lower tolerances (usually 1% vs. 5%) at comparable prices.
Precision doesn't matter for the 8 pull-up resistors on the column lines. I believe anything between 10k and 50k would work well here.

Quote from: kishy;156032
Also, are there any more missing figures of questionable obviousness that are important when buying these supplies?


Hm, dunno. All chips should be 5V versions, not some low-power versions. The 22 pF capacitors are ceramic plate "class 1" capacitors with 2% tolerance, the 100 nF is a ceramic multilayer capacitor with 10% tolerance; I think all are rated for 100V or so. I didn't really choose them intentionally this way, they are just what I could get from my supplier. Don't know what to say about the other components.

Concerning the stripboard, you should really go with fiberglass. The cheap ones are too smelly for a keyboard (smells "like electronics"), whereas fiberglass doesn't smell at all.

Quote from: kishy;156032
I imagine since this is USB that the voltage for everything is 5V...correct if wrong please.


USB provides 5V for powering the devices, so everything runs on 5V, yes. VCC in the schematics always refers to the +5V from the USB plug.
The data lines are at lower voltages, however, but this is not really important. See here if you are interested in the details.

Offline kishy

  • Posts: 1576
  • Location: Windsor, ON Canada
  • Eye Bee M
    • http://kishy.ca/
Making a cheap Model M USB controller
« Reply #98 on: Wed, 03 February 2010, 21:12:38 »
Thanks, that definitely helps. I have a friend with a parent in the component industry so I may have a local source for at least a couple items on the list, potentially free, who knows? It's nice to not guess because that means their effort isn't wasted.

I'm definitely looking at doing this, no doubt about it lol. Most likely the last step in the process will be anything involving the uC...it's likely to be the last part I obtain as I hold out for the lowest possible cost on one (would go Mouser or Digikey or RS or something but I don't have a credit card). Doesn't look like Atmel samples out their uCs either lol (understandable, it's a higher value product than a simple connector).



Edit:
Bought some things and ordered some free samples of some things. Here is what I've already got or will be receiving soon:
-Programmer, one of the ones recommended in this thread (small red one)
-ATmega32-16PU (2)
-DIP-40 socket (2)
-DIP-16 socket (2)
(I'm going to use a socket for the shift register because I'm not the best with soldering and don't want to risk overheating the chip while setting it in place)
-6x2 pin header (2)
-6x1 pin header (2)
-USB 'B' jack (2)
-Two short FFC connectors - still need the two 20s, should be here any day
-Assorted wire (have a 20ft phone cord as a donor)
-Ring terminal for ground wire
-The 3.6V diodes (1N4729 in my case, hopefully they'll be suitable)
-Shift registers

As you can see I'm stocking up to build two. This is for two reasons:
1) I have one I can screw up on and still be able to build a functional second
2) If both are successful I have a controller for both my 122s

So that would mean what I still need, as I understand it, is:
-Stripboards
-Resistors
-Capacitors
-1N4148 Diodes
-Crystals

If I've left something out please tell me.
« Last Edit: Thu, 04 February 2010, 19:37:13 by kishy »
Enthusiast of springs which buckle noisily: my keyboards
Want to learn about the Kishsaver?
kishy.ca

Offline Mnemonix

  • Thread Starter
  • Posts: 163
Making a cheap Model M USB controller
« Reply #99 on: Fri, 05 February 2010, 11:37:49 »
Quote from: kishy;156096
Edit:


Oops, just discovered that edit...

Quote from: kishy;156096

Bought some things and ordered some free samples of some things. Here is what I've already got or will be receiving soon:
-Programmer, one of the ones recommended in this thread (small red one)


Wise decision. :)
An own programmer will pay off in the long run.

Quote from: kishy;156096
-6x1 pin header (2)


If there is enough space available, you could try using a dual row header for connecting the programmer. It's a bit harder to do on stripboard, but this is how everybody else is doing it (and your programmer may come with one of those commonly used cables).

Otherwise, see the article for how to make an adapter cable. You may need to add some connectors to your parts list.

Quote from: kishy;156096
-The 3.6V diodes (1N4729 in my case, hopefully they'll be suitable)


Yes, those are fine. Mine are 0.5W, yours are 1W, so they are probably a bit bigger than mine.

Quote from: kishy;156096

So that would mean what I still need, as I understand it, is:
-Stripboards
-Resistors
-Capacitors
-1N4148 Diodes
-Crystals


OK, but you don't need the 1N4148 diodes anymore. They were required for the old design. The new one uses eight resistors instead (and a 74HC165 shift register instead of a 74HC164).

I think you have everything that's needed then.