Author Topic: Help me reverse-eng a capacitive FC660C  (Read 45553 times)

0 Members and 1 Guest are viewing this topic.

Offline Matt3o

  • -[°_°]-
  • ** Robot Emeritus
  • Thread Starter
  • Posts: 3547
  • Location: Italy
Help me reverse-eng a capacitive FC660C
« on: Sun, 02 February 2014, 05:21:00 »
Okay I'm up to the task... almost. I got another FC660C but I totally need to replace the controller (actually I'd just need to replace the FN position but still).

The keyboard is very close to the HHKB internally. It seems to have two controllers, one on the PCB that takes care of the key scanning and one on the daughter board that connects to the USB and do the magic.

The connector is also similar to those of the HHKB but it has 20 pins (I already sourced that). Can anyone (Soarer? Hasu?) help me reverse engineer this thing? We might add it to the TMK firmware if we succeed.

This is the PCB header



This is the daughter board header



Pins 1 to 20 on the daughter board are connected in reverse order on the PCB.

On the daughter board:
Pins 20, 19, 18 seem to be ground.
No clue about 17 and 16.

I believe I can find VCC with a multimeter. It could be PIN 1 and 2 (?) All the others should be the matrix.

Can someone give me some directions/help? I'm totally in for making the whole process public for everyone to replicate.

Thanks

Offline Tranquilite

  • Posts: 144
Re: Help me reverse-eng a capacitive FC660C
« Reply #1 on: Sun, 02 February 2014, 12:03:58 »
Assuming that this ribbon sends rows/columns, the "easiest" method I can think of to reverse engineer it is to disconnect one pin at a time, and then press every key to try and puzzle out which row/column is no longer functioning. The tricky part is figuring out how to disconnect just one pin at a time.

If you have an oscilloscope, you could probably just connect it to each pin, and if it is being strobed on a consistent basis then it is a column (or row), and if it only is active when a key is pressed then it is a row (or column).

Though just to clarify, this is based off of theory rather than actual experience as I have never reverse engineered a switch matrix before.

Offline Matt3o

  • -[°_°]-
  • ** Robot Emeritus
  • Thread Starter
  • Posts: 3547
  • Location: Italy
Re: Help me reverse-eng a capacitive FC660C
« Reply #2 on: Sun, 02 February 2014, 12:09:11 »
I can probably find all the keys with a multimeter pressing one key at a time. it would be time consuming, but doable.

I need to figure out what are the additional pins AND how to code the firmware...

Offline mooswa

  • Posts: 153
  • Location: CA
Re: Help me reverse-eng a capacitive FC660C
« Reply #3 on: Sun, 02 February 2014, 12:16:21 »
The other pins will probably be leds and USB.  Check with bpiphany who has done similar tracing for other keyboards.  He might guide you.

http://deskthority.net/wiki/Controller_matrix_traces

Offline Soarer

  • * Moderator
  • Posts: 1918
  • Location: UK
Re: Help me reverse-eng a capacitive FC660C
« Reply #4 on: Sun, 02 February 2014, 12:41:02 »
This will be very similar to the HHKB. See hasu's notes.

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.

Offline Matt3o

  • -[°_°]-
  • ** Robot Emeritus
  • Thread Starter
  • Posts: 3547
  • Location: Italy
Re: Help me reverse-eng a capacitive FC660C
« Reply #5 on: Sun, 02 February 2014, 17:27:37 »
This will be very similar to the HHKB. See hasu's notes.

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

Offline dorkvader

  • Posts: 6288
  • Location: Boston area
  • all about the "hack" in "geekhack"
Re: Help me reverse-eng a capacitive FC660C
« Reply #6 on: Mon, 03 February 2014, 22:03:47 »
This will be very similar to the HHKB. See hasu's notes.

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

also, if you want to take good pictures of the PCB, that'll help

One thing: In your OP, you say "On the daughter board: Pins 20, 19, 18 seem to be ground." 19 and 18 do appear to be ground (though it'd be easier to tell with a full PCB photo), but I'm almost positive 20 is different from 19 and 18.

Offline mkawa

  •  No Marketplace Access
  • Posts: 6562
  • (ツ)@@@. crankypants
Re: Help me reverse-eng a capacitive FC660C
« Reply #7 on: Mon, 03 February 2014, 22:33:39 »
i don't see any logic on the pcb as far as that picture shows. it looks like it's just a bunch of filter caps. i haven't read hasu's notes (i should, as i'm sure they are invaluable), but from those pics:

1) you're going to need a scope for this, as the signals are very time variant.

2) tracing the matrix once you have a scope hanging off each pin shouldn't be too hard. (this thing is operational right?) like you said, hold down each key and then strobe all the pins. two pins should be going crazy. that's that key's position in the matrix.

3) i see what looks like an OPA as the closest IC to the wire harness. if possible, grab signal from the high side of the OPA and not the low.

has hasu dumped the firmware on either of the controllers and taken a look at it yet? the usb PHY can safely be ignored for the purposes of REing the switch matrix. but it looks to me like the other controller is doing the fairly reasonable task of strobing the matrix and then looking at the amped output for pins going crazy.

to all the brilliant friends who have left us, and all the students who climb on their shoulders.

Offline Matt3o

  • -[°_°]-
  • ** Robot Emeritus
  • Thread Starter
  • Posts: 3547
  • Location: Italy
Re: Help me reverse-eng a capacitive FC660C
« Reply #8 on: Tue, 04 February 2014, 01:45:47 »
Thanks for your help, guys.

The PCB has at least 6 chips/controllers around (so it seems a little bit more complicated than the HHKB). I say "at least" because I haven't unscrewed the plate yet so I don't know what's on the other side.

Anyway today I'll try to trace everything and eventually post hi-res pictures. I did some quick tests and it doesn't seem a mission impossible.

@dorkvader, I tested 20, 19, 18 with a multimeter and they indeed all seem to go to ground. Anyway thanks for the heads up, I'll triple check that :) I'm definitely not an expect electrician :P and maybe I just shorted 20 with 19 while testing.

Offline Soarer

  • * Moderator
  • Posts: 1918
  • Location: UK
Re: Help me reverse-eng a capacitive FC660C
« Reply #9 on: Tue, 04 February 2014, 07:19:55 »
All the chips should be on the back; no need to take it apart :)

Except for the capacitive sense chip, the chips are standard - you can get the datasheets and know which pins are worth testing for continuity to the connector (i.e. the controlling pins rather than the inputs and outputs).

Offline Matt3o

  • -[°_°]-
  • ** Robot Emeritus
  • Thread Starter
  • Posts: 3547
  • Location: Italy
Re: Help me reverse-eng a capacitive FC660C
« Reply #10 on: Tue, 04 February 2014, 08:08:58 »
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 :)

Offline CPTBadAss

  • Woke up like this
  • Posts: 14363
    • Tactile Zine
Re: Help me reverse-eng a capacitive FC660C
« Reply #11 on: Tue, 04 February 2014, 08:11:48 »
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.

Offline Matt3o

  • -[°_°]-
  • ** Robot Emeritus
  • Thread Starter
  • Posts: 3547
  • Location: Italy
Re: Help me reverse-eng a capacitive FC660C
« Reply #12 on: Tue, 04 February 2014, 08:19:27 »
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.

oh I already have the slider prototypes in production for that

Offline CPTBadAss

  • Woke up like this
  • Posts: 14363
    • Tactile Zine
Re: Help me reverse-eng a capacitive FC660C
« Reply #13 on: Tue, 04 February 2014, 08:27:22 »
You're amazing matt3o :D. Can you link me to that info? Or is it not in a thread somewhere?

Offline CPTBadAss

  • Woke up like this
  • Posts: 14363
    • Tactile Zine
Re: Help me reverse-eng a capacitive FC660C
« Reply #14 on: Tue, 04 February 2014, 08:27:26 »
You're amazing matt3o :D. Can you link me to that info? Or is it not in a thread somewhere?

Offline Matt3o

  • -[°_°]-
  • ** Robot Emeritus
  • Thread Starter
  • Posts: 3547
  • Location: Italy
Re: Help me reverse-eng a capacitive FC660C
« Reply #15 on: Tue, 04 February 2014, 08:30:38 »
You're amazing matt3o :D. Can you link me to that info? Or is it not in a thread somewhere?

waiting for the prototypes to come to my place.

Offline mkawa

  •  No Marketplace Access
  • Posts: 6562
  • (ツ)@@@. crankypants
Re: Help me reverse-eng a capacitive FC660C
« Reply #16 on: Wed, 05 February 2014, 00:53:01 »
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 :)


first two chips are buffer and mux. why they're monolithic i'm not sure, but i do know the topre guys are very... set in their ways.

i want to say the tp1684 is a current output monolithic amp but i can't find the part number anywhere. what's the pinout and form factor?

to all the brilliant friends who have left us, and all the students who climb on their shoulders.

Offline Matt3o

  • -[°_°]-
  • ** Robot Emeritus
  • Thread Starter
  • Posts: 3547
  • Location: Italy
Re: Help me reverse-eng a capacitive FC660C
« Reply #17 on: Wed, 05 February 2014, 02:34:57 »
The story so far... please note that the pins on the main header are numbered in reverse order (ie: the way they are numbered on the daughter board)



I'm not sure the NC are really NC... they seem to go to some header labelled CPx and from there nowhere. I'll double check. I believe I still miss a couple of traces.

This is the high res PCB


@ming the TP1684 is on the bottom, to the right of the connector

I have a feeling that the PCB is multi-layered because some switches have no visible traces reaching them...
« Last Edit: Wed, 05 February 2014, 04:26:53 by Matt3o »

Offline mkawa

  •  No Marketplace Access
  • Posts: 6562
  • (ツ)@@@. crankypants
Re: Help me reverse-eng a capacitive FC660C
« Reply #18 on: Wed, 05 February 2014, 14:00:20 »
so hasu says the tp1684 is an OEM only capacitive sensor. i'm going to take a wild guess that it has either 8 or 4 channels. everything else on there is either a mux or the ad5258 digipot which is almost certainly to tune the gain in the capacitive sense controller. the cap-sense controller outputs keypresses according to hasu, so i'm actually curious why a 20 pin cable is needed to go to the renaeses on the daughterboard.. also why are some of the muxes sent along with the TP output? i think a log analyzer is needed for the TP and a scope on some of the mux pins that exit on cable..

maybe they couldn't decide whether they were going to cap sense on the MCU (more app cores now have like 8 cap sense lines..) or on board so they passed on both..

can you trace the first 10 pins and see if they actually go anywhere on the daughterboard?

i can guarantee you that the board is 4-layer by the way.

to all the brilliant friends who have left us, and all the students who climb on their shoulders.

Offline hasu

  • Posts: 3471
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: Help me reverse-eng a capacitive FC660C
« Reply #19 on: Wed, 05 February 2014, 15:46:05 »
I think TP1684 has only one chanel but not completely sure due to no datasheet available.
Only one channel is used in HHKB at least and I think it is same in FC660C.

https://github.com/tmk/tmk_keyboard/blob/master/keyboard/hhkb/doc/HHKB.txt

LV4051: http://www.nxp.com/documents/data_sheet/74LV4051.pdf
LV138: http://www.nxp.com/documents/data_sheet/74LV138.pdf
LV07: http://www.ti.com/lit/ds/sces337j/sces337j.pdf

Looks like from the pic;
- FC660C uses LVC138 to drive line(column) and two 4051 to select sense line(row).
- Its matrix size can be 8col x 16row at maximum.
- LVC138 uses 4lines from connector for ~E1,A0, A1, A2.
- LV4051 uses 4lines from connector for ~E, S0, S1, S2. In sum 8lines for two chips.
- 2 lines used for LED dirve.(FC660C has two LED, right?)
- LV07 buffers are used to drive two LEDs and 8 columns.
- TP1684 uses 2 lines for KEY and KEY_PREV.(not sure from the pic, just guess from HHKB)

I guess 4+8+2+2=16 lines are used like above. Other lines may be power lines.


Offline mkawa

  •  No Marketplace Access
  • Posts: 6562
  • (ツ)@@@. crankypants
Re: Help me reverse-eng a capacitive FC660C
« Reply #20 on: Wed, 05 February 2014, 16:35:31 »
so the MCU controls the muxes then grabs digital output from the 1684? that is silly and weird. i guess it makes some sense.. they don't want to bring the analog lines off board -- too much noise etc. but then why not just put the MCU on the same board as everything else? that cap sensor is bigger than most 8-bit MCUs :\

to all the brilliant friends who have left us, and all the students who climb on their shoulders.

Offline Matt3o

  • -[°_°]-
  • ** Robot Emeritus
  • Thread Starter
  • Posts: 3547
  • Location: Italy
Re: Help me reverse-eng a capacitive FC660C
« Reply #21 on: Wed, 05 February 2014, 17:23:13 »
if you guys talked Turkish I would have probably understand you better. Anyway I'll try to trace all the missing tracks... and all the matrix. It's a hell of a job, but tomorrow I'll try to sort it out.

btw, yes, 660c has 2 leds

Offline mkawa

  •  No Marketplace Access
  • Posts: 6562
  • (ツ)@@@. crankypants
Re: Help me reverse-eng a capacitive FC660C
« Reply #22 on: Wed, 05 February 2014, 19:07:39 »
turkish? please, hasu's preferred language is japanese ;)

to all the brilliant friends who have left us, and all the students who climb on their shoulders.

Offline Soarer

  • * Moderator
  • Posts: 1918
  • Location: UK
Re: Help me reverse-eng a capacitive FC660C
« Reply #23 on: Wed, 05 February 2014, 19:52:36 »
Same set of chips on the Realforce 103, except BU9831 instead of AD5258. And all on one PCB.

Anyway, keep tracing! But don't bother tracing the matrix, do that with software :D

Offline mkawa

  •  No Marketplace Access
  • Posts: 6562
  • (ツ)@@@. crankypants
Re: Help me reverse-eng a capacitive FC660C
« Reply #24 on: Wed, 05 February 2014, 20:00:31 »
at 4-layers, i suspect they could have fit the MCU on the board. but who knows. it may be a simple issue where they're tied to renaesas (NEC, iirc) for the MCU due to their firmware build, and ren. just doesn't have any MCUs with cap sense on them yet.

i do know that freescale has a line of 16-bit power-based MCUs that could do most of what that chipset is doing on a single die, and that all the new phone and tablet targeted socs have cap-sense on them in a tqfn or bga package. i find it hard to believe that that entire chipset costs less than any volume MCU made after 2010.

ESPECIALLY when you have to build out a daughterboard to fit the whole thing in the chassis :\

to all the brilliant friends who have left us, and all the students who climb on their shoulders.

Offline Soarer

  • * Moderator
  • Posts: 1918
  • Location: UK
Re: Help me reverse-eng a capacitive FC660C
« Reply #25 on: Wed, 05 February 2014, 20:33:43 »
Erm, they are 2-layer PCBs.

I dunno when Topre first designed 'em, but I doubt the design has changed much since then. Inertia.

Offline mkawa

  •  No Marketplace Access
  • Posts: 6562
  • (ツ)@@@. crankypants
