Converting an IBM Pingmaster

User avatar
just_add_coffee

13 Apr 2017, 06:36

__red__ wrote:
just_add_coffee wrote: PD0 and PD1 are labelled on your device. They're different pins to the ones you're currently using.
My goal here is to understand what each of these pins are for. Are they abbreviations?

User avatar
just_add_coffee

13 Apr 2017, 06:53

Wingklip wrote: Coffee what are you doing stahp staaahhhhhhhhhhhhhhhh

Put the case back on that young keyboard and do a proper db9 port to the converter. I'm like 106% sure that soarer's converter is not a controller. Even tmk I think is not a controller.
Not gonna happen with this keyboard. The controller is out. I'm not soldering 40 pins to put the controller back in. Nope. The controller has passed on. This controller is no more! It has ceased to be! It's expired and gone to meet its maker! It's a stiff! Bereft of life. Rests in peace. Pushing up the daisies! Its metabolic processes are now history! Off the twig! Kicked the bucket! Shuffled off its mortal coil. Run down the curtain and joined the bleeding choir invisible!

But I have two more brand new Pingmasters on the way. And at least one of 'em will get your db9 treatment.

Edit: When you get a chance, please post a pic of what you mean.

Also, I've been following the instructions of others who've gotten this keyboard to work via USB. I didn't decide on my own to remove the controller. Is the route that I've been guided towards the easiest way or the best way to get this keyboard to work on a modern computer? Apparently not. But now I know.

__red__

13 Apr 2017, 14:45

just_add_coffee wrote:
__red__ wrote:
just_add_coffee wrote: PD0 and PD1 are labelled on your device. They're different pins to the ones you're currently using.
My goal here is to understand what each of these pins are for. Are they abbreviations?
Page 5 of the datasheet here: http://www.atmel.com/Images/Atmel-7766- ... asheet.pdf
Port D is an 8-bit bi-directional I/O port with internal pull-up resistors (selected for each bit). The Port D output
buffers have symmetrical drive characteristics with both high sink and source capability. As inputs, Port D pins
that are externally pulled low will source current if the pull-up resistors are activated. The Port D pins are tristated
when a reset condition becomes active, even if the clock is not running.

Port D also serves the functions of various special features of the ATmega16U4/ATmega32U4 as listed on
page 78
From page 78:
PD1 INT1/SDA (External Interrupt1 Input or TWI Serial DAta)
PD0 INT0/SCL/OC0B (External Interrupt0 Input or TWI Serial CLock or Output Compare for Timer/Counter0)
Take a look at the tmk source code and it appears to be used as a generic GPIO port as opposed to the special-purpose serial port: https://github.com/tmk/tmk_keyboard/blo ... b/config.h

Code: Select all

/* Pin configuration */
#define IBM4704_CLOCK_PORT  PORTD
#define IBM4704_CLOCK_PIN   PIND
#define IBM4704_CLOCK_DDR   DDRD
#define IBM4704_CLOCK_BIT   1
#define IBM4704_DATA_PORT   PORTD
#define IBM4704_DATA_PIN    PIND
#define IBM4704_DATA_DDR    DDRD
#define IBM4704_DATA_BIT    0

User avatar
just_add_coffee

13 Apr 2017, 19:21

Ah homework. Thank you _red_!

I'm still a bit confused regarding why a DS-9 port is the preferred way to get to the Teensy2.0. Is it to preserve the original cable? Why not just cut the cable off, solder the red, yellow, black, and white wires coming off the brown connector to the Teensy2.0, and run the USB out from the case?

__red__

15 Apr 2017, 16:13

Less invasive is the reason I did it that way. It's personal preference.

User avatar
just_add_coffee

16 Apr 2017, 07:42

__red__ wrote: Less invasive is the reason I did it that way. It's personal preference.
Got it. Thanks!

The new Pingmasters and Teensy2.0s will be in Tuesday and this time the controller stays put.

__red__

17 Apr 2017, 23:24

Your local radioshack probably has a DB9 socket.

User avatar
Wingklip

18 Apr 2017, 00:20

Oh god coffee what have you done??1??1?1!11 It think the brains were supposed to stay inside so the signal it generates can be converted by the spirit of Soarer

User avatar
just_add_coffee

18 Apr 2017, 11:13

Wingklip wrote: It think the brains were supposed to stay inside so the signal it generates can be converted by the spirit of Soarer
Depends on who you ask.

http://imgur.com/gallery/DwJaX

