theoretically, yes but the FC660C has not been fully reverse engineered yetderzemel wrote: ↑quick question if you do not mind... could this controller be used with a FC660C to replace the daughter board and to add different functionalities or layouts?
I would really like to have volume control on the FC660C (like the HHKB)
Can we design the teensy alternative for keyboards?
- matt3o
- -[°_°]-
- Location: Italy
- Main keyboard: WhiteFox
- Main mouse: Anywhere MX
- Favorite switch: Anything, really
- DT Pro Member: 0030
- Contact:
- derzemel
- Location: Bucharest, Romania
- Main keyboard: FC660C, SSK, TX-1800 Nixie
- Main mouse: Mionix Naos 7000
- Favorite switch: Alps SKCL/SKCM tactile
oh, ok, thank you!matt3o wrote: ↑theoretically, yes but the FC660C has not been fully reverse engineered yetderzemel wrote: ↑quick question if you do not mind... could this controller be used with a FC660C to replace the daughter board and to add different functionalities or layouts?
I would really like to have volume control on the FC660C (like the HHKB)
-
- Main mouse: R.A.T 7
- Favorite switch: Blue
- DT Pro Member: -
Nah, we will have silkscreen on both sides to mark the parts anyway, and most fabs don't charge extra for printing silkscreen on both sides.matt3o wrote: ↑wouldn't printing on 2 sides be more expensive? I would also add "https://elf.io" and the board revision. "Elf 1.0 - https://elf.io" (all people involved will be credited on the website of course)
Apart from that the only thing that worries me a little is 38.1mm width
Yes, the silkscreen is left, website, revision, parts, etc still have to be done.
I checked for space, there is about 39 something space available according to the spec, in any case, it should fit fine because the stab is mounted on the top side of PCB.
-
- Location: France
- Main keyboard: KBT Pure Pro
- Main mouse: G500
- Favorite switch: MX Red, MX Blue
- DT Pro Member: -
This looks great. If 38.1 mm really is a tad too much maybe you could remove one pad on the bottom row, as I did on this mockup? workshop-f7/can-we-design-the-teensy-al ... ml#p305915mohitgarg wrote: ↑http://i.imgur.com/bLDujxL.png
http://i.imgur.com/8pW4iEI.png
It was considerably easier to route this because of the larger area. I'll upload this to the Git soon. If you want we can fit the logo on the front as well. Dimensions are 38.1 x 17.78 (+2.9718) mm
This being said, with all the spacebar sizes & locations to be provided on the PCB, one less millimeter won't allow us to place the controller under the spacebar anyway. But maybe it would be make sense for other projects?
- flabbergast
- Location: Southampton, UK
- DT Pro Member: 0120
- Contact:
@Mohit: looks great! I wonder if we could now go M3/5mm clearance holes and 7 mil traces ... (would mean rerouting a lot of the board though). The thicker we can go the better, and now that there's space...
I think that now that this can be mounted anywhere underneath two neighbouring switches, we don't need to try that hard to make it mountable underneath the spacebar. The only advantage of mounting it underneath the spacebar is that all the switches would still be desolderable (whereas the two switches above this board are not possible to be desoldered without removing the whole board). However I personally would be happy if this fits between the switch and the stab holes for a normal (i.e. 6.25u) spacebar. With many spacebar options there's no way we can satisfy everyone.
I think that now that this can be mounted anywhere underneath two neighbouring switches, we don't need to try that hard to make it mountable underneath the spacebar. The only advantage of mounting it underneath the spacebar is that all the switches would still be desolderable (whereas the two switches above this board are not possible to be desoldered without removing the whole board). However I personally would be happy if this fits between the switch and the stab holes for a normal (i.e. 6.25u) spacebar. With many spacebar options there's no way we can satisfy everyone.
-
- Location: France
- Main keyboard: KBT Pure Pro
- Main mouse: G500
- Favorite switch: MX Red, MX Blue
- DT Pro Member: -
That's a valid point.mohitgarg wrote: ↑I checked for space, there is about 39 something space available according to the spec, in any case, it should fit fine because the stab is mounted on the top side of PCB.
Just in case, here is the difference:
Still a bit of breathing room with the 38.1 mm version. And the tabs from the stab won't interfere with whatever's on the side of it, so it should be ok.
- matt3o
- -[°_°]-
- Location: Italy
- Main keyboard: WhiteFox
- Main mouse: Anywhere MX
- Favorite switch: Anything, really
- DT Pro Member: 0030
- Contact:
I still believe positioning under the spacebar is important mainly to reduce height in sandwich cases. If you want to keep the keyboard as flat as possible your only option is to place the controller under the spacebar. And that is something I did dozen times.
From this picture you can see what I had to do to keep the case super thin but still have access to the controller (look under the spacebar):
That is a kind of flexibility I don't want to lose. With 38.1mm we have just 0.788 distance from the board to the switch and stabilizer (a little better in case of costar stabilizer).
What is the total height of the Elf board including all components? (I guess the USB port is the tallest element)
From this picture you can see what I had to do to keep the case super thin but still have access to the controller (look under the spacebar):
That is a kind of flexibility I don't want to lose. With 38.1mm we have just 0.788 distance from the board to the switch and stabilizer (a little better in case of costar stabilizer).
What is the total height of the Elf board including all components? (I guess the USB port is the tallest element)
-
- Location: France
- Main keyboard: KBT Pure Pro
- Main mouse: G500
- Favorite switch: MX Red, MX Blue
- DT Pro Member: -
The big question is, how much clearance would be enough? Would 36.83 mm be fine (that's merely .6mm more space on each side), or do you think the board should be even more shrinked? More shrinkage = less available pads when mounted over switches, and more rework from mohitgarg
A board with a micro USB connector is about 4.5mm thick. You can reduce it by either using a thinner PCB (1.2 mm for instance), or by using a mid-mounted mico USB connector, like pomk did on the previous page.
I think that's an interesting design choice, by the way.
A board with a micro USB connector is about 4.5mm thick. You can reduce it by either using a thinner PCB (1.2 mm for instance), or by using a mid-mounted mico USB connector, like pomk did on the previous page.
I think that's an interesting design choice, by the way.
- matt3o
- -[°_°]-
- Location: Italy
- Main keyboard: WhiteFox
- Main mouse: Anywhere MX
- Favorite switch: Anything, really
- DT Pro Member: 0030
- Contact:
distance from pcb to plate is 3.5mm. If we can keep the height of the elf board under that we are good with the current design. 1.4mm per side clearance (ie: 36.83mm width) would be more than enough anyway.
-
- Location: France
- Main keyboard: KBT Pure Pro
- Main mouse: G500
- Favorite switch: MX Red, MX Blue
- DT Pro Member: -
If 3.5mm height is a requisite, we will have to use a mid-mounted USB port. Either that, or people with thin cases will have to rip off the USB port and use the USB pads instead, which definitely sounds like a bad idea
- matt3o
- -[°_°]-
- Location: Italy
- Main keyboard: WhiteFox
- Main mouse: Anywhere MX
- Favorite switch: Anything, really
- DT Pro Member: 0030
- Contact:
no, it's not a requisite ripping off the USB would be an option actually... not the easiest I reckonMatt_ wrote: ↑If 3.5mm height is a requisite, we will have to use a mid-mounted USB port. Either that, or people with thin cases will have to rip off the USB port and use the USB pads instead, which definitely sounds like a bad idea
that would be nice, but hard to get I understandInteresting, so you want to mount the controller under the plate, above the PCB?
-
- Location: France
- Main keyboard: KBT Pure Pro
- Main mouse: G500
- Favorite switch: MX Red, MX Blue
- DT Pro Member: -
Honestly, if mohitgarg has the right footprint in his library and it does not involve a lot of re-routing, I think it could be nice to have a lower-profile board. I am a sucker for super thin cases, so I won't argue against a super-flat controller
- flabbergast
- Location: Southampton, UK
- DT Pro Member: 0120
- Contact:
I'm not a super fan of the mid-mounted usb connectors, but thin PCBs are cool. We will probably also need to go for a lower-profile pushbutton. BTW, I thought that you'd have a hole in the plate for the controller anyway, so that 4.5mm should be enough? Also - it is not entirely necessary that the plate cutout would be completely uncovering the whole board, it can 'cover' the side pins, right?
-
- Main mouse: R.A.T 7
- Favorite switch: Blue
- DT Pro Member: -
Rerouting isn't that much of a trouble TBH. Don't let that be a reason stopping us from getting to an improved product.
Issue I see with mid mounted connector is that you won't be able to mount the controller flat on the main keyboard PCB.
Issue I see with mid mounted connector is that you won't be able to mount the controller flat on the main keyboard PCB.
- matt3o
- -[°_°]-
- Location: Italy
- Main keyboard: WhiteFox
- Main mouse: Anywhere MX
- Favorite switch: Anything, really
- DT Pro Member: 0030
- Contact:
yeah it would totally work, just the USB port is in a weird position and the cut out would be on a weird spot, but that's fine I guess.flabbergast wrote: ↑I thought that you'd have a hole in the plate for the controller anyway, so that 4.5mm should be enough?
yeah the cutout could be pretty small actually, just the the reset button and usb portflabbergast wrote: ↑Also - it is not entirely necessary that the plate cutout would be completely uncovering the whole board, it can 'cover' the side pins, right?
-
- Location: France
- Main keyboard: KBT Pure Pro
- Main mouse: G500
- Favorite switch: MX Red, MX Blue
- DT Pro Member: -
Yeah, it might stick out a bit from the bottom (not by much though, probably just a few tenths of a millimeter) so the controller will be slightly slanted, but the overall height should still be less than with a regular connector.mohitgarg wrote: ↑Issue I see with mid mounted connector is that you won't be able to mount the controller flat on the main keyboard PCB.
However, if it's cleaner to go with a regular connector, let's stick with it. There will be ways to work around it for people with very specific needs anyway.
- matt3o
- -[°_°]-
- Location: Italy
- Main keyboard: WhiteFox
- Main mouse: Anywhere MX
- Favorite switch: Anything, really
- DT Pro Member: 0030
- Contact:
there would be another option: provide the not-soldered USB port. it's easier to solder the usb port than desolder it later.
- matt3o
- -[°_°]-
- Location: Italy
- Main keyboard: WhiteFox
- Main mouse: Anywhere MX
- Favorite switch: Anything, really
- DT Pro Member: 0030
- Contact:
totally doable. it would be just a problem for logistics I guess.Matt_ wrote: ↑That's what I was about to ask If it's possible to sell two versions, one with the USB connector and one without.
- flabbergast
- Location: Southampton, UK
- DT Pro Member: 0120
- Contact:
In which case (non-mounted USB) I'd definitely go with Mohit's footprint, because I think with that one you can actually solder on quite a few types.
BTW I think it would be a good idea to have the SWD debug pads and also NMI_b + GND on the pads in the middle, because these are most likely to be uncovered in this type of under-spacebar mounting case; and these are the most important ones to have access to when things go wrong (NMI_b+GND is for entering the ROM bootloader).
BTW I think it would be a good idea to have the SWD debug pads and also NMI_b + GND on the pads in the middle, because these are most likely to be uncovered in this type of under-spacebar mounting case; and these are the most important ones to have access to when things go wrong (NMI_b+GND is for entering the ROM bootloader).
-
- Main mouse: R.A.T 7
- Favorite switch: Blue
- DT Pro Member: -
I'll have to check but IIRC, currently they are the four pins in the top left corner.
Edit, Sorry for my ignorance but it shorting NMI_B and GND enters bootloader mode, what is the purpose of the reset switch? I'm too used to the way AVR works.
Edit, Sorry for my ignorance but it shorting NMI_B and GND enters bootloader mode, what is the purpose of the reset switch? I'm too used to the way AVR works.
- flabbergast
- Location: Southampton, UK
- DT Pro Member: 0120
- Contact:
The behaviour is a bit complicated (because it's configurable to some extent, and KL27Z's behaviour in particular does not 100% follow the datasheet in this). But the gist is, on ARM devices the bootloader is usually entered by pulling a particular pin to a particular state during reset/powerup (e.g. on Kinetises it's NMI_b pin to ground).mohitgarg wrote: ↑Edit, Sorry for my ignorance but it shorting NMI_B and GND enters bootloader mode, what is the purpose of the reset switch? I'm too used to the way AVR works.
So yea, theoretically it would be better to have the NMI_b on a pushbutton instead of RESET. However, because KL27Z's bootloader is kinda slow, requires a binary from Freescale (ATM, the protocol's documented), I thought we're better off writing our own bootloader. {Then we're not tied to Freescale's slow HID protocol; can do MSD or DFU or whatever; and there's one more advantage I'll explain a bit below.} Our bootloader would work just like on AVRs, i.e. powerup => firmware, reset => bootloader.
So, the use case is: flash our bootloader with the ROM bootloader, and then forget the ROM bootloader unless something goes wrong. If the factory will be doing some firmware tests anyway, we can have them flash our bootloader; but this is not really necessary because users can flash a bootloader without any extra hardware, thanks to the ROM bootloader.
Couple of comments:
- it's impossible to achieve the "AVR behaviour" (one button => bootloader) hardware-wise with this chip (or actually with any ARM chip I've looked at, i.e. STM32, Kinetis, LPC), without some cooperation of the firmware.
- another advantage of having our own bootloader is also to prevent the users from accidentally bricking their chip. The Kinetises have a security option byte at 0x40c, and writing a wrong value there will 'lock' the chip; it's possible to 'lock' it so that it's impossible to change *or erase* the firmware at all. If we write our own bootloader, this can't happen (that address can be/is within the bootloader itself).
EDIT: Forgot to say that it will be relatively easy to make Jacob's kiibohd bootloader run on this, so having a DFU bootloader will definitely not be a problem.
- vvp
- Main keyboard: Katy/K84CS
- Main mouse: symetric 5-buttons + wheel
- Favorite switch: Cherry MX
- DT Pro Member: -
Is there a through hole mid PCB USB connector?
I have never seen it. The one posted in this thread was surface mount only.
If you use a surface mount micro USB connector then it will not last long.
I have never seen it. The one posted in this thread was surface mount only.
If you use a surface mount micro USB connector then it will not last long.
-
- Location: France
- Main keyboard: KBT Pure Pro
- Main mouse: G500
- Favorite switch: MX Red, MX Blue
- DT Pro Member: -
Define "last long"
I've been plugging and unplugging my board daily for two years and I can't see its USB connector becoming a problem anytime soon. And yet it's almost the worst kind you could think of, surface-mount mini USB, with no anchor in any kind in the PCB. As long as the user does not abuse his board, a micro USB connector with two or four tabs inserted half-way and soldered to the PCB should be strong enough.
I've been plugging and unplugging my board daily for two years and I can't see its USB connector becoming a problem anytime soon. And yet it's almost the worst kind you could think of, surface-mount mini USB, with no anchor in any kind in the PCB. As long as the user does not abuse his board, a micro USB connector with two or four tabs inserted half-way and soldered to the PCB should be strong enough.
-
- Main mouse: R.A.T 7
- Favorite switch: Blue
- DT Pro Member: -
Check out this connector, http://www.digikey.com/product-detail/e ... ND/2350884.
Molex, so solid build, four TH anchors, mid mount, SMD connections, looks like it is about 1.42mm below the PCB top, so controller PCB should lie flat.
Molex, so solid build, four TH anchors, mid mount, SMD connections, looks like it is about 1.42mm below the PCB top, so controller PCB should lie flat.
- vvp
- Main keyboard: Katy/K84CS
- Main mouse: symetric 5-buttons + wheel
- Favorite switch: Cherry MX
- DT Pro Member: -
mohitgarg: Ok, thanks. I think that one can be used if you can fit it and the height needs to be lowered.
Matt_: Just plug in the connector and pull it to the side up or down (90° to the connector long axe). Imagine this happened because your keyboard had raised top side (your table is too tall for your seat) and you dropped a book on the connector by mistake. Or you quickly wanted to take the keyboard from your desk and forgot to disconnect the cable. The problem is not with how many times you (dis)connect the cable. In those cases the forces are mostly in the long axe of the connector. These do not matter that much.
Matt_: Just plug in the connector and pull it to the side up or down (90° to the connector long axe). Imagine this happened because your keyboard had raised top side (your table is too tall for your seat) and you dropped a book on the connector by mistake. Or you quickly wanted to take the keyboard from your desk and forgot to disconnect the cable. The problem is not with how many times you (dis)connect the cable. In those cases the forces are mostly in the long axe of the connector. These do not matter that much.
- matt3o
- -[°_°]-
- Location: Italy
- Main keyboard: WhiteFox
- Main mouse: Anywhere MX
- Favorite switch: Anything, really
- DT Pro Member: 0030
- Contact:
I don't think we can use mid-mounted usb port without losing the island. that would be a huge let down. wouldn't it?
- vvp
- Main keyboard: Katy/K84CS
- Main mouse: symetric 5-buttons + wheel
- Favorite switch: Cherry MX
- DT Pro Member: -
Well, it depends whether you think it is important to have USB connector flush with the keyboard case. People may think it is prettier this way.
I do not care that much about pretty and from the robustness point of view: the deeper the connector is in the case the better. My purely personal preference is to have the USB connector aligned to the PCB edge (no USB peninsula).
The other (more important) point of view is whether we can fit it all on our PCB without the benefit of the additional space of the peninsula.
Still, even a mid mount USB connector can stick out if we make the peninsula wider.
I do not care that much about pretty and from the robustness point of view: the deeper the connector is in the case the better. My purely personal preference is to have the USB connector aligned to the PCB edge (no USB peninsula).
The other (more important) point of view is whether we can fit it all on our PCB without the benefit of the additional space of the peninsula.
Still, even a mid mount USB connector can stick out if we make the peninsula wider.