This will be very similar to the HHKB. See hasu's notes (https://raw.github.com/tmk/tmk_keyboard/master/keyboard/hhkb/doc/HHKB.txt).
What you need to trace is where each pin on the connector goes - which will be to the various chips on the matrix PCB, not the switches. Some lines might go to more than one chip.
This will be very similar to the HHKB. See hasu's notes (https://raw.github.com/tmk/tmk_keyboard/master/keyboard/hhkb/doc/HHKB.txt).
What you need to trace is where each pin on the connector goes - which will be to the various chips on the matrix PCB, not the switches. Some lines might go to more than one chip.
oh that makes sense! thanks. tomorrow I'll try to trace all the tracks... hopefully it's not too different from the HHKB
I came to read this thread, believing matt was going to reverse engineer the Topre switch for use elsewhere. That wasn't the case, but I kept reading to try and understand what was posted. Looking forward to learning more about circuitry though this project :D.
You're amazing matt3o :D. Can you link me to that info? Or is it not in a thread somewhere?
I'm halfway. I've traced all pins from 20 to 10. They go to LV07A and LVC138A.
Now the other half, they seem to go toward the TP1684. I'll post the diagram when they are all traced (and pictures), hoping in your continued support :)
Learn Turkish :)
Connector line 1 and 2 each drive LEDs via LV07(Z7) buffer clearly.
3,4,5 and 6 control rows with LVC138 and it seems to drive lines through 5 buffers of LV07(Z1). So the matrix has only 5 rows, not 8?
I guess 7,8 and 9 lines select columns to sense with two LV4051 via LV07(Z7). If I'm correct 2,4,6 of LV07(Z7) will be connected with 9,10,11 of two LV4051 in parallel to select column input from matrix.
Namely you can select 16 column lines with signals 7,8,9,10 and 11 from daughter board.
I don't know why they need to control AD5258 from controller. Need to read datasheet and know how to use that chip. HHKB has no control of its potentiometer.
Except for potentiometer it looks like you can control with same method as HHKB.
If I'm correct 2,4,6 of LV07(Z7) will be connected with 9,10,11 of two LV4051 in parallel to select column input from matrix.
I don't know why they need to control AD5258 from controller. Need to read datasheet and know how to use that chip. HHKB has no control of its potentiometer.
Except for potentiometer it looks like you can control with same method as HHKB.
That's a pain... those pins are I2C aka TWI, and I guess that chip will need at least some default settings uploaded to it before the rest will work correctly (at least a reasonable assumption). It gets a bit involved trying to work out what to send, and how to set up hasu's code to send it (although he does have an I2C library in there already, I think, for the ergodox). The ideal thing would be to monitor what the existing controller is sending to it - with something like a logic analyzer or a Bus Pirate (http://dangerousprototypes.com/docs/Bus_Pirate) (or possibly a Teensy (http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=88101)).agreed. someone needs to take a bus pirate and/or open logic analyzer to it.
hasu, i assume the digipot is tuning an amp somewhere (i could swear i saw one in there..). the HHKBs may have been stable enough that the trimpot could just be set at the factory, but the new manufacturing line does not have time for that and so they use a dc servo of some kind.
That's a pain... those pins are I2C aka TWI, and I guess that chip will need at least some default settings uploaded to it before the rest will work correctly (at least a reasonable assumption). It gets a bit involved trying to work out what to send, and how to set up hasu's code to send it (although he does have an I2C library in there already, I think, for the ergodox). The ideal thing would be to monitor what the existing controller is sending to it - with something like a logic analyzer or a Bus Pirate (http://dangerousprototypes.com/docs/Bus_Pirate) (or possibly a Teensy (http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=88101)).
That's a pain... those pins are I2C aka TWI, and I guess that chip will need at least some default settings uploaded to it before the rest will work correctly (at least a reasonable assumption).Yes. It is really reasonable. HHKB has digipot Rohm BU9831 with "Auto recall function" which it loads resistance value from EEPROM *automatically* on every power up. HHKB doesn't need to control its digipot at all during its operation.
hasu, i assume the digipot is tuning an amp somewhere (i could swear i saw one in there..).I guess so. Topre probably calibrates its sensitivity or actuation point with digipot at their factory. And I can recall they exhibited ugly modded Realforce with volume(VR) to tweak actuation point :D
I forgot to say that I made some more tests with the keyboard actually connected.
pin 16 is +5
pin 17 is +3 (so it has to be regulated before sending it to the main PCB)
18 and 19 are ground, not connected to the ground on pin 20
couldn't the AD5258 simply send the value from the capacitive sensor on pin 4? Arduino has integrated I2C protocol I could try to connect one and see what is readShow Image(http://i.imgur.com/6itQ15n.png)
Anyway, keep tracing! But don't bother tracing the matrix, do that with software :D
0011000
0011010
1001100
1001110
this is just raw data from a few lines, and the alternate ones data lines are adjacent
does this make any sense? I m sendign this cuz I might be using the wrong lines as sda scl
i suspect the pins are reversed. it looks like the backside of both PCBs in that picture with 1 going to 20 etc
Has anyone contacted Leopold and asked if they would just release this information? It can't hurt to ask, right?We could ask I guess, but every company I've ever talked to has been very hesitant to release that sort of information.
Any serious copycats can reverse engineer the board anyways.
JP:
+-----------------------------+-+-+-+-+ Vcc
|bias control? - - - - - ---
| 3.9K*5 R R R R R |
+--------^+ +--------+ - - - - - |
| | | HC4051 <0-----------|-|-|-|-|----|R|-+
| |capa. | Z2 <1-----------|-|-|-|-|----|R|-+
| TP1684 |sense | <2-----------|-|-|-|-|----|R|-+
| <---+--| <3-----------|-|-|-|-|----|R|-+
| | | | <4-----------|-|-|-|-|----|R|-+
| | ~En| <5-----------|-|-|-|-|----|R|-+
| | +----> <6-----------|-|-|-|-|----|R|-+
| | | | | A B C <7-----------|-|-|-|-|----|R|-+
+---V---^-+ | | +-^-^-^--+ | | | | | |
KEY PREV | | | | | | | | | | |
| | | | +--------+ | | | | | |
| | | | | HC4051 <8-----------|-|-|-|-|----|R|-+
| | | | | Z3 <9-----------|-|-|-|-|----|R|-+
| | | +--| <A-----------|-|-|-|-|----|R|-+
| | | | <B-----------|-|-|-|-|----|R|-+
| | | | <C-----------|-|-|-|-|----|R|-+
| | | ~En| <D-----------|-|-|-|-|----|R|-+
| | | +-> <E-----------|-|-|-|-|----|R|-+
| | | | | A B C <F-----------|-|-|-|-|----|R|-+
| | | | +-^-^-^--+ 0 1 2 3 4 5 6 7 33K*8
| | | | | | | +-----------------+
| | | | | | | | LS145 |
Vcc | | | | | | | +-^--^--^--^------+
--- | | | | | | | A B C D +-------+
| | | | | | | | | | | | | |
1-2 3 4 14 15 5 6 7 8 9 10 11 12-13 |
+--------------------------------------------------+ |
| connector | ---
+--------------------------------------------------+ GND
As wubzorz denoted the digipot is not needed to be initialized, all infomation is ready now.
You owners, it is time to place your board in peril for mod! I'm not a owner.
As wubzorz denoted the digipot is not needed to be initialized, all infomation is ready now.
You owners, it is time to place your board in peril for mod! I'm not a owner.
I got FC660C the other day and looked into this. I also didn't see any activity on I2C lines to control the digipot so far, as this post says. We don't have to configure the digipot to scan keyboard switches at least.
Not fully tested but I can scan switches now.
https://geekhack.org/index.php?topic=54222.msg2165899#msg2165899Show Image(http://i.imgur.com/BxYxBbE.jpg)
Some pics and memos of the board
http://imgur.com/a/4UKkZ
and more infos about Topre capsense.
http://imgur.com/a/jat2a
I am typing on FC660C finally with my own controller :thumb:
I'll design controller PCB for this and create new thread to share info of my controller later.Show Image(http://i.imgur.com/Aql6oP0h.jpg)
To share info with community I traced its PCBs with my trusty fluke and drew nasty diagrams for many hours but...
today found FCC marking on label of the board and Google led me to this schematic and parts list on FCC site, LOL. To be honest, I didn't know how FCC works, it is very useful, TIL.
https://apps.fcc.gov/eas/GetApplicationAttachment.html?id=1888185
https://apps.fcc.gov/eas/GetApplicationAttachment.html?id=1888184
ah, it seems like direct link to FCC site doesn't work, use this site instead.
https://fccid.io/RPKFC660C
https://fccid.io/document.php?id=1888185
https://fccid.io/document.php?id=1888184
Manufacturer of TP1684 is NEC!Yeah, this is new finding afaik and pin names are kind of helpful to know how the chip works.
This is probably a dumb question, but when you get TMK running is it able to change the LEDs on the 660c? Specifically, I like to swap caps and ctrl with DIP 1 but after you do that if you hit where caps is moved to it doesn't light up the led on the control key despite the fact that the long control already has a led window anyways for some reason.
Cool, thanks. The default LEDs on the 660c have got to be my biggest bug-bear with the board, I love it but despite all the things they did right they really made those make almost no sense. Looking forward to the news.This is probably a dumb question, but when you get TMK running is it able to change the LEDs on the 660c? Specifically, I like to swap caps and ctrl with DIP 1 but after you do that if you hit where caps is moved to it doesn't light up the led on the control key despite the fact that the long control already has a led window anyways for some reason.
With my current firmware the LED always indicates Capslock state wherever you remap Capslock to any position. If you write small code in C lang you can control the LED fully to do what you want.
My only regret getting a 660C before was not having a Hasu controller like the HHKB. Take my money good sir.
Is there a chance this controller will be bluetooth? I told myself not to spend a penny more on keyboards but for a bluetooth fc660c I would not hesitate to sin one last time, that **** is endgame.It will have same short battery life woe as HHKB does. But it is still possible.
Still want BT.Is there a chance this controller will be bluetooth? I told myself not to spend a penny more on keyboards but for a bluetooth fc660c I would not hesitate to sin one last time, that **** is endgame.It will have same short battery life woe as HHKB does. But it is still possible.
Sent from my Nexus 5X
Is there a chance this controller will be bluetooth? I told myself not to spend a penny more on keyboards but for a bluetooth fc660c I would not hesitate to sin one last time, that **** is endgame.It will have same short battery life woe as HHKB does. But it is still possible.
Sent from my Nexus 5X
Is there a chance this controller will be bluetooth? I told myself not to spend a penny more on keyboards but for a bluetooth fc660c I would not hesitate to sin one last time, that **** is endgame.It will have same short battery life woe as HHKB does. But it is still possible.
Sent from my Nexus 5X
+1 for BT, I don't have a battery in my HHKB; I still find it extremely useful to quickly type out texts on my phone while it's powered by my PC.
As for the FC980C, someone in Tokyo pls help out. I'd gladly lend mine for a few weeks but the shipping from AU to Japan and back might get a little bit pricey...
I guess it's time for me to start shopping around for an FC660c. :thumb: