Giter VIP home page Giter VIP logo

lotus-keyboard's People

Contributors

azzamsa avatar kata0510 avatar kuro-codes avatar michaelfdewitt avatar mwmccarthy avatar nicithenici avatar qtkb avatar sdrauksas avatar sungo avatar tweetydabird avatar xduinorail avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

lotus-keyboard's Issues

Bottom plate with tenting support

Hi Tweety!
I am very thankful to you for putting this all together!

I am currently in the process of putting the keyboard together and I saw that on your store you sell an FR4 bottom plate with additional holes for tenting support, however I was not able to find the files for that in here.

I dug a little bit deeper and saw that the file FR4_Bottom_Plate_TENT.kicad_pcb was removed in the commit 70c5d289c95a80e03fcd2d824fd882cb38c4dc72 as part of the v1.21 release. Was this on purpose or an accident?

RGB leds power draw problem

Firstly thank you for your work on this. You've made everything so easy to order with links to the Aliexpress. I really appreciate it!

I recently finished soldering everything and have run into an issue with the RGB leds. Note that I have wired up the 58 individual keys but not the underglow leds.

To get the firmware built I took the lotus58 folder from the keyboard folder in your qmk_firmware fork and put it into my local qmk environment (running v14.19).

With the RGBs disabled the keybord is working fine. With the default in your config of 6 leds on each hand everything is working fine.

The issues started when I enabled all RGB leds on both sides. I managed to get everything lit up and could briefly change colours but then after a short while the half that's plugged in would keep working for a while and the other half would stop. Then after a little while longer the keyboard stopped responding altogether.

If I enabled only 34 leds - everything is stable. When I enable more than this the system started acting up as above. It doesn't matter how many leds are enabled on each hand I could have all of one hand lit and only a few on the other such as RGBLED_SPLIT { 29, 5 } or an even number on each hand.

After much testing I have identified that I can enable all of the leds but it's the brightness that's causing the issue. If I restrict the brightness to a maximum of 125 I can get all LEDs lit on both hands. Does this mean that the system is failing because it's trying to draw too much power to light all of the leds at full brightness?

So I have a work around in setting the max brightness to get everything working but I was wondering if it's possible this is an issue with my RGB led circuit that could be causing the problem? Have you run into this problem before? If not do you have any tips for how I might be able to debug it?

Where is the breakaway part for when you order from JLCPCB?

You mentioned here that you have added a breakaway part on the PCB Gerber files.

If ordering from JLPCB the plate Gerber files include a reference putting the added serial etc. on a breakaway part for a clean look with minimal cost, if using another manufacturer it's possible they have additional fee's for removing the extra text, or you should consider plotting the Gerber files yourself with the correct reference for your manufacturer.

I've been looking for it for a while and couldn't find it.

Issue with communications

Hi,

I am having issues with the communication between the boards.
I have made the older Lotus58 v1.11. I have only modified your firmware in the keymap.c file and the lotus58.h file to use the default lily58 keymap instead. Everything else is identical to your firmware. I have closed serial and added i2c resistors. I have an oled on the right and an encoder on the left. Keys everywhere else. TRRS cable shows continuity.

My primary issue is that only the board connected to the USB works. I am sometimes able to start the display on the right, when the usb is connected to the left but it will only display the boot image at best.

Both my power jumpers are open. Is this the problem? Should I always connect to the right and close the right power jumper?
Something like this: https://docs.splitkb.com/hc/en-us/articles/360010588860-Only-one-half-of-my-keyboard-works-at-a-time-but-not-when-they-are-both-connected

Your help is appreciated!

Compile errors for the Lotus

Hi,

If I read correctly, the QMK was changed a while back and it seems your code for the Lotus58 might be incompatible with the new build.

Is there any chance you could review the code and possibly update it or help guide me to where I can fix the problems I am seeing?

This is the output during the compilation. it doesn't matter if I do it in your fork or just files copied to the direct git pull.
I had to reenable debug and print to see these.

Thanks ;)

Compiling: keyboards/lotus58/keymaps/default/keymap.c                                              In file included from quantum/action.h:24,
                 from quantum/keymap.h:22,
                 from quantum/quantum.h:21,
                 from keyboards/lotus58/lotus58.h:19,
                 from keyboards/lotus58/keymaps/default/keymap.c:16:
quantum/keycode.h:93:17: error: redeclaration of enumerator 'KC_NUM_LOCK'
 #define KC_NUM  KC_NUM_LOCK
                 ^~~~~~~~~~~
keyboards/lotus58/keymaps/default/keymap.c:27:5: note: in expansion of macro 'KC_NUM'
     KC_NUM,
     ^~~~~~
quantum/keycode.h:321:5: note: previous definition of 'KC_NUM_LOCK' was here
     KC_NUM_LOCK,
     ^~~~~~~~~~~
