Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

My Experience Building a Cheapino #104

Open
azzamsa opened this issue Nov 23, 2024 · 0 comments
Open

My Experience Building a Cheapino #104

azzamsa opened this issue Nov 23, 2024 · 0 comments
Labels
enhancement New feature or request
Milestone

Comments

@azzamsa
Copy link
Contributor

azzamsa commented Nov 23, 2024

Hi 👋🏽


TL;DR:

  • I suggest adding a silkscreen indicator for diode orientation on the PCB or including an image in the build guide. I’d be happy to open a PR for this.
  • For branch naming, I recommend one of the following:
    1. Add version numbers to both branches to avoid confusion, e.g., cheapinov1 and cheapinov2.
    2. Set cheapino as the default for v2, as it’s common practice to use the latest version/release as the default. Currently, most users are building v2 and will end up reading the master branch (and some parts are meant for v1).
    3. Keep things as they are but include a callout warning with an emoji above the relevant command in the guide.

I’ve successfully built my Cheapino 🍩, but I wanted to share some challenges I encountered during the process.

1. Diode Orientation

The line on the diode should always be closest to the square pad of the footprint, NOT the round one.

Even after reading this note several times, I kept asking myself, “Where are the square pads?” Upon closer inspection of the PCB, I realized they were there—but to me, all the pads looked rounded.

I think having a silkscreen indicator for diode orientation on the PCB would make this clearer. Alternatively, adding an image to the build guide would help a lot. I’d be happy to contribute by making a PR for this.

2. Firmware Troubles

After assembling the left-hand side of the keyboard, I tested the board using tweezers. I had flashed the MCU before starting the build1. However, none of the keys worked 🤯.

Despite this, I decided to continue assembling the right-hand side because I was confident there was nothing wrong with my soldering or diode orientation. After finishing the right side, a few keys worked, but most didn’t. At least this confirmed that my MCU and RJ45 cable were functional.

Eventually, I revisited the troubleshooting guide, and one line caught my attention:

Make sure you flashed the version matching your PCB. V1 firmware will NOT work on V2, and vice versa.

When I checked the firmware guide, I realized the issue. I had blindly followed the commands without reading the paragraphs above them (I admit, they seemed boring, and I thought I already understood the commands). Turns out, the cheapino branch is for v1, while v2 requires the cheapinov2 branch.

Thanks for creating Cheapino! 🥞


1 I flash the MCU before assembly to ensure it works because I’ve previously encountered an MCU that was defective. I couldn’t determine whether it was a factory defect or a result of the assembly process, as I hadn’t flashed it beforehand.

tompi added a commit that referenced this issue Nov 23, 2024
@tompi tompi added the enhancement New feature or request label Nov 23, 2024
@tompi tompi added this to the v3 milestone Nov 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants