Can we design the teensy alternative for keyboards?

User avatar
vvp

23 Sep 2016, 13:50

You should pull out the reset pin. Actually it should be near to SWDIO, SWCLK, 3.3V, GND, and SWO (if it is supported) pins. This way one can easily connect a Serial Wire Debug (SWD) port. So in an ideal situation RESET, SWDIO,SWCLK, 3.3V, GND, and SWO (if supported) would be next to each other. It makes sense to pull out GND and possibly also 3.3V pins more times.

2.54 mm headers are better but, in my opinion, 2 mm headers will do too but in such a case it will not fit to common breadboards.

Also, do you have free space for a crew head around the the centre Cherry MX switch holes? Those are supposed for dual use: to mount the switch or to drive screws through them to mount the PCB to a case.

Sorry I did not check your schematic or PCB and probably will not do it, but I can respond with my opinions to specific questions. If I have any opinions about them (or know anything about it).

pomk

23 Sep 2016, 14:20

There is enough clearance for up to a 5 mm screw head. There are however traces in this area on the component side of the board so a plastic or wooden washer is necessary.

To my understanding this is not designed for breadboards, but instead for hand wiring or soldering on top of another PCB. For these two scenarios the 2 mm spacing should be adequate in my opinion. For the SWD interface I thought that 2,54 mm spacing would be nice in order to be able to use headers supplied in most SWD units. My debugger only has 4 pins, 3,3V, GND, IO and CLK :? . On this chip there is also Reset available, which I should then probably try to route close to the other pins.

User avatar
matt3o
-[°_°]-

23 Sep 2016, 20:00

it is looking sexier and sexier! I'll also try to ping flabbergast, he seemed very interested at the beginning.

PS: don't forget the silkscreen! :)

pomk

23 Sep 2016, 22:05

Don't worry! Silkscreen is the last step when finalizing the design. I'm afraid that there are too many pads and too little space, so I think it's better to just number the pins instead of writing the chip leg names next to them.

User avatar
matt3o
-[°_°]-

23 Sep 2016, 23:48

ohmy goodness, I thought the project was dead and now we have two designs :)
layout.jpg
layout.jpg (957.14 KiB) Viewed 5200 times

pomk

24 Sep 2016, 01:37

Here is my latest:
demo13.png
demo13.png (107.03 KiB) Viewed 5173 times
Now the USB and debug lines are all close to each other. Also I noticed from comparing the two boards that my cherry mx footprint was not correct. I wonder how that happened, as this is not the first project where I use it. All of the dimensions were rounded down to the previous 0,5 mm step. :?

I might have to re route some stuff now, even if it passes the kicad DRC check.

pomk

26 Sep 2016, 13:03

I think that this is now done as far as first prototypes usually go. :)
Maybe add a pretty picture to fill the empty space.
rev0_1.png
rev0_1.png (156.63 KiB) Viewed 5105 times
front.png
front.png (430.44 KiB) Viewed 5105 times
back.png
back.png (409.63 KiB) Viewed 5105 times

User avatar
vvp

26 Sep 2016, 13:58

C1 and C5 seem too close to the hole. I guess the big holes are Ø4 mm. A common (ISO/DIN) metric hex slot screw M4 has head diameter 7 mm. If you want the PCB to be also screw mountable then you need at least 1.7 mm clearance around the hole edge.
Another option is a common countersunk M3 screw. This has head diameter of 6 mm. So one needs at least 1.2 mm clearance around the hole edge. This is a worse option since the screw will press on the PCB hole edge only. But otherwise you cannot center the screw to the hole.
Or some uncommon screws would need to be used (with smaller heads). Or the screw could be mounted only from the bottom up ... which means bad access to the reset and bl buttons.
C1 should stay close to the MCU package but C5 could be more far away from the package. That leaves only C1 as a part which is hard to move :-/

pomk

26 Sep 2016, 15:15