Re: Help me reverse-eng a capacitive FC660C
« Reply #26 on: Wed, 05 February 2014, 20:56:04 »
oh really? that's quite interesting :O

afaik all the realforce boards are 4-layer.

to all the brilliant friends who have left us, and all the students who climb on their shoulders.

Offline Soarer

  • * Moderator
  • Posts: 1918
  • Location: UK
Re: Help me reverse-eng a capacitive FC660C
« Reply #27 on: Wed, 05 February 2014, 21:08:14 »
I meant all of them - certainly the Realforce 103 I have here, that FC660C looks 2-layer, and the HHKB, IIRC. Why would they need/want more? Plenty of ground plane there already, and deliberately not underneath the switches.

Offline mkawa

  •  No Marketplace Access
  • Posts: 6562
  • (ツ)@@@. crankypants
Re: Help me reverse-eng a capacitive FC660C
« Reply #28 on: Wed, 05 February 2014, 21:32:13 »
there are way too many vias on that board. either the designers felt the need to drill through to ground every 3mm or there are more than two layers there.

to all the brilliant friends who have left us, and all the students who climb on their shoulders.

Offline hasu

  • Posts: 3471
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: Help me reverse-eng a capacitive FC660C
« Reply #29 on: Wed, 05 February 2014, 22:26:52 »
I'm almost sure PCB of HHKB pro has more than two layers, it may be a 4-layer.
If it is 2-layer I can't explain how its traces goes. I don't know about Realforce I have never looked into its PCB closely.

But Topre doen't use necessarily multi-layer PCB to build a their capacitive switch. They made it even with one-sided board! :D

EDIT: This is Sun short type keyboard. Green molded one is old bigger TP1683 :D


I like this PCB design, it is beautiful IMO.
« Last Edit: Wed, 05 February 2014, 22:47:08 by hasu »

Offline mkawa

  •  No Marketplace Access
  • Posts: 6562
  • (ツ)@@@. crankypants
Re: Help me reverse-eng a capacitive FC660C
« Reply #30 on: Thu, 06 February 2014, 00:45:11 »
hah, it looks great until you get to the gigantic rats nest at the top ;)

to all the brilliant friends who have left us, and all the students who climb on their shoulders.

Offline Matt3o

  • -[°_°]-
  • ** Robot Emeritus
  • Thread Starter
  • Posts: 3547
  • Location: Italy
Re: Help me reverse-eng a capacitive FC660C
« Reply #31 on: Thu, 06 February 2014, 01:54:03 »
there's no way this has just 2 layers (unless I'm missing something really obvious).

There are keys with absolutely no visible tracks going to them (both sides). Even the daughter board seems to be multi-layered.

Offline Matt3o

  • -[°_°]-
  • ** Robot Emeritus
  • Thread Starter
  • Posts: 3547
  • Location: Italy
Re: Help me reverse-eng a capacitive FC660C
« Reply #32 on: Thu, 06 February 2014, 02:48:00 »
All pins connected. Don't ask me what to do with this because I have no clue :)

I'll also try to understand how the controllers are connected to each other


Offline Matt3o

  • -[°_°]-
  • ** Robot Emeritus
  • Thread Starter
  • Posts: 3547
  • Location: Italy
Re: Help me reverse-eng a capacitive FC660C
« Reply #33 on: Fri, 07 February 2014, 08:50:39 »
ok, this thing seems way over my head. I'm a little scared of frying the keyboard while doing some tests with custom firmware. It's too different from the HHKB for me to try to mess with Hasu's code.

I'll just swap the 45g with 55g for now.
« Last Edit: Fri, 07 February 2014, 09:05:42 by Matt3o »

Offline mkawa

  •  No Marketplace Access
  • Posts: 6562
  • (ツ)@@@. crankypants
Re: Help me reverse-eng a capacitive FC660C
« Reply #34 on: Fri, 07 February 2014, 10:37:10 »
the LV ICs are all multiplexers to reduce the number of matrix lines needed. the MCU scans a big segment of the matrix at a time. the ad528 is a digipot that is probably used to trim an amp somewhere.

the TP1684 is a capacitive sensor. modern MCUs include an array of capacitive sensors for multi-touch screens, cap touch buttons, etc. apparently topre is stuck in the early 90s with an NEC MCU (i bet the code on that thing hasn't changed in 10 years.. oy vey) and a separate discrete capacitive sensor.

to all the brilliant friends who have left us, and all the students who climb on their shoulders.

Offline Soarer

  • * Moderator
  • Posts: 1918
  • Location: UK
Re: Help me reverse-eng a capacitive FC660C
« Reply #35 on: Fri, 07 February 2014, 10:39:13 »
Oh, you wimp :P As long as the power connections and the output from the TP1684 are correct, there's very little chance of doing any damage. Hasu's code would need some modding, but perhaps not a huge amount. Agreed though, that doing this kind of thing I would be using my 'scope / logic analyzer to verify what I was doing, at least at the early stages.
« Last Edit: Fri, 07 February 2014, 10:40:55 by Soarer »

Offline Matt3o

  • -[°_°]-
  • ** Robot Emeritus
  • Thread Starter
  • Posts: 3547
  • Location: Italy
Re: Help me reverse-eng a capacitive FC660C
« Reply #36 on: Fri, 07 February 2014, 10:53:11 »
I'll do one last test with the keyboard actually powered before throwing the towel.

Offline vivalarevolución

  • Posts: 2146
  • Location: Naptown, Indiana, USA
  • Keep it real b/c any other way is too stressful
Re: Help me reverse-eng a capacitive FC660C
« Reply #37 on: Fri, 07 February 2014, 19:30:13 »
If you guys could translate this discussion into English, that would be great.
Wish I had some gif or quote for this space, but I got nothing

Offline hasu

  • Posts: 3471
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: Help me reverse-eng a capacitive FC660C
« Reply #38 on: Fri, 07 February 2014, 20:40:11 »
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.



Offline mkawa

  •  No Marketplace Access
  • Posts: 6562
  • (ツ)@@@. crankypants
Re: Help me reverse-eng a capacitive FC660C
« Reply #39 on: Fri, 07 February 2014, 21:14:52 »
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.

to all the brilliant friends who have left us, and all the students who climb on their shoulders.

Offline Matt3o

  • -[°_°]-
  • ** Robot Emeritus
  • Thread Starter
  • Posts: 3547
  • Location: Italy
Re: Help me reverse-eng a capacitive FC660C
« Reply #40 on: Sat, 08 February 2014, 01:59:35 »
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.

thanks you Hasu, you are my own personal superhero.

AD5258 datasheet says
1 W W Terminal, GND ≤ VW ≤ VDD.
2 ADO Programmable Three-State Address Bit 0 for Multiple Package Decoding. State is registered on
power-up.
3 AD1 Programmable Three-State Address Bit 1 for Multiple Package Decoding. State is registered on
power-up.
4 SDA Serial Data Input/Output.
5 SCL Serial Clock Input. Positive edge triggered.
6 VLOGIC Logic Power Supply.
7 GND Digital Ground.
8 VDD Positive Power Supply.
9 B B Terminal, GND ≤ VB ≤ VDD.
10 A A Terminal, GND ≤ VA ≤ VDD.

Offline Matt3o

  • -[°_°]-
  • ** Robot Emeritus
  • Thread Starter
  • Posts: 3547
  • Location: Italy
Re: Help me reverse-eng a capacitive FC660C
« Reply #41 on: Sat, 08 February 2014, 09:17:38 »
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.

yes, I checked and this is the case. I don't know how you did it...

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.

no clue what to do with those two pins.

I tried to burn a modified version of the firmware with changes based on my schema and Hasu's instructions but it is not working. I'll double check everything from scratch...

Offline Soarer

  • * Moderator
  • Posts: 1918
  • Location: UK
Re: Help me reverse-eng a capacitive FC660C
« Reply #42 on: Sat, 08 February 2014, 10:12:31 »
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 (or possibly a Teensy).

Offline Matt3o

  • -[°_°]-
  • ** Robot Emeritus
  • Thread Starter
  • Posts: 3547
  • Location: Italy
Re: Help me reverse-eng a capacitive FC660C
« Reply #43 on: Sat, 08 February 2014, 11:26:18 »
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 read


Offline mkawa

  •  No Marketplace Access
  • Posts: 6562
  • (ツ)@@@. crankypants
Re: Help me reverse-eng a capacitive FC660C
« Reply #44 on: Sat, 08 February 2014, 17:43:56 »
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 (or possibly a Teensy).
agreed. someone needs to take a bus pirate and/or open logic analyzer to it.


to all the brilliant friends who have left us, and all the students who climb on their shoulders.

Offline Matt3o

  • -[°_°]-
  • ** Robot Emeritus
  • Thread Starter
  • Posts: 3547
  • Location: Italy
Re: Help me reverse-eng a capacitive FC660C
« Reply #45 on: Sun, 09 February 2014, 02:17:57 »
at least I tried... :P

Offline hasu

  • Posts: 3471
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: Help me reverse-eng a capacitive FC660C
« Reply #46 on: Sun, 09 February 2014, 15:29:50 »
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 (or possibly a Teensy).

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.
http://pdf1.alldatasheet.com/datasheet-pdf/view/36387/ROHM/BU9831.html
But the digipot of FC660C doesn't seem to have this function so you will have to send a RESTORE command to restore value from EEPROM at startup.


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



Offline mkawa

  •  No Marketplace Access
  • Posts: 6562
  • (ツ)@@@. crankypants
Re: Help me reverse-eng a capacitive FC660C
« Reply #47 on: Sun, 09 February 2014, 16:25:24 »
that's hilarious. "no no, turn that knob until it works, it's fine!"

hah

to all the brilliant friends who have left us, and all the students who climb on their shoulders.

Offline Soarer

  • * Moderator
  • Posts: 1918
  • Location: UK
Re: Help me reverse-eng a capacitive FC660C
« Reply #48 on: Sun, 09 February 2014, 16:45:01 »
Hmm, IF all it takes is to send it a RESTORE command, then that's not too bad.

Offline dorkvader

  • Posts: 6288
  • Location: Boston area
  • all about the "hack" in "geekhack"
Re: Help me reverse-eng a capacitive FC660C
« Reply #49 on: Tue, 11 February 2014, 00:44:43 »
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 read

Show Image


Oh haven;t checked up on this for a while, or I'd have said as soon as I saw the PCB picture.

Pin 20 goes to the mounting point which is (rightfully) isolated from the gnd plane of the KB. So pin20 goes to case gnd and pin 19 and 18 go to the PCB gnd.

I guess they have to play around with grounding a lot more with these capacitive designs.

I wish a real engineer would come and corrent me if I'm wrong though. I'm still very much a learner when it comes to electronics.

Offline mohitleo9

  • Posts: 17
Re: Help me reverse-eng a capacitive FC660C
« Reply #50 on: Mon, 17 March 2014, 20:46:54 »
Hi,
I just got a leopold fc660c just sole purpose of modding (alternate controller and) , and making it a super keyboard(eventually bluetooth). I was IMing hasu and he pointed me to this thread which I am really happy to find.
I have gotten my keyboard (infact I am typing on it right now!) and I will start modding it on wednesday (when I get my multimeter EXtec Ex330 and solder iron ).
I am not an electronics major , but I still understand the basics from a class in undergrad ( I am a computer science major).
My question is can I proceed with just the multimeter I have or do I need to get a logic analyzer or any other equipment and if yes then what? Also should I open up a new thread or continue on this one?
Thanks in advance
Mohit

Offline dustinhxc

  • * Exalted Elder
  • Posts: 6739
  • Location: MN
  • IV
    • Gray Designs
Re: Help me reverse-eng a capacitive FC660C
« Reply #51 on: Mon, 17 March 2014, 21:15:48 »
Oh wow my FC660C is my end game board, love this damn thing. Interested to find out more about the PCB.

Offline mohitleo9

  • Posts: 17
Re: Help me reverse-eng a capacitive FC660C
« Reply #52 on: Mon, 17 March 2014, 23:26:16 »
Anyway, keep tracing! But don't bother tracing the matrix, do that with software :D

Soarer Does any framework support this? I would assume it would be something like you connect all the controller cables to the pcb and then press all the keys and then the firmware would see what signals have been sent?
Correct me if I am wrong

Offline hasu

  • Posts: 3471
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: Help me reverse-eng a capacitive FC660C
« Reply #53 on: Tue, 18 March 2014, 00:45:44 »
mohitleo9, welcome to Geekhack.

Logic Analyzer with I2C protocol decoder is desirable. You will have to know 1)how the digital pot works on I2C bus and 2)how original controller scans keyboard matrix. Without Analyzer all you can do is speculation and trial-and-error loop. It will be very time consuming job. Trade-off between time and money here.
I use ZEROPLUS Logic cube but you may want cheaper and open source one like Bus Pirate or Open Bench, though I don't know about those.

After that I'd recommend to get Oscilloscope if you can afford. It is not needed during everything goes well but when in trouble you will appreciate it. This is not essential to this project, just optional.
I have Rigol DS1052E and it was the best option for a newbie several years ago, I don't know at the current.

Offline Matt3o

  • -[°_°]-
  • ** Robot Emeritus
  • Thread Starter
  • Posts: 3547
  • Location: Italy
Re: Help me reverse-eng a capacitive FC660C
« Reply #54 on: Tue, 18 March 2014, 02:09:06 »
I found specs for the i2c protocol of the digital potentiometer but I really didn't understand a thing.

I'll try with a Logic Analyzer, thanks for the suggestions hasu. Do you know this http://www.saleae.com/ ?

Offline hasu

  • Posts: 3471
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: Help me reverse-eng a capacitive FC660C
« Reply #55 on: Tue, 18 March 2014, 02:56:20 »
I hear good reputitions about saleae in places. I believe it works well for this job. It has good probe clips and its software looks clean and user friendly. But I don't know whether its price is reasonable in comparison with other options.

And you may want to check Dave's review. I don't watch this thoroughly.

Offline Matt3o

  • -[°_°]-
  • ** Robot Emeritus
  • Thread Starter
  • Posts: 3547
  • Location: Italy
Re: Help me reverse-eng a capacitive FC660C
« Reply #56 on: Tue, 18 March 2014, 03:06:54 »
thank you hasu!

Offline mohitleo9

  • Posts: 17
Re: Help me reverse-eng a capacitive FC660C
« Reply #57 on: Tue, 18 March 2014, 09:57:16 »
Thanks Hasu for the recommendations, I will get one as it seems like a useful device!
Also Matt could you post the link for the potentiometer , I couldn't find it

Offline mkawa

  •  No Marketplace Access
  • Posts: 6562
  • (ツ)@@@. crankypants
Re: Help me reverse-eng a capacitive FC660C
« Reply #58 on: Thu, 20 March 2014, 09:50:31 »
yah, dave likes the salaes. you're going to need analog readout as well. the rigol 1052e is a good deal, since you can hack it into a 1052d. the rigols in general are kind of lazy engineering in that they just take the higher end devices and software cripple them to get the lower end devices. nearly every low-end model has been hacked, usually due to entropy bugs, sometimes because it's just so damned obvious. http://poke152.blogspot.com/2013/07/riglol.html

google riglol and eevblog rigol