https://geekhack.org/index.php?topic=85 ... msg2302188

I was also receiving guidance from Wodan here via PM.

User avatar
Wingklip

18 Apr 2017, 11:36

just_add_coffee wrote:
Wingklip wrote: It think the brains were supposed to stay inside so the signal it generates can be converted by the spirit of Soarer
Depends on who you ask.

http://imgur.com/gallery/DwJaX

https://geekhack.org/index.php?topic=85 ... msg2302188

I was also receiving guidance from Wodan here via PM.
Impossible! To think that Soarer left us with a hidden legacy...

User avatar
just_add_coffee

18 Apr 2017, 11:53

Wingklip wrote: Impossible! To think that Soarer left us with a hidden legacy...
It's been frustrating as hell trying to learn how to make old keyboards usable because getting help isn't easy (even when offering to pay for it), the instructions are either incomplete or created for a target audience of engineering phDs, and opinions and methods vary.

User avatar
Wingklip

19 Apr 2017, 10:04

just_add_coffee wrote:
Wingklip wrote: Impossible! To think that Soarer left us with a hidden legacy...
It's been frustrating as hell trying to learn how to make old keyboards usable because getting help isn't easy (even when offering to pay for it), the instructions are either incomplete or created for a target audience of engineering phDs, and opinions and methods vary.
Haha, I had to solder in an xwhatsit using compositing of two different images and then figuring out how to wire each wire to what. TFW didn't have the adapter board

First time lucky :D what are you stuck on though? I would check solder joints first. The small things like that are the first ones to go. Also break out the multimeter to check signals and voltages

User avatar
just_add_coffee

19 Apr 2017, 11:50

Wingklip wrote: what are you stuck on though?
I tore another trace. :oops: On the bright side: Kick ass Alps for a custom build and extra relegendables! But my desoldering skills are still abysmal.

The two new Pingmasters arrived today. I won't touch the controller this time, but I really want to do an internal Soarer's because an external one plus the original cable and the USB extension is a lotta cable in the way.
Haha, I had to solder in an xwhatsit using compositing of two different images and then figuring out how to wire each wire to what.
The xwhatist replaces a controller, right? Is there a general rule regarding when controllers have to be replaced or when an xwhatsit or a Hasu converter is needed?

__red__

20 Apr 2017, 02:47

just_add_coffee wrote: The xwhatist replaces a controller, right? Is there a general rule regarding when controllers have to be replaced or when an xwhatsit or a Hasu converter is needed?
It's entirely your choice, but remember that there are frequently multiple options. My rule tends to be to use the least invasive unless there is specific functionality I need.

So @just_add_coffee ... If you're insistent in putting the teensy inside of your new keyboard then I'm willing to modify one of mine the same way so we can work on it together if that would help you.

I would just want you to commit to me that you'd be available / responsive so I don't end up stripping down a working board for a period of time. I'll document it in detail.

Interested?

__red__

20 Apr 2017, 03:40

__red__ wrote: Interested?
fsck it, now I'm interested... the board:
WIN_20170419_21_15_00_Pro.jpg
WIN_20170419_21_15_00_Pro.jpg (76.31 KiB) Viewed 5796 times
The connector you're interested in in context (top):
WIN_20170419_21_17_47_Pro.jpg
WIN_20170419_21_17_47_Pro.jpg (157.49 KiB) Viewed 5796 times
Closer... because I want to document the colours:
WIN_20170419_21_18_27_Pro.jpg
WIN_20170419_21_18_27_Pro.jpg (95.34 KiB) Viewed 5796 times
Now... let's take apart the plug at the other end... and note colours:
WIN_20170419_21_23_09_Pro.jpg
WIN_20170419_21_23_09_Pro.jpg (99.28 KiB) Viewed 5796 times
Remove the original cable, add USB to retainer:
WIN_20170419_21_29_25_Pro.jpg
WIN_20170419_21_29_25_Pro.jpg (115.37 KiB) Viewed 5796 times
... and steal the original connector:
WIN_20170419_21_33_28_Pro.jpg
WIN_20170419_21_33_28_Pro.jpg (131.42 KiB) Viewed 5796 times
... thus far:

__red__

20 Apr 2017, 03:44

DSUB-9
-------------
\ N 2 3 4 5 /
\ N N N N /
---------
2 GND
3 VCC 5V
4 DATA
5 CLOCK
N No connection/No pin.
So - the colours of the cable are:
GND - White
Red - VCC 5V
Black - Data
Yellow - Clock

Chassis Ground - Ignore for now.

