tweetydabird / lotus-keyboard Goto Github PK
View Code? Open in Web Editor NEWThis project forked from qtkb/lily58-glow
A split ergo linear keyboard derived from the Lily58 family
License: Other
This project forked from qtkb/lily58-glow
A split ergo linear keyboard derived from the Lily58 family
License: Other
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?
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?
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.
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!
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
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
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.
Which reset switch should I buy?
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.
Guess I will now figure out how precise my pcb scratching abilities are ๐ . Otherwise nice board btw, first buttons are already working.
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 :
Could you point me in the right direction ?
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.
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.
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?
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.
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
I tried to implement the second encoder on the same half of the keyboard. Looks like there are even 2 ways to implement that.
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
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.
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
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 ?
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?"
I am sorry, I do not know much about PCB designing so am unable to fix the issue myself
Thanks
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.
Which version should I build?
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?
Is the 2W 4.7k resistor the right one?
or can I get smaller ones?
Hi,
I am considering to order PCBs so couple of questions:
Here in the wiki it is unclear whether the controller should be mounted facing up, or down.
Pictures would also help a lot.
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:
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:
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?
Add list of compatible firmware builds please
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?
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.
Can I use my lily58 pro plates with lotus? Or there is some differences that make this impossible?
In readme, for diodes,
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.