There are traces in the area, so some kind of a shim should be used anyway. A laser cut wooden one would cost next to nothing. That being said, I moved C5 and C1 and now the head has at least 6-7 mm. Any more is a bit hard to do.
rev0_11.png
rev0_11.png (150.43 KiB) Viewed 5065 times

User avatar
vvp

27 Sep 2016, 12:45

There is via on C3 pad. Not sure how to make more space there. One option seems to be to remove the bottom middle GND pin and then it may be possible to move the MCU package down about 1 mm and little bit to the left. May be you will be able to route around pin 1 of the right MX switch and C2. And maybe it adds enough space.

pomk

27 Sep 2016, 22:12

I'm not sure how, but I managed to move the via a bit outside of the pad area.
rev0_12.png
rev0_12.png (162.49 KiB) Viewed 5056 times
And one glamour shot before transferring the files to matt3os care 8-)
glam0_12.png
glam0_12.png (461.22 KiB) Viewed 5045 times

User avatar
matt3o
-[°_°]-

27 Sep 2016, 22:48

omg I'm in love :)

now we should design some keyboard PCBs for it :D

User avatar
vvp

28 Sep 2016, 10:25

I do not have enough experience to tell whether the via - pad distance is big enough. It would be big enough if there would be some solder resist in between. Which does not seem to be our case. Therefore I do not know.

pomk

28 Sep 2016, 11:12

It'll be probably enough if the stencil covers the via, which is the case here. I can't say for certain either though.

edit: I can move the resistors to the right of the USB connector. There is no closeness requirement for these components anyway. That way I can clear some room and move the via out.

User avatar
Ratfink

28 Sep 2016, 23:27

If there's bare metal connecting a pad and a via, the via will wick up the pad's solder during reflow. This keeps solder away from the component, resulting in a poor connection, a tombstone, or generally something that could make boards not work. I really can't see an easy way to move that via though.

pomk

29 Sep 2016, 00:08

I fixed it like this:
rev0_13.png
rev0_13.png (220.53 KiB) Viewed 4909 times
It's not as pretty anymore, but should work just fine.

Another option would be to go for smaller than 0402 components.

User avatar
matt3o
-[°_°]-

29 Sep 2016, 08:31

this would be the board we are evaluating.
aff14f066b04faa498a33b421153ac80.png
aff14f066b04faa498a33b421153ac80.png (9.62 KiB) Viewed 4872 times
7ba5da6e23c1e89ca710e31f54ae8695.png
7ba5da6e23c1e89ca710e31f54ae8695.png (12.61 KiB) Viewed 4872 times
Comments? Honestly I would like to make a prototype of both versions... unless someone chimes in and finds one is devastatingly better than the other :)

User avatar
vvp

29 Sep 2016, 10:06

Isn't DA1 (and maybe even C1) too close to the hole?

It makes sense to make testing PCBs for both. It may not not cost more if you merge them on the same PCB.

pomk

29 Sep 2016, 10:21

Some things that came to mind:
1/ The fuse is unnecessary in that configuration. The internal regulator will just crash the voltage before the USB current limit in reached. It could be added to the external 5V pad at the edge should someone want to power stuff with the 5V in their own design.
2/ The ground plane seems to be propagated through one VSS pin on the IC. It might work OK, but I'd avoid it unless we have some better specification on the electrical characteristics of the said pin.
3/ The R & C components are very small. What is the capability of the manufacturer you had planned?
4/ The land pattern of the IC seems to be on the small size when it comes to the pads for the pins. Many chip makers suggest 0,65 mm length for the pads.
5/ What is the preferred copper to edge dimension of the manufacturer? The 5V and GND from the USB connector are routed pretty close to the board edge.
6/ What is the B1 chip (some kind of an regulator?) and is there no status LED on the PCB?

User avatar
matt3o
-[°_°]-

30 Sep 2016, 00:33

this is what the guy says:

1) The docs do claim a current limiting function at more than 2x the regulators quoted ability. Sure sounds like things could break so without the option for destructive testing I went with a $.50 fuse. If we can eliminate it that's great, saved board space and component cost.

2) I believe he fixed that

3) they are 0402, same as the other board.

4) the IC footprint is to spec for this component from NXP but I guess can be enlarged

5) Good question... I went with OSH's requirements for that particular bit.

6) B1: 3-5v 2 channel buffer, useful for 5v addressable LEDs like NeoPixels.

pomk

30 Sep 2016, 01:30

1/ This would be the first on chip regulator I've seen that can be killed by just pulling a bit too much out of it's output. - not saying that it would be impossible, I just find it very unlikely. We should maybe do some research on this.

edit: It is likely that the 120mA specification is rated across the whole temperature range, and pulling anything more might make it unstable in certain conditions. All NXPs linear regulators seem to crash the voltage when too much juice is pulled from them and I see no reason why they would have decided to make things break for this product only. If you pull a bit over the 120mA limit consistently, the chips lifetime might be shorter, but that should be the extent of the problems.

2/ Pics? It's better to have the pcbview display, preferably with both coppers on the foreground.
3/ The footprint seems smaller, but it might be my eyes as well. :) What about the suggested placement courtyard? I'm not sure if things have progressed in the automated assembly field, but I guess they should be used where possible. I trust the kicad footprints as they have IPC 7351 spec boundaries built in. I should also do some very slight fine tuning on my board in this aspect.
4/ Really? http://cache.nxp.com/files/analog/doc/a ... &pageNum=1 tells that the pad should extend at least 0,4 mm outside of the package (0,6 mm for best results), making mine to be definitely on the small side already.
5/ Yeah, I don't think that we have any specs from the manufacturer, so we will have to wait with this.
6/ If you are willing to solder SMD components on your host PCB, you can probably have this component there as well? I don't really get the point.

Sorry for sounding so negative. :(

User avatar
Ratfink

30 Sep 2016, 16:01

pomk wrote: 6/ If you are willing to solder SMD components on your host PCB, you can probably have this component there as well? I don't really get the point.
If you're willing to solder SMD components on your host PCB, you don't need an Elf board at all. ;)

pomk

30 Sep 2016, 18:51

Exactly! I thought this is for people that want easy to solder and very cheap through hole PCBs or for hand wired designs. If the host board will be pcba:d, there is no point in having it accept the elf footprint. You can just pcba the elf board design completely on the host pcb directly.

User avatar
matt3o
-[°_°]-

30 Sep 2016, 21:10

I'm evaluating various manufacturers, next week I will be ordering the prototypes (ps: there's a national holiday in China these days).

This is one of the latest iterations I've got

Image

Image

I agree the SMD additional component is not actually needed, but neopixels also come in in through-hole (just saying)

pomk

03 Oct 2016, 20:53

The latest:
rev0_14.png
rev0_14.png (196.51 KiB) Viewed 4654 times

User avatar
beltet

04 Oct 2016, 00:51

Wow, really looking forward to this project!

mohitgarg

05 Oct 2016, 11:08

Just wanted to chime in and say great work guys!

I really miss working on this project, alas too much work and constant relocation doesn't allow me.

All the best!

User avatar
matt3o
-[°_°]-

05 Oct 2016, 11:39

does the MCU come with a bootloader?

User avatar
hasu

05 Oct 2016, 12:58

Yes, it comes with ROM bootloader which is versatile and powerful. You can shoot yourself in the foot with it. I bricked mine with the bootloader and had to use SWD to unbrick. Seems to me like it is for developer and manufacturer, not end users? We have to develope way to use it safely.

User avatar
matt3o
-[°_°]-

05 Oct 2016, 13:06

would Hataa's one work? I haven't checked if MCU model number match. If we can give the manufacturer the new bootloader I will have them flash it by default but I don't know if they need a debug header for that

Post Reply

Return to “Workshop”