Project Big Cat - A newbie learns to make a keyboard

Hello, hope everyone is having a lovely evening/day! I’m back with another progress report

The PCB has been fully soldered and functional (for the most part)!

And we have VIA too :slight_smile:

A couple of issues I found out in the process:

  1. Where I had two switches in series, they only need one diode… I went trigger-happy and added another diode during schematics phase. This created some major problem with the firmware. I had to abandon my multi-layout plan and use some jumper wires to get the ANSI layout work correctly
    image
    Here is the jerry-rigged back side of the PCB
  2. In all of my wisdom, I did not wire up the right bracket key :sweat_smile:
  3. Once I put the keycaps on, I noticed that there were alignment issues with the pipe key and the enter key. That part of the PCB is extremely busy in KiCAD, so I might have misaligned their footprints.

    (My phone’s camera went weird here. In real life it doesn’t look this distorted)
  4. The indicator lights for caps lock, numlock, and scroll lock are not working. It might be a firmware/coding issue. I have posted the entire firmware folder on GitHub here if anyone is interested in taking a look: GitHub - tifosi-the-tinker/qmk_firmware
    This is what I have in config.h
    image
    This is the code for indicator lights in bigcat.c

    I tried to look through other firmware in the QMK repo, and everyone seems to do it differently. I ended up following the QMK documentation, but that didn’t seem to do the trick. I also tried soldering on the LED lights both ways in case that I messed up the polarity. That also didn’t work…

Notes for PCB Rev1:

  1. Change out MCU in the next round: maybe use an ARM processor
  2. Use footprint for solder-only switches and keep everything south-facing to simplify things
  3. I might not do the ISO layout any more and just do split left shift and 7u bottom row
  4. Wiring and traces need to be checked more carefully before sending the files for manufacturing

Lastly, just want to point out some very helpful resources in coding firmware. I’m no programmer so I had a lot of trials and tribulations with this process. Hopefully these will help other people in the future:

That’s it for now. I will need to rework the PCB and schematics before moving onto the plate and case, which may take a while. But I will be back with updates and notes along the way. Thanks again for sticking with me to this point. Hope you have a great time wherever you are! :smiley:

1 Like

Haha thank you for your kind words :slight_smile: It still has a lot of kinks that I need to work out (see my latest long diatribe/update). The reason I started this project is to experience the process of designing a keyboard from scratch, and I don’t intend this to be a for-profit project. If it turned out to be a worthy board, I will look into open-sourcing it eventually.