for high precision stuff i bought an entry level tek DPO (as soarer and i were discussing earlier). i've got some of dangerousprototype's logic analyzer boards that will do the job for a lot of digital work, but i might pick up one of the higher end rigols anyway at some point for hardcore MSO duty.

to all the brilliant friends who have left us, and all the students who climb on their shoulders.

Offline mohitleo9

  • Posts: 17
Re: Help me reverse-eng a capacitive FC660C
« Reply #59 on: Wed, 02 April 2014, 20:44:59 »
So finally after a long wait I got the logic analyzer and got to work so the I2C data it's sending is attached , I dont understand it though .
I used salae logic analyzer for this and the data is attached in csv and logicdata format ( which can be opened with their software free to download from their site)
Please help !

Offline mohitleo9

  • Posts: 17
Re: Help me reverse-eng a capacitive FC660C
« Reply #60 on: Wed, 02 April 2014, 21:17:14 »
oh one more file that has better representation of the I2c data

Offline hasu

  • Posts: 3471
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: Help me reverse-eng a capacitive FC660C
« Reply #61 on: Thu, 03 April 2014, 20:43:08 »
First I have no experience with I2C at all.
I saw your i2cdata.logicdata with Saleae software but I couldn't find likely valid I2C data.

Is this data got from Pin 12 and 13 of connector(or pin 4 and 5 of AD5258) during power up?


Offline mohitleo9

  • Posts: 17
Re: Help me reverse-eng a capacitive FC660C
« Reply #62 on: Fri, 04 April 2014, 12:04:54 »
Hi Hasu ,
First thanks for the reply,
I connected the logic analyzer to pins 12 and 13 because the pins 4 and 5 are too small.
I looked at the I2c protocol details and found this
Acknowledge—The “ACK” is the condition under which
the master generates a 9th clock pulse on the SCL line
(for each byte) while the receiving device pulls the SDA
line low in order to signify that the last byte was received.
A “NAK” is only generated by the master; it signals the
slave that no additional data need be sent.A NAK is used
prior to a STOP to prevent the slave from driving the bus with additional data when the master is about to terminate the communication
Source http://www.analog.com/static/imported-files/application_notes/54305147357414AN686_0.pdf
and then I started looking into the data file i sends setup and write instructions like that though I am not sure what they mean yet. (I am looking into the datasheet of AD5258 to understand that).
I am gonna test it again to see if something got short-circuited and post the results.
I have ordered a cable for the connector as it is standard and really small AWG28 .

Meanwhile Please see the file attached to this post to see the I2c data(the instructions) maybe that means something ?

Offline Matt3o

  • -[°_°]-
  • ** Robot Emeritus
  • Thread Starter
  • Posts: 3547
  • Location: Italy
Re: Help me reverse-eng a capacitive FC660C
« Reply #63 on: Fri, 04 April 2014, 12:09:01 »
have you recorded the data on device startup?

Offline mohitleo9

  • Posts: 17
Re: Help me reverse-eng a capacitive FC660C
« Reply #64 on: Fri, 04 April 2014, 12:24:47 »
Yes I did
It sends some kind of setup to read [U + ACK] as the first instruction

Offline Matt3o

  • -[°_°]-
  • ** Robot Emeritus
  • Thread Starter
  • Posts: 3547
  • Location: Italy
Re: Help me reverse-eng a capacitive FC660C
« Reply #65 on: Fri, 04 April 2014, 12:28:32 »
hope hasu can chime in. the digital potenziometer is the only bit missing. Everything else should be already set.

Offline mohitleo9

  • Posts: 17
Re: Help me reverse-eng a capacitive FC660C
« Reply #66 on: Fri, 04 April 2014, 12:46:24 »
Yeah , I also ordered a connector with the cables attached that would really help in debugging as the pins are really small! I will do the logic test again when the cable comes just to make sure that nothing was short-circuited

Offline hasu

  • Posts: 3471
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: Help me reverse-eng a capacitive FC660C
« Reply #67 on: Sat, 05 April 2014, 19:59:48 »
What I can see on the data are only '0101 0101(0x55)' and '1010 1010'(0xAA), they don't look like meaning packets to me. I think we will find packets including AD5258 address on the I2C bus.

AD5258 has one of four possible addresses according to its datasheet. Which address it uses depends on pin configuration of AD0 and AD1.

Four possible addresses of AD5258:
Code: [Select]
0011000
0011010
1001100
1001110

Offline mohitleo9

  • Posts: 17
Re: Help me reverse-eng a capacitive FC660C
« Reply #68 on: Mon, 14 April 2014, 22:15:13 »
Hi
I finally got some useful data , it turned out some wires were short circuited, so I got some custom made wires and got some good results! it was about time!
So I am attaching the data and my setup pic!
hasu I would be really thankfull if you can look at it!

Offline mohitleo9

  • Posts: 17
Re: Help me reverse-eng a capacitive FC660C
« Reply #69 on: Mon, 14 April 2014, 22:29:27 »
wait let me do a couple of more tests then you guys can see ! I will attach more results , cuz the problem is I dont' see any address data as hasu mentioned

Offline mkawa

  •  No Marketplace Access
  • Posts: 6562
  • (ツ)@@@. crankypants
Re: Help me reverse-eng a capacitive FC660C
« Reply #70 on: Mon, 14 April 2014, 22:35:42 »
i've had this swapped out for two long. which two chips are talking here? the digipot and the mcu? and the digipot is slaved on the bus to the mcu?

to all the brilliant friends who have left us, and all the students who climb on their shoulders.

Offline mohitleo9

  • Posts: 17
Re: Help me reverse-eng a capacitive FC660C
« Reply #71 on: Mon, 14 April 2014, 23:00:13 »
I am tracking the data on the pins between the digipot and the controller
I basically looked at the pins of the controller which are responsible for the I2c according to http://www.digchip.com/datasheets/parts/datasheet/170/MB90F337.php
and then traced the data on the corresponding pins going out of the controller.
I really appreciate the patience ,It's a bit overwhelming for me


Offline mkawa

  •  No Marketplace Access
  • Posts: 6562
  • (ツ)@@@. crankypants
Re: Help me reverse-eng a capacitive FC660C
« Reply #72 on: Mon, 14 April 2014, 23:25:46 »
this is a bit weird, because all the writes are to the same address (0xA4, which doesn't match any address on the digipot per the spec sheet) but it looks like what's happening here is that you're catching broadcasts from the secondary controllers to the MCU and also writes to the digipot (146, 137, 146, 146, ...). also, according to your decode, the packets all have the same number. decode still looks wrong to me.

to all the brilliant friends who have left us, and all the students who climb on their shoulders.

Offline mohitleo9

  • Posts: 17
Re: Help me reverse-eng a capacitive FC660C
« Reply #73 on: Mon, 14 April 2014, 23:52:05 »
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

Offline mkawa

  •  No Marketplace Access
  • Posts: 6562
  • (ツ)@@@. crankypants
Re: Help me reverse-eng a capacitive FC660C
« Reply #74 on: Mon, 14 April 2014, 23:54:15 »
yah it makes sense but i think you're still either decoding it wrong or like you said you're snooping the wrong pins. remember to double check the endianness and byte ordering

to all the brilliant friends who have left us, and all the students who climb on their shoulders.

Offline mohitleo9

  • Posts: 17
Re: Help me reverse-eng a capacitive FC660C
« Reply #75 on: Mon, 14 April 2014, 23:54:57 »
it looks like that line 2 and 4 make sense since intial output is just noise from connecting usb ,

Offline mohitleo9

  • Posts: 17
Re: Help me reverse-eng a capacitive FC660C
« Reply #76 on: Tue, 15 April 2014, 00:03:33 »
but i have checked again and again the connection s to the digipot are channels 0 and 5 pins (12 13) and there is no usefun data there

Offline mohitleo9

  • Posts: 17
Re: Help me reverse-eng a capacitive FC660C
« Reply #77 on: Tue, 15 April 2014, 00:08:53 »
I am gonna do a few more thorough tests and post the results if nothing works out  , I will go to this microcontroller meetup in nyc and seek some help there and then post the results thanks a lot

Offline mohitleo9

  • Posts: 17
Re: Help me reverse-eng a capacitive FC660C
« Reply #78 on: Tue, 15 April 2014, 00:14:47 »
I found something intersesting , another datasheet for ad5258 http://www.datasheetcatalog.com/datasheets_pdf/A/D/5/2/AD5258.shtml
which gives more possible addresses
Device
Address
0011000 0   0
0011001 NC 0
0011010 1   0
0101001 0 NC
0101010 NC NC
0101011 1 NC
1001100 0   1
1001101 NC 1
1001110 1   1
maybe one of these might do the trick

Offline Matt3o

  • -[°_°]-
  • ** Robot Emeritus
  • Thread Starter
  • Posts: 3547
  • Location: Italy
Re: Help me reverse-eng a capacitive FC660C
« Reply #79 on: Tue, 15 April 2014, 02:15:21 »
what a mess. I don't have time right now, but as soon as the Granite set GB is over I'll put my head back to this.

Offline hasu

  • Posts: 3471
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: Help me reverse-eng a capacitive FC660C
« Reply #80 on: Tue, 15 April 2014, 20:32:53 »
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

Hmm, I could not find likely signals for I2C in both ffffiinn and 555555.logicdata. Are we seeing signal of correct pins? They are 12 and 13 pin of connector in controller PCB(not keyswitch PCB), right? And correct ground will be needed to capture signal. Forgive me for silly question.

This figure uses pin number in controller PCB. And we are using this number scheme, right?


Note that pin numbers are reverse between keyswtich PCB and controller PCB.
http://geekhack.org/index.php?topic=54222.msg1214286#msg1214286

Offline mkawa

  •  No Marketplace Access
  • Posts: 6562
  • (ツ)@@@. crankypants
Re: Help me reverse-eng a capacitive FC660C
« Reply #81 on: Tue, 15 April 2014, 22:01:18 »
i suspect the pins are reversed. it looks like the backside of both PCBs in that picture with 1 going to 20 etc

to all the brilliant friends who have left us, and all the students who climb on their shoulders.

Offline Matt3o

  • -[°_°]-
  • ** Robot Emeritus
  • Thread Starter
  • Posts: 3547
  • Location: Italy
Re: Help me reverse-eng a capacitive FC660C
« Reply #82 on: Wed, 16 April 2014, 01:21:13 »
i suspect the pins are reversed. it looks like the backside of both PCBs in that picture with 1 going to 20 etc

yes, guys. The pins in the pictures are reversed because my header goes from the PCB to the daughter and I need them in the order they are printed on the daughter board, not on the PCB. The pins on the PCB are simply numbered from right to left.

The potenziometer pins are 8-9 which correspond to 13-12 in the schema above. Sorry for the mess but it was easier for me this way.
« Last Edit: Wed, 16 April 2014, 01:25:22 by Matt3o »

Offline lf

  • Posts: 2
Re: Help me reverse-eng a capacitive FC660C
« Reply #83 on: Sat, 21 June 2014, 15:17:17 »
Has anyone contacted Leopold and asked if they would just release this information? It can't hurt to ask, right?

Any serious copycats can reverse engineer the board anyways.

Offline lf

  • Posts: 2
Re: Help me reverse-eng a capacitive FC660C
« Reply #84 on: Sat, 21 June 2014, 15:27:03 »
Also, hello! I am new here.

Is there anything I can do to help this effort? I have a FC600C in the mail.

Offline dorkvader

  • Posts: 6288
  • Location: Boston area
  • all about the "hack" in "geekhack"
Re: Help me reverse-eng a capacitive FC660C
« Reply #85 on: Sun, 22 June 2014, 17:13:01 »
Has anyone contacted Leopold and asked if they would just release this information? It can't hurt to ask, right?

Any serious copycats can reverse engineer the board anyways.
We could ask I guess, but every company I've ever talked to has been very hesitant to release that sort of information.

Welcome to geekhack! You can certainly help out with this project depending on your skills (electrical / computer engineering etc ) / resources (logic analyzer, etc)

Offline hasu

  • Posts: 3471
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: Help me reverse-eng a capacitive FC660C
« Reply #86 on: Fri, 11 July 2014, 03:17:38 »
I added HHKB JP support to my firmware the other day. JP has very similar chip set to FC660C, see this diagram.

Code: [Select]
    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

So I think this JP code will work for FC660C too. Though we still need to know how AD5258 should be initialzed.
https://github.com/tmk/tmk_keyboard/blob/master/keyboard/hhkb/matrix.c

And JP has land pattern for BU9831 but not installed inerestingly. Digipot seems to be not so critical for Topre TP1684 chip.

Offline Matt3o

  • -[°_°]-
  • ** Robot Emeritus
  • Thread Starter
  • Posts: 3547
  • Location: Italy
Re: Help me reverse-eng a capacitive FC660C
« Reply #87 on: Fri, 11 July 2014, 03:30:27 »
thanks for the update hasu. Unfortunately I don't know how to help with the AD5258. I still miss a digital analyzer but I will probably get one soon.

Offline user888

  • Posts: 42
Re: Help me reverse-eng a capacitive FC660C
« Reply #88 on: Mon, 26 January 2015, 05:21:01 »
No new info on the reverse engineering?

Offline spfft

  • Posts: 8
Re: Help me reverse-eng a capacitive FC660C
« Reply #89 on: Thu, 17 September 2015, 10:12:25 »
Anyone get anywhere with this? I'd love to attempt the same mod.

Offline ramnes

  • Posts: 864
  • Location: France
  • T fou, mec?
Re: Help me reverse-eng a capacitive FC660C
« Reply #90 on: Thu, 24 September 2015, 08:48:56 »
Matt3o, hasu, mohitleo9, mkawa, thanks for all the work here, that's pretty impressive.

I don't have a lot of skills in electronic but I have a FC660C in pieces right now.

I really would like this to happen, is there anything I can do to help?
23h18 - photekq: hhkb with silenced realforce sliders and lubricated well is
23h18 - photekq: the best switch i've used

Offline wubzorz

  • Posts: 1
Re: Help me reverse-eng a capacitive FC660C
« Reply #91 on: Mon, 09 May 2016, 06:38:59 »
Is this still being investigated (very few threads floating around for this specific board)?

From probing the AD5258 I2C lines, it doesn't appear there is any RDAC initialization happening. The wiper is set from EEPROM on supply (SDA and SCL are both high). You can measure the resistance between A/B/W pins on the potentiometer to confirm on power (~62Mohm to 43kohm).

Currently in the process of designing an alternate board for this specific KB (using a Cortex M0+ and CC2540 BLE). This thread has been of great help.

Offline ramnes

  • Posts: 864
  • Location: France
  • T fou, mec?
Re: Help me reverse-eng a capacitive FC660C
« Reply #92 on: Tue, 10 May 2016, 18:19:47 »
Awesome, please keep us up to date!
23h18 - photekq: hhkb with silenced realforce sliders and lubricated well is
23h18 - photekq: the best switch i've used

Offline IonutZ

  • Posts: 130
  • Location: Detroit
  • Stay awhile and listen
    • SC
Re: Help me reverse-eng a capacitive FC660C
« Reply #93 on: Wed, 21 December 2016, 07:20:52 »
Sorry to resurrect the dead but any luck on this? Matt3o or hasu?

Offline hasu

  • Posts: 3471
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: Help me reverse-eng a capacitive FC660C
« Reply #94 on: Wed, 21 December 2016, 17:51:28 »
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.

Offline Matt3o

  • -[°_°]-
  • ** Robot Emeritus
  • Thread Starter
  • Posts: 3547
  • Location: Italy
Re: Help me reverse-eng a capacitive FC660C
« Reply #95 on: Thu, 22 December 2016, 03:28:16 »
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.

so... how would you proceed? would you start from your code for the HHKB?

Offline hasu

  • Posts: 3471
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: Help me reverse-eng a capacitive FC660C
« Reply #96 on: Thu, 22 December 2016, 06:33:02 »
Yes, I'd do that. I think you can use its timing of key scan sequence at least.
https://github.com/tmk/tmk_keyboard/blob/master/keyboard/hhkb/matrix.c#L62-L142

Offline sony

  • Formerly ultraidiot
  • Posts: 230
  • Location: Atlanta
Re: Help me reverse-eng a capacitive FC660C
« Reply #97 on: Mon, 02 January 2017, 14:25:08 »
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.

Sounds like we're getting close. I have a 660c and access to a lot of things at my school. If you need anything probed or something, just give me detailed instructions and I can probably get it done.

Offline robotmaxtron

  • Posts: 107
  • Location: Austin,TX
Re: Help me reverse-eng a capacitive FC660C
« Reply #98 on: Tue, 03 January 2017, 21:13:57 »
Oh boy, this is really exciting.

Offline Krelbit

  • Posts: 488
  • Location: Minnesota
  • Switchmod.net
    • Switchmod
Re: Help me reverse-eng a capacitive FC660C
« Reply #99 on: Sat, 07 January 2017, 13:30:00 »
Looking into the FC660C recently and this thread caught my eye. Any further development as of recently?

Offline Korseir

  • Posts: 91
Re: Help me reverse-eng a capacitive FC660C
« Reply #100 on: Sat, 14 January 2017, 07:26:42 »
Bump for any updates on this project?

Offline johnthedong

  • Posts: 267
Re: Help me reverse-eng a capacitive FC660C
« Reply #101 on: Tue, 14 February 2017, 13:20:58 »
Looking into this closely too!  :))

Offline cattlebruisr

  • Posts: 3
Re: Help me reverse-eng a capacitive FC660C
« Reply #102 on: Fri, 17 February 2017, 05:22:46 »
I was wondering if anyone figured out what the empty connector on the original controller slot at CN2 was for. Sorry if this was asked before!

Offline hasu

  • Posts: 3471
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: Help me reverse-eng a capacitive FC660C
« Reply #103 on: Fri, 17 February 2017, 06:17:39 »
It's serial programming interface for microcontroller.

Sent from my Nexus 5X


Offline cattlebruisr

  • Posts: 3
Re: Help me reverse-eng a capacitive FC660C
« Reply #104 on: Fri, 24 February 2017, 00:49:17 »
If I didn't want to reprogram the firmware on the fc660c but just wanted to add Bluetooth to it. Would it be possible to do by just modifying the existing controller?

Offline hasu

  • Posts: 3471
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: Help me reverse-eng a capacitive FC660C
« Reply #105 on: Tue, 28 February 2017, 10:20:44 »
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#msg2165899




Some pics and memos of the board
http://imgur.com/a/4UKkZ

and more infos about Topre capsense.
http://imgur.com/a/jat2a

Offline robotmaxtron

  • Posts: 107
  • Location: Austin,TX
Re: Help me reverse-eng a capacitive FC660C
« Reply #106 on: Tue, 28 February 2017, 22:03:37 »
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#msg2165899


Show Image


Some pics and memos of the board
http://imgur.com/a/4UKkZ

and more infos about Topre capsense.
http://imgur.com/a/jat2a

This is fantastic news Hasu. Please keep us posted with your progress.

Offline IonutZ

  • Posts: 130
  • Location: Detroit
  • Stay awhile and listen
    • SC
Re: Help me reverse-eng a capacitive FC660C
« Reply #107 on: Wed, 01 March 2017, 06:58:32 »
Waaaay too exciting :D

Offline ramnes

  • Posts: 864
  • Location: France
  • T fou, mec?
Re: Help me reverse-eng a capacitive FC660C
« Reply #108 on: Wed, 01 March 2017, 08:13:33 »
Pleeeeeeease

23h18 - photekq: hhkb with silenced realforce sliders and lubricated well is
23h18 - photekq: the best switch i've used

Offline cattlebruisr

  • Posts: 3
Re: Help me reverse-eng a capacitive FC660C
« Reply #109 on: Sun, 05 March 2017, 22:42:20 »
Looks like hasu has merged the fc660c branch to master on tmk

:) are we close?

Offline robotmaxtron

  • Posts: 107
  • Location: Austin,TX
Re: Help me reverse-eng a capacitive FC660C
« Reply #110 on: Mon, 06 March 2017, 01:19:27 »
I guess it's time for me to start shopping around for an FC660c.  :thumb:

Offline testplsignore

  • Posts: 81
  • Location: 'Straya M8
  • I am one with the Cup Rubber...
Re: Help me reverse-eng a capacitive FC660C
« Reply #111 on: Mon, 06 March 2017, 03:05:35 »
:D
                   
Realforce 10AE 45g Type-S & 55g    HHKB BT & Type-S    Realforce RGB Hype-S    FC980C    FC660C    Filco BT TKL

Offline hasu

  • Posts: 3471
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: Help me reverse-eng a capacitive FC660C
« Reply #112 on: Mon, 06 March 2017, 18:53:23 »
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.



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

Offline robotmaxtron

  • Posts: 107
  • Location: Austin,TX
Re: Help me reverse-eng a capacitive FC660C
« Reply #113 on: Mon, 06 March 2017, 19:37:13 »
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


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

Outstanding work Hasu.  :cool: If/when it comes to a GB for the controller, consider me first in line. I can't wait to finally have a second programmable Topre board.

Offline hanya

  • Posts: 132
  • Location: Japan
Re: Help me reverse-eng a capacitive FC660C
« Reply #114 on: Mon, 06 March 2017, 22:04:21 »
Manufacturer of TP1684 is NEC!
PFU HHKB JP, Sanwa MA-TB38 trackball

Offline sony

  • Formerly ultraidiot
  • Posts: 230
  • Location: Atlanta
Re: Help me reverse-eng a capacitive FC660C
« Reply #115 on: Mon, 06 March 2017, 22:43:30 »
Hasu is a legend. A living god.

Offline hasu

  • Posts: 3471
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: Help me reverse-eng a capacitive FC660C
« Reply #116 on: Tue, 07 March 2017, 07:43:08 »
Manufacturer of TP1684 is NEC!
Yeah, this is new finding afaik and pin names are kind of helpful to know how the chip works.



Sent from my Nexus 5X


Offline hking0036

  • Posts: 343
  • Location: NC, USA
Re: Help me reverse-eng a capacitive FC660C
« Reply #117 on: Tue, 07 March 2017, 08:31:28 »
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.
« Last Edit: Tue, 07 March 2017, 08:34:43 by hking0036 »
Realforce RF87UB 45g Uniform | Leopold FC660C w/ TMK | IBM Model M - 3/24/1997 | IBM Model F 122 - 11/25/1985 ANSI'd w/ TMK | IBM Model F XT in a box

Offline hasu

  • Posts: 3471
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: Help me reverse-eng a capacitive FC660C
« Reply #118 on: Tue, 07 March 2017, 16:38:19 »
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.


Offline kmba

  • Formerly tameone
  • * Esteemed Elder
  • Posts: 1173
  • Location: Indiana, USA
Re: Help me reverse-eng a capacitive FC660C
« Reply #119 on: Tue, 07 March 2017, 23:04:00 »
 :eek: :eek: :eek: :eek: :eek: :eek: :eek: :thumb: :thumb: :thumb: :thumb: :thumb: :thumb: :thumb: :thumb: :thumb: :thumb:
keyboards.

Offline johnthedong

  • Posts: 267
Re: Help me reverse-eng a capacitive FC660C
« Reply #120 on: Tue, 07 March 2017, 23:18:06 »
OMG, if you manage to pop in bluetooth support for the FC660C (alike the HHKB controller), sign me up for one!!!

Offline hking0036

  • Posts: 343
  • Location: NC, USA
Re: Help me reverse-eng a capacitive FC660C
« Reply #121 on: Wed, 08 March 2017, 06:57:19 »
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.
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.
Realforce RF87UB 45g Uniform | Leopold FC660C w/ TMK | IBM Model M - 3/24/1997 | IBM Model F 122 - 11/25/1985 ANSI'd w/ TMK | IBM Model F XT in a box

Offline testplsignore

  • Posts: 81
  • Location: 'Straya M8
  • I am one with the Cup Rubber...
Re: Help me reverse-eng a capacitive FC660C
« Reply #122 on: Thu, 09 March 2017, 03:23:37 »
Bluetooth FC660C?

Pls stop, this hype train is getting out of control :p
                   
Realforce 10AE 45g Type-S & 55g    HHKB BT & Type-S    Realforce RGB Hype-S    FC980C    FC660C    Filco BT TKL

Offline Krelbit

  • Posts: 488
  • Location: Minnesota
  • Switchmod.net
    • Switchmod
Re: Help me reverse-eng a capacitive FC660C
« Reply #123 on: Thu, 09 March 2017, 18:23:30 »
oh baby

Offline Korseir

  • Posts: 91
Re: Help me reverse-eng a capacitive FC660C
« Reply #124 on: Thu, 09 March 2017, 22:15:59 »
Yup I am definitely fully erect right now

Offline ramnes

  • Posts: 864
  • Location: France
  • T fou, mec?
Re: Help me reverse-eng a capacitive FC660C
« Reply #125 on: Fri, 10 March 2017, 04:44:12 »
YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY

23h18 - photekq: hhkb with silenced realforce sliders and lubricated well is
23h18 - photekq: the best switch i've used

Offline heyitsqi

  • Posts: 69
Re: Help me reverse-eng a capacitive FC660C
« Reply #126 on: Fri, 10 March 2017, 10:50:40 »
My only regret getting a 660C before was not having a Hasu controller like the HHKB. Take my money good sir.

Offline rsadek

  • Posts: 207
  • Location: Columbia, Maryland
  • raging keyboard monkey
Re: Help me reverse-eng a capacitive FC660C
« Reply #127 on: Fri, 10 March 2017, 13:37:09 »
My only regret getting a 660C before was not having a Hasu controller like the HHKB. Take my money good sir.


Agreed. The only reason I haven't bought one is that there's no Hasu controller  :)
❤️Keeboardz
---------------

Offline Kibort

  • Posts: 13
Re: Help me reverse-eng a capacitive FC660C
« Reply #128 on: Mon, 13 March 2017, 18:02:18 »
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. 

Offline testplsignore

  • Posts: 81
  • Location: 'Straya M8
  • I am one with the Cup Rubber...
Re: Help me reverse-eng a capacitive FC660C
« Reply #129 on: Sat, 18 March 2017, 00:03:34 »
Hey Hasu,

Look what I found inside when silencing my FC980C!

http://imgur.com/a/UGK68

How similar does this look to you compared to the controller in the FC660C? Maybe an idea for a future project?  :p

Could it even be as simple as creating a controller that goes in-between the USB connection?


I'll be opening up the 980C a little later to convert it to MX, I can take a better look at the other side of the board if you'd like. Looks like there's plenty of space in the case for batteries and things though...
                   
Realforce 10AE 45g Type-S & 55g    HHKB BT & Type-S    Realforce RGB Hype-S    FC980C    FC660C    Filco BT TKL

Offline hasu

  • Posts: 3471
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: Help me reverse-eng a capacitive FC660C
« Reply #130 on: Sun, 19 March 2017, 06:39:10 »
Looks very similar and I guess no big difference from 660C. No plan for this board unless someone is willing to donate me ;-)

Sent from my Nexus 5X


Offline hasu

  • Posts: 3471
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: Help me reverse-eng a capacitive FC660C
« Reply #131 on: Sun, 19 March 2017, 06:51:20 »
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


Offline Latin00032

  • * Destiny Supporter
  • Posts: 1528
Re: Help me reverse-eng a capacitive FC660C
« Reply #132 on: Sun, 19 March 2017, 06:54:26 »
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
Still want BT.

Offline testplsignore

  • Posts: 81
  • Location: 'Straya M8
  • I am one with the Cup Rubber...
Re: Help me reverse-eng a capacitive FC660C
« Reply #133 on: Sun, 19 March 2017, 09:55:03 »
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...
                   
Realforce 10AE 45g Type-S & 55g    HHKB BT & Type-S    Realforce RGB Hype-S    FC980C    FC660C    Filco BT TKL

Offline johnthedong

  • Posts: 267
Re: Help me reverse-eng a capacitive FC660C
« Reply #134 on: Sun, 19 March 2017, 22:15:52 »
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...

Bluetooth would be a charm - I usually type with the charger cable in on my HHKB (with 2000mAh) when I'm home/office, and use it on bluetooth when I'm outside. Have got past some days of not charging it, and it still works. As long as the battery life is > 1 day I'm happy with it.

Offline Kibort

  • Posts: 13
Re: Help me reverse-eng a capacitive FC660C
« Reply #135 on: Mon, 20 March 2017, 16:57:34 »
a day of battery is more than enough to power my dreams

Offline BAS1C

  • Posts: 443
  • Location: Calgary, AB
Re: Help me reverse-eng a capacitive FC660C
« Reply #136 on: Fri, 24 March 2017, 16:14:34 »
I guess it's time for me to start shopping around for an FC660c.  :thumb:

I may have BNIB FS for you roboman ;) its coming from korea rn.

This is V. Exciting!!

Offline hasu

  • Posts: 3471
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: Help me reverse-eng a capacitive FC660C
« Reply #137 on: Sat, 25 March 2017, 19:52:56 »
Created a thread for making controller and arranged existent and new infos about FC660C.
https://geekhack.org/index.php?topic=88439.0

Let me know if I'm missing something there.

Offline Gondolindrim

  • Posts: 686
  • Location: Gondolin
    • My GitHub
Re: Help me reverse-eng a capacitive FC660C
« Reply #138 on: Mon, 31 August 2020, 04:49:40 »
This is probably necrobump, but this thread has been a very rich and elightening resource that I feel I need to contribute.

Mid-way through the development of my Faraday60 I removed the TP1684 from an old HHKB and started reverse-engineering it. I opened it up and using a litography-specific microscope I could take a look at the internals; I suspect it is a ultra-low-capacitance precision peak detector -- it detects a voltage peak and returns its amplitude, using JFET inputs it can achieve very high response times with a very low input current. I also believe that some of its functioning depend on a bias adjustment of its pins.

As far as I know there are no integrated circuits that have the same functionality, which only tells us that perfectly replicating the original Topre circuitry is impossible unless we get our hans on some of these sensors, which I highly doubt we are able to do unless by taking it from sacrifice boards.
A pessimist will tell you the cup is half empty. An optimist will tell you the cup is half full. An engineer will tell you it's exactly twice the size it needs to be.