keyboards/lotus58/keymaps/default/keymap.c:166:6: error: conflicting types for 'oled_task_user'
 void oled_task_user(void) {
      ^~~~~~~~~~~~~~
In file included from quantum/quantum.h:184,
                 from keyboards/lotus58/lotus58.h:19,
                 from keyboards/lotus58/keymaps/default/keymap.c:16:
drivers/oled/oled_driver.h:290:6: note: previous declaration of 'oled_task_user' was here
 bool oled_task_user(void);
      ^~~~~~~~~~~~~~
 [ERRORS]
 |
 |
 |
make[1]: *** [.build/obj_lotus58_default/keyboards/lotus58/keymaps/default/keymap.o] Error 1
make: *** [lotus58:default] Error 1
Make finished with errors

Change in marking for the side and Oled jumpers

Hi,
I just received a PCB and am stuck at the first step in the build guide. There looks to be a change in the board compared to the photos on Tindie so I am assuming this is a new version. The topside marking which previously read RH now reads left hand and the OLED jumpers say left hand above them as well (with the board oriented in the right hand position). Am I right in thinking I now join these on the bottom side/component side of the board as opposed to the top side in the build guide?
Thanks

Support for "Touch Screen"

It would be nice to add pads to solder the thin tactile button underneath the OLED display. Since the display have some freedom of movement, so when it's placed right above the button when you press the display it can actuate that tactile button which works as a regular keypress and appears like the display have some touchscreen capabilities. Here are some photos of how I have placed the button on the PCB and how I have wired it up. It worked out for me very nicely, and I really like how it appeared, after all. So probably more people would like to make it this way.
image
image
image

Short between vcc and gcc

Hi,

I am currently building your board and found a short in my PCBs between GND and VCC and in the release gerber files version 1.33.

Looks to me as if the GND plane has not been updated after moving a trace.

Gerber viewer:
image

In PCB:
signal-2023-09-12-160035_002

Guess I will now figure out how precise my pcb scratching abilities are ๐Ÿ˜…. Otherwise nice board btw, first buttons are already working.

Can't find what to short to use serial (v1.21)

Hi,
thanks for all your amazing work but I'm unable to find what jumper to short for using serial (2 oled screens).

The wiki says
If using Serial, close the one single jumper above the TRRS socket on both PCB's Required when using two OLED screens

But the only things I'm able to see above the TRRS socket are :

  • D30 for encoder
  • Jumper for hand
  • Jumpers for OLED

Could you point me in the right direction ?

Prerelease - Encoder slots are too close to microcontroller pads

I have ordered the PCB prototype of Lotus58 v1.2 Glow on allpcb.com. And it appeared that they can't produce it as it is now. Here is the photo of the issue.
image

Probably, the best solution would be to move those encoder slots closer to the center, which would give some extra space between them and Arduino slots, probably this still would allow to secure encoder in place. Or avoid making those holes at all, and trim those legs from the encoder, which wouldn't affect functionality as well.
Also, here is a request for change from the allpcb.com engineers.

image

jumper pad questions

Just received the v1.21 pcbs and have a couple of questions regarding the jumper pads. I'm assuming I need to jump one of the pads to the middle to get the LEDs to work but I'm not sure which.

I have the per key and underglow LEDs soldered already, with the intention of using both. Can you let me know what pads I should jump to get all LEDs to work on both hands?

IMAGE 2021-12-05 21:12:44
Also, I'm curious as to what these pads are used for. Appreciate that this is a pre-release so I'm asking for the docs that have yet to be published. thanks in advance.
IMAGE 2021-12-05 21:13:05

Uniform LEDs Orientation

I think it might be a huge improvement to the design if all the per-key LEDs had the same orientation.

I understand that you shouldn't solder non paying attention, although this is a "product" that every "manufacturer" makes only once

Support for second encoder on one half

I tried to implement the second encoder on the same half of the keyboard. Looks like there are even 2 ways to implement that.

  1. Since when we use the upper encoder instead of an OLED display, we have 2 additional pins freed. So after trimming the traces that were connecting the lower encoder to the ENCODERS_PAD_A/B, and wiring up the lower encoder's pins to R1, R2 pads I've managed to make it work as a separate encoder on the same half. So probably adding some jumpers and additional wires could do the job well
    image

  2. QMK allows configuring encoders in such a way that they can share same pin for both of them, hence, only 3 pins are used to make them work. So it's possible to use B5 pin for the lower encoder and define the handedness in another way, for example by EEPROM or by #define instruction. Also, probably, it's possible to define handedness by pin only on half with OLED display.
    image

How to test the keyboard ?

Hey,

I've been building this keyboard as my first soldering project, and I'm pretty sure I've done several mistakes in it. Two of the breakaway bridges broke (the left-hand indicator on the left board, and the lower i2c bridge on the right board) and I soldered them back, but I'm not sure if this would actually work. I'm trying to understand if I've ruined the boards or if it's salvageable, and how I could test the connections. I'm also trying to understand how to compile / configure / flash the firmware once I'm done soldering the microcontrollers.

I've socketed the first controller, but I find it very hard to remove it from its socket. I'm able to leverage on its back, but I can't find a way to pull it off its front where the USB port is, as I don't want to damage it.

Is there a way I can see what is supposed to connect with what ? I'm thinking of buying a multimeter to see where if the bridges that are broken are still making a connection or not. A friend said to wire things together to bypass the bridge if they are ruined.

I've found this repo https://github.com/TweetyDaBird/qmk_firmware that you seem to mention in another issue being the forked firmware to use for the board, but looking around I couldn't find how you're supposed to compile it or what you need to do to flash it. I also see that the section for it is missing in the wiki. Is there maybe another set of instructions I can follow and adapt to Lotus ?

The issues I had with the bridges were after soldering them together with neighboring things, and trying to disconnect them by cutting the excess of solder between them. It seems like the tip I'm using on my soldering station is too thin and doesn't transmit heat well, making me have to use the side of the tip instead, and being more messy with the soldering. So I'm thinking of buying larger or differently shaped tips instead.

Thanks

JLCPCB additional charge to the top plate

Hello,

First, thank you for making such a nice split keyboard available :)

