A Smaller Xwhatsit

Ellipse

15 May 2016, 18:18

Nope Muirium I haven't been able to get a hold of xwhatsit in a while.

Interestingly the analog stuff has no detection errors in any of my testing, save that one key pad, so that side may be in good shape for now. It's the frequent disconnections that seem to be the largest issue.

User avatar
Muirium
µ

15 May 2016, 18:19

Are the disconnections a USB thing? Is the controller crashing?

Ellipse

15 May 2016, 18:21

Yes I think so. Maybe the smaller board requires different capacitor / resistor values so that the digital electronics function with the proper voltage? Maybe the controller is using too much voltage? That seems to be the case at least when testing the columns (the 0.7v original column strobing voltage compared to 1.7v of the newer controllers).

User avatar
Muirium
µ

15 May 2016, 18:27

Is the digital stuff all the same as on the original? Component wise?

If so, sounds like analog voodoo is at work. Resistors and capacitors make tuned circuits, for just the kind of analog signal work a capsense matrix requires. Their values must be tuned for the circuit in question. Path lengths and even proximity factor into that, as I hazily understand.

User avatar
0100010

15 May 2016, 18:30

Do the new F62 / F77 PCBs work OK with an original layout xwhatsit? From both the analog threshold POV and from the controller stability POV? Or, do you also see the !1 / 192 issue with the original controller?

Ellipse

18 May 2016, 01:22

Muirium yes just about everything is the same but there were some component changes. I think you're right that these resistor and capacitor values may need to change based on the path lengths and proximity which are shorter/closer on the smaller xwhatsit. That is well beyond my understanding though.

A QFN package component was changed to the equivalent SOIC package component
The full size 16mhz crystal was swapped for a half size one with the same specs including load capacitance, and RP1 and RP2 was replaced with a single 10 pin bused resistor array with the same specs (now labeled RP10).
And maybe other changes as well (wcass and phosphorglow did I miss anything?)

0100010 the original controllers work perfectly with zero issues on my F62/F77 prototypes. I've been using them without issue as my main keyboard since January.

Ellipse

20 May 2016, 02:23

An update - I tested a third USB cable that is 2 feet (the first two tested were 10 foot cables like the ones that will be used with the F62/F77 project. So far the smaller cable works 100% with no disconnections or crashing.

So I think it may be an issue with the value of the resistors for the USB connector - maybe they need to be adjusted to allow for longer USB cable lengths? Any ideas?

After that the major problem is the one key !1 / 192 issue, and also the high voltage when strobing the columns (not sure if the latter makes a difference in the controller operation.

User avatar
wcass

20 May 2016, 04:22

That is some good clues.

Longer USB cable would have greater resistance than shorter USB cable - so maybe i need to lower the resistance at R1 and R2 on the D+ and D- lines. That would be easy to check.

Another thing might be that the D+ and D- lines pass right next to the crystal. Maybe i need to route the USB lines away from the crystal.

I'll draw that up this weekend.

User avatar
wcass

21 May 2016, 06:16

Same size. I just moved the USB connector to leave the crystal more isolated. I also changed row order so that trace length from MCU to rows is more uniform.
xwhatsit-wcass8.JPG
xwhatsit-wcass8.JPG (219.97 KiB) Viewed 10598 times

Ellipse

29 May 2016, 20:53

wcass your new design may do the trick, hopefully minimizing noise on the data lines for the USB - not sure if we should try further resistor/capacitor adjustments on the current compact xwhatsit controllers to be sure.

I compared VCC on the USB connector with a 2 foot and 10 foot USB cable and the voltage differences were negligible (0.01v) - the 2 foot one was about 5.17v (a little high but within the spec of USB) and the 10 foot one was about 5.16v. So I don't know why the 2 foot works just about 100% well compared to the 10 foot which crashes every few minutes.

Ellipse

27 Jun 2016, 04:06

re-posted from the Brand New Model F keyboards thread:

good news - the compact xwhatsit controllers are now problem free! joc just sent me his latest firmware with alternative debounce filter which has 100% fixed all firmware issues. wcass and phosphorglow's work on the updated prototype controller fixed the other issues with voltages.

The one "stuck" 1 ! key was likely user error (my error) as I connected the controller to the capacitive PCB for testing by jumper wires which I now know are probably too long for reliable operation. phosphorglow connected my F77 PCB to the compact xwhatsit controller with shorter wire and the stuck key was resolved.

Thanks again to all the hard work of red, wcass, phosphorglow, and joc for making the compact xwhatsit controller a reality!

User avatar
phosphorglow

02 Jul 2016, 19:37

Super exciting stuff! My apologies for not being more useful and taking forever to actually get the soldering done... ;P

Just as Ellipse said - big thanks to red, wcass, joc, Ellipse, and xwhatsit for creating the whole thing in the first place.

Here's a bunch of hand soldered silliness:
_MG_6510.jpg
_MG_6510.jpg (340.6 KiB) Viewed 10365 times

__red__

14 Jul 2016, 21:04

Sorry I'm late back to the party - Gratz on those who did all the hard work.

User avatar
hbar

15 Jul 2016, 09:37

phosphorglow wrote: Here's a bunch of hand soldered silliness:
_MG_6510.jpg
If that doesn't prove that soldering SMD is no harder than THT, nothing does. Good work!

kmnov2017

28 Jan 2020, 18:41

Does anyone have the Gerber's for these ?

User avatar
wcass

29 Jan 2020, 04:08

I thought i posted these somewhere, but maybe not.
I'm not sure i found the right BOM (it has been 3.5 years). I think this is it, but not sure.

Location Type Form Factor
C1;C2; 30pF; 0805;
C3; 4.7uF; 0805;
C4;C7;C8;C9;C10;C11;C12; 0.1uF; 0805;
C5; 1uF; 0805;
R1;R2; 22; 0805;
R3;R6; 20K; 0805;
R4;R7; 4.7K; 0805;
R5;R9; 10K; 0805;
R8; 1K; 0805;
RP12; 10K; 2512;
RP3;RP4; 100K; 1206;
U1; ATMEGA32U2; TQFP32;
U2; DAC101S101; TSOT-6;
U3;U4; LM339A; SO-14;
U5;U6; 74AHC595; SO-16;
X1; 16MHz;
Attachments
xwhatsit-wcass8.zip
The Gerber files
(43.65 KiB) Downloaded 177 times

kmnov2017

29 Jan 2020, 12:24

wcass wrote:
29 Jan 2020, 04:08
I thought i posted these somewhere, but maybe not.
I'm not sure i found the right BOM (it has been 3.5 years). I think this is it, but not sure.

Location Type Form Factor
C1;C2; 30pF; 0805;
C3; 4.7uF; 0805;
C4;C7;C8;C9;C10;C11;C12; 0.1uF; 0805;
C5; 1uF; 0805;
R1;R2; 22; 0805;
R3;R6; 20K; 0805;
R4;R7; 4.7K; 0805;
R5;R9; 10K; 0805;
R8; 1K; 0805;
RP12; 10K; 2512;
RP3;RP4; 100K; 1206;
U1; ATMEGA32U2; TQFP32;
U2; DAC101S101; TSOT-6;
U3;U4; LM339A; SO-14;
U5;U6; 74AHC595; SO-16;
X1; 16MHz;
Thanks so much for this.

A few open questions:

1. C6 is missing in your parts list. I am assuming this is also 0.1 uF capacitor (in a 0805 package). Please confirm.
2. Size of this board is 77 X 25 mm. Is this correct?
3. What is the package size of the X1 Resonator?
4. Would you be able to generate a Pick and Place file? If not, can you post the Kicad / Diptrace file as well?
Last edited by kmnov2017 on 29 Jan 2020, 15:06, edited 1 time in total.

kmnov2017

29 Jan 2020, 14:04

For those of you just tuning into the post, this is the modified Xwhatsit controller for the model F keyboards. Ellipse's new model Fs use this controller. This controller is the exact same thing Xwhatsit made in terms of schematics, but has a significantly smaller footprint (almost half the original size). The biggest problem with Xwhatsit was the shift registers used on the original design came in an exceedingly small packaging making it extremely difficult to hand solder. This modified design by Wcass uses a much larger shift register that is a lot easier to hand solder. Additionally, since the costs of PCBs and components have fallen over the past years, one can have these made for under 10 USD/EUR. Which is cheaper than the cypress CY8CKIT-059 (Minimum 23 EUR/25 USD In Europe).

andrewjoy

29 Jan 2020, 14:10

Do you think it would be worth switching that connector to USB C ? mini usb is a bit old hat now and quite unreliable.

kmnov2017

29 Jan 2020, 15:08

andrewjoy wrote:
29 Jan 2020, 14:10
Do you think it would be worth switching that connector to USB C ? mini usb is a bit old hat now and quite unreliable.
No, because soldering a USB C connector is even more difficult than the shift register.

Also how did you conclude that micro usb is not reliable??

User avatar
zrrion

29 Jan 2020, 22:07

It could be replaced with USB breakout pads, but not with another connector imo

User avatar
wcass

30 Jan 2020, 02:02

I actually did design a version with USB-C connector and one with USB breakout pads.

The USB-C connector is larger (in one demension) than micro USB and requires an additional resistor, so i had to move some stuff around and i think that C6 was eliminated because of that. I think i determined that it was not necessary. The crystal footprint is 7x4.1mm. Example: ABLS7M2-16.000MHZ-D-2Y-T

I have not built either of these variants, but they are based on this version. Let me see if i can find those ...
wcass8b.jpg
wcass8b.jpg (117.84 KiB) Viewed 9135 times
Attachments
wcass8b.zip
(45.29 KiB) Downloaded 178 times

User avatar
wcass

30 Jan 2020, 02:23

i just realized that the width changed. i am sure there was some reason for it, but ... i have no idea why that happened.

andrewjoy

30 Jan 2020, 10:01

kmnov2017 wrote:
29 Jan 2020, 15:08


Also how did you conclude that micro usb is not reliable??
RMA'ing far far too many blackberry devices back in the day when i worked for the local authority. Its better than mini USB tho, they had that on the old blue blackberry devices.... nightmare!

kmnov2017

30 Jan 2020, 10:54

A USB cable once connected will probably never ever be removed from the keyboard.

But then again, the Gerber's are public, feel free to modify and attach whatever connectors works for you.

@wcass. The idea is to get these assembled by JLCPCB - so some of the parts need to be changed to match their parts list. I'll get in touch with you...

User avatar
anthonymak

30 Jan 2020, 13:19

wcass wrote:
30 Jan 2020, 02:02
The crystal footprint is 7x4.1mm. Example: ABLS7M2-16.000MHZ-D-2Y-T
I tried 5032 16Mhz crystal with the original xwhatsit model f controller and it works fine without any noticeable issue. the original crystal spec is just a little bit big.

User avatar
XMIT
[ XMIT ]

30 Jan 2020, 17:15

kmnov2017 wrote:
30 Jan 2020, 10:54
A USB cable once connected will probably never ever be removed from the keyboard.
I disagree.

Attached cables are much more difficult to manage for travel and storage. Sure, if the keyboard is a daily driver and never moves, an attached cable is fine. But as a collector I have a strong preference for detachable.

I also prefer recessed mounts so that, if I'm sitting at a shallow desk front to rear, there isn't an aggressive cable bend right at the cable connection point that needs to be strain relieved. IBM Model M got this right.

User avatar
zrrion

30 Jan 2020, 19:47

Personally, I feel like detachable cables should connect to a securely mounted daughter board and not to the controller. The M gets a pass because it has a very sturdy connector, mini USB on the controller tends to be way too fragile in my experience.

User avatar
wcass

31 Jan 2020, 06:45

The files for USB-C.
As stated, the connector is larger so some things needed to move around. I had to move the Reset switch to the back.
xwhatsit USB-C.png
xwhatsit USB-C.png (54.89 KiB) Viewed 8925 times
Attachments
Gerbers.zip
(42.56 KiB) Downloaded 188 times

Ellipse

11 Feb 2020, 22:34

Anyone interested in helping to speed up the xwhatsit GUI program?

Alas I know next to nothing about programming.

On my fairly new PC running Win 10, it always takes some time to start the program and it takes a while to import a saved layout file to a keyboard.

Also the saved layout file does not load the column skip settings - maybe that could be added (though some may not want this behavior!)?

Post Reply

Return to “Workshop”