Page 22 of 27

Posted: 15 Dec 2016, 12:11
by matt3o
pomk wrote: Any suggestions on how to mark suff would be helpful. I already added the pull ups to the pcb layout without problems.
an "x"? :)

Posted: 15 Dec 2016, 15:51
by tentator
Can we use a smaller font for the silk screen and avoid to use PT to describe the pins name?

Posted: 15 Dec 2016, 16:17
by pomk
We can't really go smaller with the font, maybe by 25% but that is not enough. In any case there are components in the way to make it even more difficult. An X to state that this pin should not be used and a paper card or something describing the pin functions to go with the board should be fine I guess.

Posted: 15 Dec 2016, 16:26
by tentator
Maybe using callout lines towards less busy areas? Also would have been nice if we could have pins also for the 2x2 puns of the two switches also on the perimeter but seems the real estate is insufficient unless we make it bigger (three switches maybe?)

Posted: 15 Dec 2016, 16:40
by pomk
It really is impossible to fit even just pin numbers on the component side even with callout lines and smallest possible font. I can make a png showing the real estate so you can play with it to see for yourself. I don't want to grow this to three switches, as I don't see the point of it. You can easily connect the switches to the board edges with some spare metal from a diode leg or something.

Here it is: don't use a font smaller than 40pt, as that is approximately what we can manage.
silk_space.png
silk_space.png (15.79 KiB) Viewed 6247 times

Posted: 16 Dec 2016, 00:39
by tentator
uh 40pt?
maybe with 32pt I could have a chance but 40 no way you where right.. sorry.. even putting the X can be challenging as you can see below.. :)
but if you tell me where to put the x I can do that :) or you do not want them in png? I was using now inkscape anyway.

silk_space.png
silk_space.png (109.34 KiB) Viewed 6217 times
tent

Posted: 16 Dec 2016, 09:00
by pomk
I can add the X's myself, don't worry about it. You have to remember that this is a very small board even if the picture does not seem like it (height of 18mm). :)

You can still try with 32, maybe it'll still be printable.

Posted: 17 Dec 2016, 01:11
by tentator
ok I managed to do something with 32pt.. surely very ugly but maybe still one would like to have it instead of nothing and needing to look on the screen/paper? (or maybe not?? :))
silk_space.png
silk_space.png (126.29 KiB) Viewed 6136 times
But maybe it's not clear to me what dpi and resolution I should use for that image (I see raster pixels) and what is actually the dpi resolution of the printer of the silkscreen to better adapt to it...

Posted: 17 Dec 2016, 09:18
by matt3o
I don't think we need to repeat all the letters and label 100% of the pads. I mean in the picture made by tentator we can remove for example "D3", of course that pad is D3.

I mean something like this:

Image

Posted: 17 Dec 2016, 11:45
by pomk
I'm not sure if they all are in a neat order like that, and there is no room for re-routing the order. I think that a running numbering, with X for pins that you should think about before using, and a card that has a picture of the board and the pin functions written out. I'll edit a picture here of an example.

edit: for example the mbed development boards come with a card with the following picture on them:
Image

Posted: 17 Dec 2016, 11:46
by matt3o
pomk wrote: I think that a running numbering, with X for pins that you should think about before using, and a card that has a picture of the board and the pin functions written out. I'll edit a picture here of an example.
that is totally fine for me

Posted: 18 Dec 2016, 22:42
by tentator
yes: id doesn't really change too much..
silk_space.png
silk_space.png (119 KiB) Viewed 6138 times

Posted: 08 Jan 2017, 16:39
by pomk
Finally had the time to finalize things on the PCB side. From my torture testing I can conclude that:
1. The PCB quality is not the best, as the USB connectors plated slots rip out before the USB plug breaks. This did require some force, but optimally the cable should break before the connector.
2. The chip does not fry when the regulator output is shorted to ground. Instead the chip does not start at all, but continues to work properly after the short is removed.

Point 1 is hard to fix without changing the manufacturer/PCB quality, also the cuts at the front of the plated slots may contribute to the weakness of the connector. By adding one millimeter to the PCB size, we could have the plated slots fully on the board which would make it probably more resilient to physical abuse. Point 2 is just as expected and what I hoped for, as it means that an additional fuse does not seem to be needed.

I'll try finish the silkscreen today and send the files to matt3o.

Posted: 08 Jan 2017, 16:41
by pomk
I'll edit some pictures here of the abused boards.

p.s. I did not have to add any pull-ups or -downs to be able to load the firmware. They are already in place for the next revision however.

Posted: 08 Jan 2017, 17:02
by matt3o
do you think the USB port needs more stability? honestly I find it pretty sturdy. I can request to use more solder since they've been pretty conservative there.

Posted: 08 Jan 2017, 17:46
by pomk
The micro USB spec states that the plug should break first. My OCD just wants the product to match the spec.

Posted: 08 Jan 2017, 21:43
by tentator
not sure, are you saying specs would require the 5 usb pins to break AFTER the four grips/harpoons that nail the connector to the pcb or the contrary? (looks almost impossible to me from a physical point of view)

Posted: 08 Jan 2017, 22:29
by tentator
by the way I was compiling the one_key version of the firmware to flash it (using windows, I managed so far to clone kl27z_onekey, ChibiOS, ChibiOS-Contrib and the arm toolchain for windows from here: https://developer.arm.com/open-source/g ... /downloads) but I'm stuck because of some strange casting errors, do you also have those?

Code: Select all

In file included from ../../tmk_core/tool/chibios/ChibiOS/os/hal/include/hal.h:120:0,
                 from ../../tmk_core/protocol/chibios/usb_main.c:19:
../../tmk_core/tool/chibios/ChibiOS/os/hal/include/hal_buffers.h:295:8: note: expected 'size_t {aka unsigned int}' but argument is of type 'void (*)(io_buffers_queue_t *) {aka void (*)(struct io_buffers_queue *)}'
   void obqObjectInit(output_buffers_queue_t *obqp, bool suspended, uint8_t *bp,
        ^~~~~~~~~~~~~
../../tmk_core/protocol/chibios/usb_main.c:1036:3: error: too few arguments to function 'obqObjectInit'
   obqObjectInit(&console_buf_queue, console_queue_buffer, CONSOLE_EPSIZE, CONSOLE_QUEUE_CAPACITY, console_queue_onotify, (void*)usbp);
   ^~~~~~~~~~~~~
In file included from ../../tmk_core/tool/chibios/ChibiOS/os/hal/include/hal.h:120:0,
                 from ../../tmk_core/protocol/chibios/usb_main.c:19:
../../tmk_core/tool/chibios/ChibiOS/os/hal/include/hal_buffers.h:295:8: note: declared here
   void obqObjectInit(output_buffers_queue_t *obqp, bool suspended, uint8_t *bp,
        ^~~~~~~~~~~~~
make: *** [build/obj/usb_main.o] Error 1

Posted: 09 Jan 2017, 00:01
by matt3o

Posted: 09 Jan 2017, 00:57
by pomk
tentator wrote: not sure, are you saying specs would require the 5 usb pins to break AFTER the four grips/harpoons that nail the connector to the pcb or the contrary? (looks almost impossible to me from a physical point of view)
I'm saying that the cable connector should bend and twist before the connector on the board breaks.

Posted: 10 Jan 2017, 14:05
by pomk
Last word before submit to matt3o for production.
etu.png
etu.png (638.5 KiB) Viewed 5933 times
taka.png
taka.png (566.45 KiB) Viewed 5933 times
R4 & R5 have been added because of the bootloader problem.

Posted: 10 Jan 2017, 15:38
by matt3o
it's just so beautiful!

what is "pk"?

Posted: 10 Jan 2017, 16:09
by pomk
Vanity from my part. Always sign your work.

Posted: 10 Jan 2017, 16:10
by Laser
Spoiler:
pikasso!

Posted: 10 Jan 2017, 17:30
by matt3o
pomk wrote: Vanity from my part. Always sign your work.
oooh, okay, please remove, you'll be credited elsewhere :)

Posted: 10 Jan 2017, 21:30
by tentator
wow looks gorgeous.. !!

Posted: 10 Jan 2017, 21:36
by XMIT
Can't tell from a quick skim - how many I/Os does this one have?

I hope to see at least four full 8-bit I/O ports on a keyboard controller. That's enough for an Omnikey (16 columns, 8 rows, 3 LEDs, 1 external input, PS2 data, PS2 clock, a hard wired button and a special sense line for the DIP switches).

Posted: 10 Jan 2017, 22:42
by pomk
32, but 29 are easier to use. Two have pull-ups built in and one is used to trigger the bootloader. As long as your circuit does not have a pulldown on the pin that has the bootloader function you can use it without problems.

Posted: 11 Jan 2017, 21:09
by pomk
I just submitted the files to matt3o. Here is the picture of how the connector will break if forced to open:
IMG_4096.JPG
IMG_4096.JPG (244.92 KiB) Viewed 5728 times
As you can see, the amount of solder is not the issue at all, rather the forward plated through holes rip out completely. The force required was quite large though and should not be an issue at all.

Edit: it does still work btw.

Posted: 13 Jan 2017, 20:32
by MrBishop
super nice! well except for it breaking but the design is really neat