User avatar
just_add_coffee

20 Apr 2017, 03:45

I'm here! I had actually opened up the case and removed the cable before checking online! :)

__red__

20 Apr 2017, 03:46

Sweet! I'm breaking out my soldering iron.

This is the 6th or 7th time this teensy has been re-soldered so I stand a decent chance of breaking it - but I'll give it a shot.

Warming the iron...

User avatar
just_add_coffee

20 Apr 2017, 03:55

I'm with ya!
IMG_20170419_185240.jpg

__red__

20 Apr 2017, 03:58

Sweet!
WIN_20170419_21_56_33_Pro.jpg
WIN_20170419_21_56_33_Pro.jpg (120.44 KiB) Viewed 5766 times
Starting to desolder...

User avatar
just_add_coffee

20 Apr 2017, 04:08

__red__ wrote:
So - the colours of the cable are:
GND - White
Red - VCC 5V
Black - Data
Yellow - Clock

Chassis Ground - Ignore for now.
So Red to VCC, GND to White ... that leaves PD0 and PD1 for Data and Clock. Which goes to which?

__red__

20 Apr 2017, 04:13

just_add_coffee wrote:
__red__ wrote:
So - the colours of the cable are:
GND - White
Red - VCC 5V
Black - Data
Yellow - Clock

Chassis Ground - Ignore for now.
So Red to VCC, GND to White ... that leaves PD0 and PD1 for Data and Clock. Which goes to which?
/* Pin configuration */
#define IBM4704_CLOCK_PORT PORTD
#define IBM4704_CLOCK_PIN PIND
#define IBM4704_CLOCK_DDR DDRD
#define IBM4704_CLOCK_BIT 1
#define IBM4704_DATA_PORT PORTD
#define IBM4704_DATA_PIN PIND
#define IBM4704_DATA_DDR DDRD
#define IBM4704_DATA_BIT 0
D0 Data
D1 Clock

Soldering cables (ps, I recommend you let me apply power first since I have a whole test lab here to debug)

User avatar
just_add_coffee

20 Apr 2017, 04:21

__red__ wrote: /* Pin configuration */
#define IBM4704_CLOCK_PORT PORTD
#define IBM4704_CLOCK_PIN PIND
#define IBM4704_CLOCK_DDR DDRD
#define IBM4704_CLOCK_BIT 1
#define IBM4704_DATA_PORT PORTD
#define IBM4704_DATA_PIN PIND
#define IBM4704_DATA_DDR DDRD
#define IBM4704_DATA_BIT 0
I don't really understand anything after "IBM4704" or how we get "D0 Data" and "D1 Clock" from that.
Soldering cables (ps, I recommend you let me apply power first since I have a whole test lab here to debug)
Roger that.

And if you're able, take some pics of your lab. I'd love to see what the pros are using!

__red__

20 Apr 2017, 04:31

I'm having real problems with D1 due to my desoldering, may need to cheat - brb

__red__

20 Apr 2017, 04:35

WIN_20170419_22_34_11_Pro.jpg
WIN_20170419_22_34_11_Pro.jpg (95.66 KiB) Viewed 5759 times
^^^^ Nuke

__red__

20 Apr 2017, 04:39

There.

I dipped my wick and added heat. Ever seen a cleaner hole?
WIN_20170419_22_38_06_Pro.jpg
WIN_20170419_22_38_06_Pro.jpg (98.45 KiB) Viewed 5758 times

User avatar
just_add_coffee

20 Apr 2017, 04:44

__red__ wrote: I dipped my wick and added heat. Ever seen a cleaner hole?
I'm by no means an expert on holes, but I'd say that was one clean hole!

User avatar
just_add_coffee

20 Apr 2017, 04:51

maybe.jpg
Edit: Ugh. I just noticed that USB cable. It's been replaced with a new one.

__red__

20 Apr 2017, 04:59

WIN_20170419_22_57_42_Pro.jpg
WIN_20170419_22_57_42_Pro.jpg (161.28 KiB) Viewed 5739 times
WIN_20170419_22_56_54_Pro.jpg
WIN_20170419_22_56_54_Pro.jpg (170.38 KiB) Viewed 5739 times

__red__

20 Apr 2017, 05:06

Confirmed, and typing this post on the keyboard with the teensy inside!
WIN_20170419_23_04_44_Pro.jpg
WIN_20170419_23_04_44_Pro.jpg (106.9 KiB) Viewed 5738 times

Post Reply

Return to “Workshop”