I asked JLCPCB to produce the pcb, bottom and top parts, and received an email this morning stating I had to pay extra due to: Reason: 1.There are too many small slots in your file , it will take too much time to get it finished during the routing process. in the Lotus58_Glow_Top_Plate_OLED_Y7 file.

Is there any way we can avoid this charge? The extra charge is about 15.2$. Is this something you had to pay too @TweetyDaBird ?

JLCPCB questions about PCB order (v1.28)

Hi,
Firstly, thanks for all your work!
I placed an order with the v1.28 gerber files and received the following email from JLCPCB engineer:

"Sorry to bother you, but there is an issue that we want to confirm with you before proceeding.
As shown below, the NPTH were connected with PTH, they will become PTH, we suggest to move those NPTH to ko layer to mill out?"

jlcpcb

I am sorry, I do not know much about PCB designing so am unable to fix the issue myself
Thanks

Pro Micro RP2040

https://www.sparkfun.com/products/17717

Apart from the code changes, would this theoretically work as a drop in replacement?
They are half the price of a standard Pro Micro. I have already had luck using CircuitPython on a plain RPi Pico to create a mech keyboard.

Symmetrical design in Gerbers?

Sorry if this is a stupid question (this is the first keyboard that I plan to build): Are all the Gerber files (especially the PCB) symmetrical in a sense that we can use them for both right and left hand? So if I made an order from JLCPBC for 5x the PCB, I could build 2.5 full keyboards - no need for any mirroring of the design, correct?

Resistor

Is the 2W 4.7k resistor the right one?
or can I get smaller ones?

Various question

Hi,

I am considering to order PCBs so couple of questions:

  • what is the latest and the most correct layout? The one in the "Releases" section?
  • am I correct that LEDs are "legless, SMD-type"? If so, how do they soldered if they are flush with PCB surface? In this case, solder joint is the only connection
  • the height of the LED is 1.1mm. Provided the PCB thickness is 1.6mm, LED will reccessed 0.5mm lower than PCB surface. Is this OK?

LED pinouts not the same for SK6812MINI and SK6812MINI-E

The pinout for the SK6812-MINI matches the orientation of the PCB for soldering from the bottom with the lens facing away from you as you solder:

sk6812-mini back

However, the SK6812MINI-E would need to be soldered from the top of the PCB with the lens facing up in order for the VDD and GND pins to line up, but then DIN and DOUT are swapped:

sk6812-mini-e front

Breakaway tabs referenced in readme

The ReadMe has a section titles "Things to note when ordering PCB's" but looking at the kicad_pcb files in the Plate directory I don't see any with breakaway tabs. I do see a jpg in the same directory that shows a pictiue of a rendering of a board with breakaway pads. Do pcb files of these plates exist (am I just looking in the wrong place)? Do I need to do something to generate them?

Firmware

Add list of compatible firmware builds please

corrupt plate dxf files?

I'm looking to laser cut some plates (new glowforge gotta forge) but it looks like the plate DXF files are corrupt. Peaking inside, it appears the DXFs have gotten wrapped in github html/js fun somehow. Any chance of getting clean DXFs?

Version 1.30, 1.31 contain incorrect readme files?

I ordered the 1.33 (at the time latest) version PCB, and when searching for the parts list, because the 1.33 version of the readme does not contain the parts list in the readme, i backtracked the versions. Most recent version to contain the parts list is 1.31. Which i followed when buying parts.

However the readme in folder 1.31 is actually has v1.23 specified in the title (I overlooked this... and used the readme just for the parts list). The same readme also appears to be in 1.30.

These readmes are actually for the TRRS version of the Lotus... and i ordered the USB-C PCBs... I know this is my mistake, because I did not pay attention to the release notes and didn't realize this changed with v1.3.

However I believe that the readmes in 1.30 and 1.31 should be fixed with the correct parts lists or perhaps the TRRS row removed from the parts list or maybe just a simple strike trough, so that it doesn't mislead other people.

Lily58 plates

Can I use my lily58 pro plates with lotus? Or there is some differences that make this impossible?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.