josefadamcik / SofleKeyboard

A split keyboard based on Lily58, Crkbd and Helix keyboards
https://josefadamcik.github.io/SofleKeyboard/
Other
1.94k stars 290 forks source link

SK6812-MINI-E #45

Open tiadobatima opened 3 years ago

tiadobatima commented 3 years ago

Hello there... Not sure this is wanted, but I'm starting the work to update the SofleRGB to use SK6812-MINI-E which seems to be considerably easier to solder vs the regular SK6812-MINI.

I have updated the schematics to use the MINI-E. I'm not good with Kicad, so I'll need some more time to update the footprint, but I think this is ready for early review if you're interested.

I couldn't find an official datasheet only but this is what some vendors on Aliexpress are publishing: https://ae01.alicdn.com/kf/H79d59ee537124777a478665921acaa59A.jpg

I have the work on this branch on my fork: https://github.com/tiadobatima/SofleKeyboard/tree/sk6812-mini-e

And to make your review a bit easier, I created a PR against my fork's master: https://github.com/tiadobatima/SofleKeyboard/pull/1

Thanks! :)

DaneEvans commented 3 years ago

There should be no need to update the schematic, and it will only give more places for things to go wrong.

Just create a new footprint, allocate it to the schematic parts and update the PCB.

I'm happy to do a review and approve it, but as I'm not going to update mine, I'm not going to do the change myself, if the pinout matches it shouldn't be too much work to route though.

On Wed, 3 Mar 2021, 4:35 pm tiadobatima, notifications@github.com wrote:

Hello there... Not sure this is wanted, but I'm starting the work to update the SofleRGB to use SK6812-MINI-E which seems to be considerably easier to solder vs the regular SK6812-MINI.

I have updated the schematics to use the MINI-E. I'm not good with Kicad, so I'll need some more time to update the footprint, but I think this is ready for early review if you're interested.

I couldn't find an official datasheet only but this is what some vendors on Aliexpress are publishing: https://ae01.alicdn.com/kf/H79d59ee537124777a478665921acaa59A.jpg

I have the work on this branch on my fork: https://github.com/tiadobatima/SofleKeyboard/tree/sk6812-mini-e

And to make your review a bit easier, I created a PR against my fork's master: tiadobatima#1 https://github.com/tiadobatima/SofleKeyboard/pull/1

Thanks! :)

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/josefadamcik/SofleKeyboard/issues/45, or unsubscribe https://github.com/notifications/unsubscribe-auth/AFIRN4LMB6NPJZP6QX5QZ7DTBXDDPANCNFSM4YQRR7NQ .

tiadobatima commented 3 years ago

Yeah... The pinout for the mini-e seems to be different than the mini, and that's the reason I thought the schematics needed to be changed, though I kept pretty much everything as is, apart from the mini-e itself and some minor cosmetic changes. Did I understand you correctly that I could have kept the schematics the same even if the pinout is different? Mind sharing the trick?

Thank you very much @DaneEvans ! :) g.

josefadamcik commented 3 years ago

@tiadobatima The symbol in schematic should stay the same because electrically it's the same component.

Each symbol in schematics has assigned so called "footprint" which defines how the given component will look in the PCB design.

Here's a bit more about how to change footprints: https://forum.kicad.info/t/how-can-i-assign-a-footprint-to-a-symbol/8901

tiadobatima commented 3 years ago

Thank you for the reply guys! Yeah, I started playing around with the footprints yesterday, and in fact that was another reason I thought the changing the schematics would be the way to go, because unless I'm not looking into this the right way, if the component's pinout is different and we don't change the schematics they would be "documented" wrong in two places (in the symbol schematics and footprint)? What am I missing? I'm sure there's a logic behind it, but I didn't catch it yet :) But yeah, I agree with "don't change if it works!" :)

Anyways, the footprint brings me to a more important question: The current RGB LED is defined in two different footprints:

Between these two footprints, the RGB pads in the copper layer and the cutout squares for the Edge.Cuts/Fab layer have different sizes. Is there a reason they're different because my first impression is that the smaller cutout and bigger pads would work better for the switch as well (lower probability for the LED to fall thru; and bigger pads would give slightly better heat dissipation and area when soldering). I imagine it's because the board can be used both sides, but I feel the smaller footprint would still work on switch and single footprint could be use for both?

Thank you again! This is a top notch open source project! 😃

