stardance has been extended another month! the new deadline is october 31 :)

You are browsing as a guest. Sign up (or log in) to start making projects!

PrasinoPad

Hardware
  • 6 Devlogs
  • 10 Total hours

A green keyboard featuring 4 keys, a rotary encoder, and an OLED screen

Waiting on a reviewer. We'll let you know as soon as there's a decision.

Hi Great work! Before i can approve this u need to change a few things! Please add your .step CAD into ur production folder, and lastly please make a BOM.csv (bill of materials) :D

Open comments for this post

2h 52m 32s logged

Today I implemented an OLED Screen, finished the Model, PCB, and Project Files for my Hackpad.

Here is specifically what I did:

  • Added the OLED Screen Cutout to the Case
    • Cut the Window for the 0.91-inch OLED Display in Fusion 360
    • Centered the Switches and Rotary Encoder along a Construction Centerline
    • Removed Conflicting Constraints and Badges to fix Over-Constrained Sketch Errors
    • Moved the Case USB Cutout to the Open End to prevent Collision with the Switches
    • Fixed the Extrude Cut Profile to fully penetrate the Wall
  • Configured and Compiled the QMK Firmware
    • Added the Display Code to show “PrasinoPad” in the File keymap.c
    • Fixed Typo and Syntax Errors in the File keymap.c
    • Resolved ChibiOS Hardware I2C Compilation Errors
    • Created the Configuration Files config.h, halconf.h, and mcuconf.h
    • Cleaned the Redundant I2C Definitions in the File keyboard.json
    • Compiled the Firmware to generate firmware.uf2
  • Updated the Schematic and PCB in KiCad
    • Removed Floating Matrix Diodes for Direct Pin Routing
    • Added the 4-Pin OLED Connector Header
    • Corrected the Pin Wiring for the Switches, Encoder, and OLED Screen
    • Added a PWR_FLAG and No-Connect Flags to clear ERC Errors
    • Assigned Footprints for the Switches, Encoder, and OLED Header
    • Imported the CAD DXF Layout to align the Footprints
    • Cleared Old Matrix Tracks and repositioned the Microcontroller
    • Routed Front Copper Traces and filled the Bottom Ground Plane
    • Ran DRC with 0 Errors and 0 Unconnected Items
  • Created Production Files and Organized the Repository
    • Exported Gerbers and NC Drill Files into gerbers.zip
    • Exported the Assembled STEP File and Individual Case STL Files
    • Structured the Project into CAD, PCB, Firmware, and production Folders
    • Created the File README.md with the BOM and Screenshot References
    • Fixed WSL and Git Path Errors
  • Published a ship post to #hackpad-ships on Slack

Notes on today’s session:
It was frustrating. My goal for today was to make an OLED screen that says “Prasinopad, “ finish the model, the PCB and all the other files files, complete the hackpad itself and prepare to ship it. In Fusion 360, when I went to make the hole for the screen, I noticed that the switches and knob from last time weren’t centered properly, so I had to align everything to the center and deal with lots of over-constrained sketch errors. Additionally, the initial place where I put the OLED screen cutout was in the way of the place where the USB port is, so I had to move the screen cutout to the top. While doing so, the sketch would not expand where I wanted it to and the cutout for the screen was divided into a part which cut through the case and another one which did not. In KiCad, my schematic had extra diodes that weren’t needed, and the pins were wired incorrectly. I rewired everything, added power flags, updated the footprint placements, and routed new tracks with a ground fill until DRC had zero errors. In QMK, compiling failed at first because of typos in keymap.c and missing hardware I2C definitions for the RP2040, but after creating config.h, halconf.h, and mcuconf.h, the firmware was successfully compiled. Lastly, organizing all the CAD, PCB, Firmware, and production folders to match the Hackpad guide and dealing with WSL and Git paths took lots of time. To sum up, there were lots of errors and they all were eventually solved, and the whole project is now organized and complete. I pushed everything on GitHub, made my ship post in #hackpad-ships on Slack, and will soon fill out the Hackpad submission form.

0
0
21
Open comments for this post

2h 18m 24s logged

Today I implemented a Rotary Encoder for my Hackpad.

Here is specifically what I did today:

  • Rebuilt the Case
    • Adapted My Model to the PCB plate
    • Precisely made Holes for the Keys
    • Made Screw Holes at the Edges of the Case
  • Assembled the Electrical Trace Pin Assignments
  • Fixed Errors
    • Fixed the Schematic Connection
    • Fixed the Foorprint Errors for the Rotary Encoder
    • Expanded the Case to resolve the Error of the Tracks and Pads being outside It
  • Created the Configuration Files
  • Solved the QMK Errors
    • Overwrote the URL key in the File ‘keyboard.json’ with an actual GitHub Repository Link
    • Fixed many Excess Attributes
    • Corrected the Layout’s Coordinates by Changing the ‘x’ value to 0 (was 1)
    • Replaced the QMK Template Tokens in the file ‘readme.md’
    • Added a SPDX License Identifier Header to the File ‘keymap.c’
    • Overcame the Missing SDK Header Errors
    • Injected Board Definitions
    • Added USB Identifiers
    • Fixed Linker Errors
  • Compiled the Project (to test if I did everything right)

Notes on today’s session:
Today was kind of tough. My goal for today was to make a rotary encoder, which I did make, but with lots of time put into the process. The process of making the PCB was mostly okay, but the case was harder to make (which sounds strange). In short, I compared the PCB and the case, and realized the case did not match the PCB. The case was one big model so I couldn’t place the PCB in it, but also that the holes for the keys and the knob weren’t accurate. So, I decided to redo the model from scratch. After the process, I was quite amazed of how the case was now neat, accurate, and tidy. The holes matched the keys and the knob, and the case now has two separate parts, meaning I could place the PCB in and close it with the top part. Lastly, I compiled the whole project to see if it works. And, in short, there were lots of errors. But, they all were eventually solved and the project was successfully compiled.


Notes on the next session:
Next time, I will build the RGB lights or the OLED screen.

0
0
24
Open comments for this post

2h 1m logged

Today I added an extra key to my Hackpad.

Here is specifically what I did:

  • Made a Plan for how the Hackpad should look
  • Configured Hardware Constraints
  • Updated the KiCad Schematic to work with the new key
  • Routed 4 key PCB Layout
  • Passed the DRC Verification
  • Edited the Model in 360 Fusion
  • Added the Functionality of the New Key in the files ‘keyboard.json’ and ‘keymap.c’

Notes on today’s session:
This session took more time than I expected. I usually have my devlogs after an hour of working, but today is the double of that. I thought adding another key to my Hackpad would be easy, but it was definitely not when placed in such a position. However, I did not just work on the part of adding a new key today. I also drew a plan for the whole Hackpad to guide myself and know how the final result should look.


Notes on the next session:
Next time, I think I will work on the part of adding a know. Since I know better how everything is done from today’s experience, I might even start doing the next part of the Hackpad, the OLED screen.

0
0
63
Open comments for this post

1h 30m 1s logged

Today I finally completed the Hackpad guide.

Here is specifically what I’ve done today:

  • Placed the plate correctly where it should be and extruded it
  • Made the USB cutout.
  • Set up QMK on my WSL (Lots of errors, lots of time spent)
  • Cloned QMK Firmware and the Submodules
  • Installed the Compiler Tools and Dependencies for my Environment
  • Verified the Environment with a Test Build
  • Created the keyboard in the terminal
  • Fixed Permissions and Configuration Errors
  • Compiled the Firmware

Notes on the usage of AI:
I have used AI to explain steps I could not do when trying, and breaking down steps in the guide that were not making sense. Additionally, I used AI when building the firmware because I don’t know much about building firmware. I did not fully rely on it, and I tried to analyze and understand everything it said so I can do whatever I asked by myself next time. There is actually a funny moment that happened today. When I was editing the code (files ‘keyboard.json’ and ‘keymap.c’), I copied some lines of code the AI had told be to write. Then, at the top I wrote code starting with the word ‘cat’, and I got an error when I tried to run the code. I read what it sent again and realized that line of code was meant to be written into the terminal to write the code through it, not straight into the code. Overall, I tried my best not to rely on Artificial Intelligence and understand what it replies with.


Notes on today’s session:
This was a pretty long one I must say. I estimated I would finish this in 30-45 minutes, but it took me 90 minutes, with 150 minutes total (with all the setting up/fixing WSL’s errors). A lot of today was downloading all the compiler tools and fixing bugs/errors. When I was downloading the compiler tools, there was one tool that took alone more than 25 minutes to download! I mean, it didn’t finish after 25 minutes, but I just couldn’t wait any longer and found a command which downloaded it in roughly 15 minutes. Also, there were a lot of WSL errors. I use windows and don’t have Linux, so I used WSL, which I thankfully had already installed. The most common errors were about missing and outdated tools for compiling and libraries of my WSL. It took me about 5 commands to fix these errors, and combine that with how long they download, that’s a lot of time! Although generally, I am happy with today’s session as I am finished with the guide and ready to add my custom features.


Notes on the next session:
Next time, I will start adding some basic custom features and stuff to my hackpad. I am thinking of LEDs.

0
0
3
Open comments for this post

1h 2m logged

I completed most of the ‘making the case’ part of the Hackpad guide.


Here is what I specifically implemented today:

  • Downloaded and set up the Fusion 360 application
  • Created a base for the case
  • Extruded different parts of the initial sketch
  • Made the plate using ai03’s plate generator with this pasted into the website: [“”,””,””],
  • Importer the plate into my project

Notes:
Today was quite a frustrating day. The part of making the case is done through a program called fusion 360, but I never heard of it. The interface and buttons really confused me, and I was clueless how to make the holes properly, the outer rectangle, nor how to extrude both rectangles of the sketch (since when I tried to extrude one of the rectangles, the other one disappeared, and they would merge in one shape if I extruded them both). So I asked and AI to explain me how to do each step in the guide, step by step. The AI’s guidance really helped me, as I spent only 30 minutes not knowing what I was doing, not 3 hours.


Notes on the next devlog:
Next time, I will try to finish the guide and maybe start making my first adjustments to the keyboard.

0
0
14
Open comments for this post

31m logged

Today I took my first steps toward building my own Hackpad.

Here is specifically what I did:

  • Downloaded the KiCad application
  • Set up the files/footprint libraries
  • Designed my PCB
  • Drew the schematic
  • Routed the PCB
  • Checked the PCB for malfunctioning (And fixed any mistakes made)

Notes:
I enjoyed today’s lesson. It was short, but exciting. I look forward into fully completing this guide and making a function Hackpad.


Comments for the next session:
Next time, I will continue going through the guide, just like today. A little longer I think.

0
0
10

Delete project?

Are you sure you want to permanently delete this project? This action cannot be undone.

All devlogs, followers, and associated data will be removed.

Followers

Loading…