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

Orcapad

Hardware
  • 5 Devlogs
  • 47 Total hours

A macropad with 9 keys, a rotary encoder, an OLED screen, and a few LEDs! Made to streamline Onshape CAD development.

Open comments for this post

10h 53m 29s logged

Updates

LVGL GUI

The GUI is pretty much all done! The changes are:

  • the home screen now has two animated orcas spinning in circles! (I really really love this feature!)
    An RGB screen with:
  • an rgb mode indicator/an rgb color indicator
  • 3 live information labels with saturation, value (brightness), and hue/animation speed
  • resized & repositioned layer & volume indicators from the home screen

The rgb screen will switch between showing the current mode & animation speed, and color & hue. This allows me to use the space more effectively to show useful information.
It took me a little bit of time to get the animation source images compiled properly, and I used Inkscape to make sure the original image downscaled and rotated while staying recognizable (and made a few adjustments in paint).

Next

QMK integration! I also want to properly set up my coding workspace to have autocomplete and all that for QMK.

0
0
3
Open comments for this post

16h 57m 48s logged

Updates

LVGL Simulator

It took me at least 2 days to get the lvgl simulator working TT. I settled on Visual Studio (also tried Codeblocks and VSCode) because it worked for demos, but it took me forever to get my own code running.
TLDR I turned of a setting and it broke it… I just needed to add:
lv_delay_ms(lv_timer_handler()); lv_refr_now(NULL);
It worked immediately :) Lets just say it was a very bittersweet moment

GUI Progress

I have the home screen pretty much done, and I’m starting to feel very comfortable coding in LVGL!
So far I have:

  • infinite scroll list to show active layer (still need to apply style for the active one)
    -Has circular scrolling, which took quite some trial and error. I was doing a very roundabout way with manual calculations to get nice animated snapping. But I learned about flags and now the active layer’s button is flagged, which made everything much easier!
  • volume slider (still deciding on it as I would need to mess with Raw HID for it)

FYI: The buttons in the GIF are just to test out & showcase how I plan to integrate the layer indicator in QMK

Next

  • create RGB info screen
  • actually integrate into QMK
0
0
2
Open comments for this post

7h 38m 2s logged

I have quite a few QMK firmware developments!

First off, I am quite amateur at programming, and I’ve never touched C before. So, there have been a lot of new things to learn, which is really good because I’ve been meaning to get more familiar with programming and different languages. Also, I finally decided that I was going to create the Orcapad to streamline my Onshape workflow by populating it with shortcuts.

Ok, so currently I have:

  • 4 keyboard layers (three for shortcuts, one for the lEDs)
  • RGB light layers so that I can easily change the LED bar to indicate what layer is on
  • 2 custom keycodes (one to cycle through layers, one to cycle through static RBG colors)
  • An encoder map to simplify customizing it

Hopefully all that is set and I don’t have to fix anything :) :) :) :)

To be added
I still need to add support for the OLED screen, and on that note, I decided to dive into LVGL so I could create a more sophisticated user experience (over standard quantum painter and the basic functionality), and (again) to really help me get more familiar with C.

Finishing thoughts :)
So far my experience has surprisingly not been too painful, just very time consuming, but for all I know none of what I’ve written so far works TT. Very excited about how its turning out so far though!

0
0
4
Open comments for this post

5h 51m 31s logged

Since my last devlog, I realized that I connected part of the keyboard matrix to the 3.3v output pin, so I had to update the PCB once again (and remove one of the keys since I didn’t have enough pins…again). The PCB is finally completely finished!! I also have a good chunk of the CAD for the case done :).

For the case I have 3 printed layers, the bottom that holds the PCB, a middle diffusion layer for the LEDs (just a very thin layer of white PLA that I hope will look nice), and the top layer to make sure everything can be assembled easily.

Up next: add finishing touches to the case, add mounting hardware/interface, introduce myself to QMK for the firmware.

0
0
1
Open comments for this post

5h 48m 54s logged

Long overdue devlog, but tldr: I finished the schematic for the PCB and just about finished the layout and tracing of the board! I essentially worked on the PCB over two days, so the first day I was getting oriented with general PCB design (this is my first PCB), KiCad, keyboard matrixes, etc… For some reason it took me some time to get used to footprints/symbols/and libraries and how to assign them properly, but I got around to it! I also realized I had to get rid of one of my planned rotary encoders because I didn’t have enough pins for it. Then on the second day, I organized the PCB and completed the tracing. Halfway through I decided to add LEDs to the top of every key switch for aesthetics, and to add some more complexity for me. Overall I enjoyed designing it a lot more than I expected to, which was a pleasant surprise. Next up: touch up the PCB (ground fill, rounded corners, silkscreen decor…), and start on the CAD for the case.

0
0
1

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…