josefadamcik commented 3 years ago

@tiadobatima Just regarding the first bit since I don't have the knowledge to answer the second question.

I thought the changing the schematics would be the way to go, because unless I'm not looking into this the right way, if the component's pinout is different and we don't change the schematics they would be "documented" wrong in two places (in the symbol schematics and footprint)? What am I missing? I'm sure there's a logic behind it, but I didn't catch it yet :)

I think the the detail you might be missing is to fully understand what is the purpose of schematic and what it actually means that the component has a different "pinout".

The two LEDs are internally equivalent therefore they require to be connected in the same way - GND, PWR, data in, data out. That's the only point you care about in schematics and this haven't changed.

What changes is how are those connections placed in the real world when it comes to the particular instance of hardware (its package). And to capture this we have footprints.

For example, you can have a simple resistor: that's always a simple component with 2 connections where orientation doesn't matter. You'll have one symbol in schematics for it, but there is a whole range of packages which vary in size and the way how they are mounted to the PCB. So you have huge amount of footprints you can use when designing your PCB in order to support this variety. But the symbol in schematics is always the same.

DaneEvans commented 3 years ago

The reason for two completely different footprints is that the underglow one is a SMD footprint, it has no cutout, so the pads have to go under the LED to work.

The combined one is for the per key lighting, and has the cutout (although I'm not sure I found a way to get it into the footprint in KiCad, it may only be on a mechanical layer).

Any other sizes differences were because I stole footprints that worked (crkbd I think) rather than doing them myself, especially for the glorious hack that is putting LEDs on the back side of the board shining through. I didn't want to do multiple runs to find a working footprint.

The combined footprint was my addition - I didn't want to have to line up the LED each time, or have different part numbers for the key and associated LED. I'm hoping it catches on, because apart from the creation of the footprint, it's much easier to work with.

I need to relink my footprint library (thanks KiCad) and then I should be able to just do a footprint swap to match the mini-e recommended footprint. They seem close enough that it should only be a matter of pushing a few traces if needed.

On Thu, 4 Mar 2021, 6:48 pm tiadobatima, notifications@github.com wrote:

Thank you for the reply guys! Yeah, I started playing around with the footprints yesterday, and in fact that was another reason I thought the changing the schematics would be the way to go, because unless I'm not looking into this the right way, if the component's pinout is different and we don't change the schematics they would be "documented" wrong in two places (in the symbol schematics and footprint)? What am I missing? I'm sure there's a logic behind it, but I didn't catch it yet :) But yeah, I agree with "don't change if it works!" :)

Anyways, the footprint brings me to a more important question: The current RGB LED is defined in two different footprints:

  • K6812MINI_underglow_dev (the RGB by itself)
  • SK6812MINI_and_cherry (RGB + switch)

Between these two footprints, the RGB pads in the copper layer and the cutout squares for the Edge.Cuts/Fab layer have different sizes. Is there a reason they're different because my first impression is that the smaller cutout and bigger pads would work better for the switch as well (lower probability for the LED to fall thru; and bigger pads would give slightly better heat dissipation and area when soldering). I imagine it's because the the board can be used both sides, but I feel the smaller footprint would still work on switch and single footprint could be use for both?

Thank you again! This is a top notch open source project! 😃

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/josefadamcik/SofleKeyboard/issues/45#issuecomment-790401922, or unsubscribe https://github.com/notifications/unsubscribe-auth/AFIRN4IZKCHNO2LE6AWQHTLTB43LPANCNFSM4YQRR7NQ .

DaneEvans commented 3 years ago

@tiadobatima Definitely don't do any more just yet. At most it's going to be a footprint replacement, at minimum it'll be a drop in replacement -

I compared the two footprints, and they should be compatible (mini-e in green) image

It won't be ideal, the pin may overhang the pad a little, but it should work as a drop in. I'll order some LEDs and try it out on one of my spare boards. (in whatever the ali-express lead time is)

I'll probably redesign the footprint to take both varieties (not that it really works on the mini anyway), the identical pinout means that there should be no routing required, just a footprint swap

tiadobatima commented 3 years ago

That's very cool @DaneEvans!! But now I'm definitely lost. LOL 😂 When looked at the pinout, I could see the pads overlapped a bit (I didn't know it was that well which is cool), but aren't the pins for the mini-e actually different than the mini? From the datasheets I found on the internet:

Mini

Mini

  1. DOUT
  2. VSS
  3. DIN
  4. VDD

Mini-e

Mini-e

  1. VDD
  2. DOUT
  3. GND
  4. DIN

Since the pins don't match and aren't even symmetric between the mini and mini-e, I'm not really seeing how they could work with the board as is unless these RGBs can work with polarity reversed? What am I missing? 🤔

Anyways, I ordered some mini-e from Aliexpress a few weeks ago and Plcpcb should be shipping my Sofle board today or tomorrow. Might get it here early next week, and can run a test with the mini-e. Will let you know :)

DaneEvans commented 3 years ago

Ahh, you're trusting cheap chinese knockoff data sheets - I agree with you on the surface. But there are at least 3 different SK6812 pinouts/pin 1 locations, so my faith in those datasheets is entirely depleted.

I went the other way, and just compared the footprint to the latest crkbd one, because having worked with these LEDs, it's a lot more trustworthy to use a reference design that you know works, rather than trust the supplier.

Do you know which version of the crkbd has the mini-e's, because it's possible that I didn't pull the right one, and I can't find an easy change log.

The crkbd classic, the do-everything symetrical board is apparently no longer the head revision over there, and isn't mini-e compatible, The Cherry version is, and does have a different pinout, (which I think should also be compatible with the rolled pad version of the sk6812, which I have a reel of because of bad suppliers).

Sorry for the bad info earlier, I hadn't realised that the crkbd directory layout had changed so much since I built my travel board.

I'll do the new footprint tonight (Aussie time) , and talk you through swapping the footprints over, but you'll need to handle the last 5mm or so of routing to each LED.

DaneEvans commented 3 years ago

Hey @tiadobatima, I've made you a board to start on on my repo (https://github.com/DaneEvans/SofleKeyboard/tree/mini-e)

I've made the footprint, placed it on the board, locked the switches and stripped back the nearby tracks, so it should be fairly simple for you to route.

Please check the footprint (SK6812MINI-E_and_cherry(mini-pinout) ) - note that the numbers are different - this is because kicad apparently doesn't support pin tables, so the only way to remap it is to change the numbers on the schematic. Because I want to keep the schematics the same, I've chosen to mess up the footprint numbering reletive to the mini-e datasheet. The net names match however.

After that you are free to route the new mini-e version of the pcb, Create a mege request whenever you like and I'll do a quick review, clean up any documentation, and make it compatible with what Josef has done before sending it over here.

tiadobatima commented 3 years ago

Very cool @DaneEvans ! Thank you very much! I'm gonna take the rerouting process a bit slowly because I already placed an order for the current RGB version, so I'll likely focus on getting that built first because my shoulder is really killing me lately :D I'll try to put a few minutes of work on those tracks on a regular basis, and loop you in before I go too far in case I'm doing something bad.

I'll likely be building at least a couple more later, and when I do I plan to use the mini-e.

Thank you for all the help! g.

tiadobatima commented 3 years ago

Howdy @DaneEvans... Not sure if you have permissions, but would it be possible to push this branch to the josefadamcik org? Apparently Github doesn't let us have two forks of repos in the same "network" (same name) under the same org/account. Normally I'd just kill my fork from josefadamcik and fork yours, but I have a PR currently open against josefadamcik.

josefadamcik commented 3 years ago

@tiadobatima he doesn't have permission to merge. This is only an issue, no branches are linked to it. Do you mean the PR #33 sorry #46

josefadamcik commented 3 years ago

@tiadobatima Oh, I actually misunderstood what you mean, like completely :D My bad, just ignore me. Anyway, I merged your PR so just in the case it helps.

tiadobatima commented 3 years ago

Thanks for merging that PR @josefadamcik ! Now I can fork @DaneEvans' repo safely :)

Thanks!

joecabezas commented 3 years ago

o what's the next step?, currently, Sofle RGB pinout is not compatible yet with SK6812-MINI-E?, the way I see it, it is not, but the cutout is compatible since the mini-e is smaller

DaneEvans commented 3 years ago

@joecabezas Someone takes the time to route the branch on my fork, at the moment it sounds like noone is in a rush to do it

joecabezas commented 3 years ago

thank you, I am working on my own version, kailh choc compatible

DLopezGo90 commented 3 years ago

@DaneEvans bro is SofleKeyboard_mini-E.kicad_pcb ready to be used?

