Author Topic: [Review Request] Newbie with a schematic and PCB for a hall effect keyboard  (Read 668 times)

0 Members and 1 Guest are viewing this topic.

Offline osor_ioTopic starter

  • Newbie
  • Posts: 4
  • Country: es
    • osor.io
Hey all!  :)

I'm trying to design a PCB for an existing keyboard I have to be able to use hall effect switches. This is the second PCB I'd get made, the first one was a smaller project where I experimented with the same hall effect sensors already.

The board would take the data lines, power and ground from a USB daughter board, then all goes into a STM32. For the sensors, I'm using 5 multiplexers with 16 inputs each, the output of each multiplexer goes into my attempt at an ADC frontend with an RC low-pass filter and an Op-Amp with unity gain. The output of the Op-Amps goes directly to the ADC pins of the STM32 chip.

The stack-up is Signal-Power-Ground-Signal, with assembly and most signals being on the bottom layer. Ground is just a big pour while I'm splitting power into digital and analogue +3.3V sections.

It's the first time I use many of these things, multiplexers, Op-Amps and the RC filters being some of my concerns. Also the board being quite big sounds scary.

The multiplexer select pins also look very wonky, but I didn't see how to route them without crossing them on top of each other with vias and making them switch reference planes all the time. When I change the multiplexer select pins I'd need to wait for quite a while (1 or 2 microseconds) to let the RC filter and Op-Amps have a stable output, so I was hoping it's fine to have those lanes as they are.

Any advice about my worries here or anything else is hugely appreciated! I'm very new to this and I don't know what I don't know about  :-//

Sorry as well for the images of the board, I hope they make some sense, it was hard to get good screenshots with the board being that large.

Cheers!

Ruben.

Edit: Added the schematic as a PDF, note that it's at the bottom of the list without a thumbnail!
« Last Edit: August 12, 2024, 11:10:57 pm by osor_io »
 

Offline 3roomlab

  • Frequent Contributor
  • **
  • Posts: 852
  • Country: 00
which keyswitch do you use ?
 

Offline osor_ioTopic starter

  • Newbie
  • Posts: 4
  • Country: es
    • osor.io
Hey!

Got some Lekker L60 and some Gateron Magnetic Jade switches :)
 

Offline xvr

  • Frequent Contributor
  • **
  • Posts: 422
  • Country: ie
    • LinkedIn
Too many ground/power vias. Such amount required only for high power (or high speed - at GHz range) applications.
 

Online pcprogrammer

  • Super Contributor
  • ***
  • Posts: 4345
  • Country: nl
May I ask why you are using linear analog hall effects and not just digital switching ones?

For something that looks like a computer keyboard it might turn out to slow for typing.

Offline osor_ioTopic starter

  • Newbie
  • Posts: 4
  • Country: es
    • osor.io
Too many ground/power vias. Such amount required only for high power (or high speed - at GHz range) applications.

Noted, thanks! Would you go and remove them from the current design? Could they otherwise be harmful?

Regardless I'll take it into account for any future designs I make though.

Thanks again!
 

Offline osor_ioTopic starter

  • Newbie
  • Posts: 4
  • Country: es
    • osor.io
May I ask why you are using linear analog hall effects and not just digital switching ones?

For something that looks like a computer keyboard it might turn out to slow for typing.

Yeah! I'd like analogue switches both to be able to send some of these as axis (so, continues values from 0 to 1 as if it was a controller) and for implementing a triggering logic like Wooting's Rapid Trigger (https://wooting.io/rapid-trigger) which moves the actuation point of the switch relative to the last state. I've tried both things in my other project that used analogue hall effect sensors and I really like how both of those features feel to interact with.

Another factor is also that I don't really know thet exact magnetic flux of the switches, so the values will likely vary between switch to switch, if I decide to change them or try a few different ones. Having the continuous ADC readings allows me to adjust for this in software too.

Thanks for the question!
 
The following users thanked this post: pcprogrammer

Offline xvr

  • Frequent Contributor
  • **
  • Posts: 422
  • Country: ie
    • LinkedIn
Quote
Could they otherwise be harmful?
They wouldn't be harmful, just useless.
 
The following users thanked this post: osor_io

Online pcprogrammer

  • Super Contributor
  • ***
  • Posts: 4345
  • Country: nl
May I ask why you are using linear analog hall effects and not just digital switching ones?

For something that looks like a computer keyboard it might turn out to slow for typing.

Yeah! I'd like analogue switches both to be able to send some of these as axis (so, continues values from 0 to 1 as if it was a controller) and for implementing a triggering logic like Wooting's Rapid Trigger (https://wooting.io/rapid-trigger) which moves the actuation point of the switch relative to the last state. I've tried both things in my other project that used analogue hall effect sensors and I really like how both of those features feel to interact with.

Another factor is also that I don't really know thet exact magnetic flux of the switches, so the values will likely vary between switch to switch, if I decide to change them or try a few different ones. Having the continuous ADC readings allows me to adjust for this in software too.

Thanks for the question!

Good to see someone having thought about the why for some part of the design.

I used analog hall effects a long time ago to implement velocity sensing of the valves of a bassrecorder (a big wooden flute) which worked very well, but there it concerned way less sensors.

The quick trigger detection is new to me but sounds as an interesting development for the more advanced gamer.

I'm interested to hear about the end result of your quest and if the chosen microcontroller is fast enough to handle scanning all the keys with a fast enough response time.


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf