HyperMicro Development

User avatar
Muirium
µ

03 Aug 2014, 20:07

You definitely want to keep GND and VCC apart. Short circuits between those two are what blow Teensies.

Igthorn's right: VCC is there for powering other active components. If you're driving a matrix, you want to use programmable pins for strobe and sense, not VCC or GND.

User avatar
7bit

03 Aug 2014, 20:48

So VCC will not be connected, even if there are LEDs in the matrix?
:-)

User avatar
Muirium
µ

03 Aug 2014, 20:56

If you're driving a matrix of LEDs (for Shine 3 style fancy stuff) those too will be pin to pin. VCC and GND are power rails for constantly on stuff, like regular backlighting.

User avatar
7bit

03 Aug 2014, 21:00

OK, VCC will not be connected.
:cool:

GND also not?
:?

On the Phantom the LEDs go from a pin on the Teensy to a resistor and then into the LED and out again into a pin labeled GND.
:roll:

User avatar
Muirium
µ

03 Aug 2014, 21:07

You're trying to keep all your options open, I see. But what do you want these LEDs to do? And how many are there?

If you hook an LED to ground, then youve tied it to a simple life doing one thing, controlled by the other pin. If you make a matrix of LEDs, just like the switch matrix, then you have made a fully programmable array of LEDs for doing all sorts of things, and just given yourself a headache.

It's possible, but LED arrays are not supported by Hasu's firmware etc., as far as I know. And they need just as many pins to work as a whole switch matrix.

User avatar
7bit

03 Aug 2014, 21:21

As far as I understand:

A: For indicator LEDs, controller-pin->resistor->LED->GND is all I need.
:-)

B: For backlighting, a 25W mechanical light bulb or 2 candles are sufficient.
:o

C: For fancy blinking lights in all colors, a separate matrix is needed and a lot of computing power.
:P

My plan:
Make sure that A is working for some of the switches. B depends on how to solve the heat-problem and C requires yet another controller and a lot of clables ...

User avatar
PJE

03 Aug 2014, 21:22

LEDs operate via current flowing (typically up to 20mA, although low current LEDs are recommended) through them, and will drop the voltage by around 2V. You therefore need to have a series resistor to control the current flow.

Driving the LED can be via switching the supply voltage (Vcc), or the 0V (Gnd) connection. The Teensy has a limited ability to source or sink current, and therefore can only power a few low power LEDs without harm.

The simplest way to control individual LEDs would be via a dedicated driver chip, or use a higher power transistor controlled by the Teensy to turn on large numbers of LEDs. You have to be careful that you can supply sufficient power for all the LEDs. They can share a common supply rail, or be connected in a matrix to a suitable controller which may be sent commands via SPI, I2C or some other form such as a clocked shift register. Driving from 5V you can place two LEDs in series with a single resistor, and multiple sets in parallel up depending on the drive capabilities of the device switching the current.

I would recommend leaving the LEDs to a later version unless all you want to do is switch them all on at the same time via a software or hardware switch. In which case you could connect two LEDs in series through a resistor to the switched power source, and I'd recommend looking for high brightness low power LEDs.

User avatar
7bit

03 Aug 2014, 21:28

Thanks PJE and Muirium!
:-)

But 5 or 6 indicator* LEDs should be OK?

And: Do I need a solder pad for GND on the keyboard or not?

----------------------------
*) Caps Lock, Num Lock, Scroll Lock, Alt Lock, Shift Lock, 7Bit Lock, Door Lock, ...

User avatar
PJE

03 Aug 2014, 21:49

Do you have sufficient spare pins? You would connect all the Gnd connections together, and then back to the Gnd pin on the Teensy. I usually fill the spare space on at least one layer with Gnd, which makes a nice connection point for the LEDs.

User avatar
7bit

03 Aug 2014, 21:56

How is this done in kicad?

User avatar
PJE

03 Aug 2014, 22:13

7bit wrote:How is this done in kicad?
I'm not sure in kicad... I use a different package. In Easy-PC you add a copper pour shape and associate it to a net such as GND then invoke a fill of the shape. You need to redo the fill if you make changes so I fill it at the end, making a few edits to get as complete a fill as possible.

Maybe someone else can help you out on kicad.

User avatar
7bit

03 Aug 2014, 22:22

I think I found it:
Add Zones (right under the icon "Add Tracks and Vias"). Now I know how to make that fancy frame around the PCB edges, I have seen in the Phantom file.
:o

User avatar
7bit

04 Aug 2014, 23:14

OK, here we go:
HyperMicro_PCBf_300.png
HyperMicro_PCBf_300.png (873.2 KiB) Viewed 3459 times
:shock:

User avatar
7bit

05 Aug 2014, 19:28

I've finished the PCB.
:ugeek:

Next step is to wait for people who promised to examine the kicad files if there is anything wrong.
:roll:

User avatar
7bit

05 Aug 2014, 22:59

Stabiliser mounts are wrong. They must be higher up.

User avatar
sth
2 girls 1 cuprubber

08 Aug 2014, 13:36

i want this! i hope there is a presoldered smd version :maverick:

User avatar
7bit

08 Aug 2014, 13:40

Yes, sure!

I will order the prototype PCBs next week.
:-)

User avatar
Muirium
µ

08 Aug 2014, 13:45

This ought to be interesting!

What about cases, though? Are these designed to need a plate for mounting to the case? And if you want to offer a PCB mount ability, where are the case mounts on the PCB?

Me, PJE and Pyrelink are working on an M84/MX board just now that's PCB mount only, and case mounting is a real design factor. Fortunately, our PCB is getting made by Matteo! So we can be generous with area.

User avatar
7bit

08 Aug 2014, 13:54

Maybe I should add some holes. I still feel that there are not enough holes in the PCB,
as long as there is unoccupied space left.
:?

However, keyboard cases are not my business. There are other people who are better at this.
:o

tlem

08 Aug 2014, 15:44

trace to clean up
trace to clean up
h1.GIF (14.64 KiB) Viewed 3316 times
another trace to clean up
another trace to clean up
h2.GIF (14.82 KiB) Viewed 3316 times
check with your manufacturer if there is enough space between the copper and board edge
check with your manufacturer if there is enough space between the copper and board edge
h3.GIF (10.77 KiB) Viewed 3316 times

User avatar
7bit

11 Aug 2014, 23:26

:roll:

User avatar
Muirium
µ

11 Aug 2014, 23:33

All those holes at the front are for the pointing device, right? Because the one place you don't want to put anything extraneous is down there, where the keyboard must be thinnest.

User avatar
7bit

11 Aug 2014, 23:42

These holes are for mouse buttons. You don't need to solder them in, just connect 2 pads with your fingers if you want to 'click' on something.
:evilgeek:

Findecanor

12 Aug 2014, 04:37

Why are the LEDs on the front of the switch? For locking keys, I can see why they should be front, but don't backlit keycaps most often have the legends on the back?

User avatar
7bit

12 Aug 2014, 10:19

This would mean to mount the switches upside-down. There is no space for that.

I've improved the whole thing a bit:
HyperMicro_PCBg_412.png
HyperMicro_PCBg_412.png (1.12 MiB) Viewed 3237 times
:o

User avatar
7bit

14 Aug 2014, 13:45

I need some people who test the prototypes!

It is required that you have experience in the field.
:?

PCBs and later the mount plates will be for free, including some switches and controller.
:cool:

Please let me know if you are interested.
:roll:

User avatar
Muirium
µ

14 Aug 2014, 13:48

I'll just guess your interest list-making-script autopopulates with me at the top…

User avatar
sth
2 girls 1 cuprubber

14 Aug 2014, 15:24

i'm interested but i dont know how experienced i am

not that that has ever stopped a true american :maverick:

User avatar
HzFaq

14 Aug 2014, 15:29

I'm interested in testing too, I've made a couple of custom boards and a converter or two (hasu ADB>USB and soarers), played around with firmwares etc. Not sure what else you need from your testers but I'll help if I can.

User avatar
7bit

14 Aug 2014, 15:44

Here is the current ranking:

Code: Select all

  31|Muirium
 160|HzFaq
 202|sth
:o

The requirements are:
Build the keyboard and test if everything works as intended, ie all solder-points are connected and everything fits etc.

Post Reply

Return to “Workshop”