DaneEvans commented 3 years ago

No

tiadobatima commented 3 years ago

@DLopezGo90 It's hard to find time, but now that I got my Sofle RGB working, I'll try to set some time aside to get the Mini-e version going. I'll update this thread when I get something worth sharing.

DLopezGo90 commented 3 years ago

@tiadobatima Thanks bro, I'll be expectant

brianlow commented 3 years ago

If it helps, I have another Sofle variant (Choc switches) that uses SK6812-MINI-E here:

https://github.com/josefadamcik/SofleKeyboard/issues/40

They are pretty easy to solder though I haven't tried the non-MINI-E.

tiadobatima commented 3 years ago

Howdy folks... Sorry for taking this long, but I thought it would be better to also change the underglow and indicator lights to mini-e as well from @DaneEvans amazing initial work on this, so people have to deal with only one type of RGB. I also found that soldering the regular underglow/indicator minis on the SMD was a LOT more challenging than the drop-in per-key RGBs.

Here's the PR #90 . This should be considered a rough draft, since I'm new to Kicad, I haven't printed the PCB yet, and it's been over 20 years since I last worked on a PCB design. I definitely need adult supervision here. I'm happy to make any change you guys recommend.

utlandr commented 3 years ago

Just read @josefadamcik's cool post and wanted to mention that I am in the process of building the mini-e variant of the RGB Sofle. Its early days, but the PCB has been manufactured, just waiting on other bits and pieces before putting it all together.

Will keep y'all updated.

page200 commented 3 years ago

@utlandr Thanks, looking forward! Are you using https://github.com/tiadobatima/SofleKeyboard/tree/mini-e ?

utlandr commented 3 years ago

@utlandr Thanks, looking forward! Are you using https://github.com/tiadobatima/SofleKeyboard/tree/mini-e ?

@page200 Yes. I am using the one in PR #90

trougnouf commented 3 years ago

Can I use SK6812 Mini-E with the Sofle RGB as it is published in the Github repo? Or a mixture of both Mini-E and Mini for different parts of the keyboard? I've already ordered the PCB and I am now getting the components.

Sorry if this has already been talked about and I didn't catch the information.

edit: I was able to cancel my order and I will get https://github.com/tiadobatima/SofleKeyboard/tree/mini-e

DaneEvans commented 3 years ago

Please re-read this thread.

On Tue, 23 Nov 2021, 3:33 am Benoit Brummer, @.***> wrote:

Can I use SK6812 Mini-E with the Sofle RGB as it is published in the Github repo? Or a mixture of both Mini-E and Mini? I've already ordered the PCB and I am now getting the components.

Sorry if this has already been talked about and I didn't catch the information.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/josefadamcik/SofleKeyboard/issues/45#issuecomment-975703673, or unsubscribe https://github.com/notifications/unsubscribe-auth/AFIRN4OH7LX66VW4LH3HUCLUNJWENANCNFSM4YQRR7NQ .

pfn commented 3 years ago

@utlandr Thanks, looking forward! Are you using https://github.com/tiadobatima/SofleKeyboard/tree/mini-e ?

@page200 Yes. I am using the one in PR #90

Any updates on your trials @utlandr ?

utlandr commented 3 years ago

Hi @pfn! As of about two weeks ago I have finally received all the pieces to the puzzle. I unfortunately haven't found the time to put it together since then.

That said, I hope to at least get the LEDs going this weekend. I am a complete novice when it comes to soldering and electronics so expect to see a picture of magic smoke before pretty lights :+1:

pfn commented 3 years ago

Hi @pfn! As of about two weeks ago I have finally received all the pieces to the puzzle. I unfortunately haven't found the time to put it together since then.

That said, I hope to at least get the LEDs going this weekend. I am a complete novice when it comes to soldering and electronics so expect to see a picture of magic smoke before pretty lights 👍

That's awesome that you got all your parts together @utlandr best of luck in your build! I am settling for a standard sk6812-mini build for now, and maybe will consider mini-e in the future.

dmikhalsky commented 2 years ago

Any news on this?

KlausHans commented 2 years ago

Still no news? I am interested in this build.

taydevr commented 1 year ago

Hi @utlandr,

Can you share the results of the tests please?

I am interested in using this version =)

utlandr commented 1 year ago

@taydevr check out the PR (#90) for the latest successful builds.

taydevr commented 1 year ago

@utlandr Thanks!!!