Can we design the teensy alternative for keyboards?

User avatar
matt3o
-[°_°]-

15 Dec 2016, 12:11

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"? :)

User avatar
tentator

15 Dec 2016, 15:51

Can we use a smaller font for the silk screen and avoid to use PT to describe the pins name?

pomk

15 Dec 2016, 16:17

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.

User avatar
tentator

15 Dec 2016, 16:26

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?)

pomk

15 Dec 2016, 16:40

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 5750 times

User avatar
tentator

16 Dec 2016, 00:39

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 5720 times
tent

pomk

16 Dec 2016, 09:00

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.

User avatar
tentator

17 Dec 2016, 01:11

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 5639 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...

User avatar
matt3o
-[°_°]-

17 Dec 2016, 09:18

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

pomk

17 Dec 2016, 11:45

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
Last edited by pomk on 17 Dec 2016, 15:05, edited 1 time in total.

User avatar
matt3o
-[°_°]-

17 Dec 2016, 11:46

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

User avatar
tentator

18 Dec 2016, 22:42

yes: id doesn't really change too much..
silk_space.png
silk_space.png (119 KiB) Viewed 5641 times

pomk

08 Jan 2017, 16:39

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.

pomk

08 Jan 2017, 16:41

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.

User avatar
matt3o
-[°_°]-

08 Jan 2017, 17:02

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.

pomk

08 Jan 2017, 17:46

The micro USB spec states that the plug should break first. My OCD just wants the product to match the spec.

User avatar
tentator

08 Jan 2017, 21:43

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)

User avatar
tentator

08 Jan 2017, 22:29

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

User avatar
matt3o
-[°_°]-

09 Jan 2017, 00:01


pomk

09 Jan 2017, 00:57

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.

pomk

10 Jan 2017, 14:05

Last word before submit to matt3o for production.
etu.png
etu.png (638.5 KiB) Viewed 5436 times
taka.png
taka.png (566.45 KiB) Viewed 5436 times
R4 & R5 have been added because of the bootloader problem.

User avatar
matt3o
-[°_°]-

10 Jan 2017, 15:38

it's just so beautiful!

what is "pk"?

pomk

10 Jan 2017, 16:09

Vanity from my part. Always sign your work.

User avatar
Laser
emacs -nw

10 Jan 2017, 16:10

Spoiler:
pikasso!

User avatar
matt3o
-[°_°]-

10 Jan 2017, 17:30

pomk wrote: Vanity from my part. Always sign your work.
oooh, okay, please remove, you'll be credited elsewhere :)

User avatar
tentator

10 Jan 2017, 21:30

wow looks gorgeous.. !!

User avatar
XMIT
[ XMIT ]

10 Jan 2017, 21:36

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).

pomk

10 Jan 2017, 22:42

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.

pomk

11 Jan 2017, 21:09

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 5231 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.

User avatar
MrBishop

13 Jan 2017, 20:32

super nice! well except for it breaking but the design is really neat

Post Reply

Return to “Workshop”