Hackpad
Hardware- 2 Devlogs
- 3 Total hours
A large size Hackpad! Using charlieplexing to go as much as possible with the kit.
A large size Hackpad! Using charlieplexing to go as much as possible with the kit.
In creating this project, I decided RGB was the way to go.
No point in adding RGB, if you cant show it off. So I decided to make my top case clear, hopefully printed in petg clear.
It is a simple case, with a screwed on top and a mount for the pcb on the inside.
It has a couple cutouts.
Sorry this is short not much to commentate
Hello guys, welcome to my first devlog for this project!
Today, we will begin off with the basics, what do I want to do with this.
I know I have a lot to work with here, 16 switches, 2 knobs, and an oled.
I think as many keys as possible would be nice, basically an external numpad for my new keyboard I ordered (thanks for the aula stardance). An oled could just do anything, and a knob could too.
I also wanted RGB, because RGB is cool, no other words needed.
Now of course with a project as ambitious as this, I ran into a bottle neck quite literally as soon as I started.
The RP2040 does not have enough pins for this.
I need 2 for my rotary encoder, 17 for my switches, 1 for my led, and 2 for my oled. We can cut my switch count down to 9, but yet that is still more than the rp2040 can support
Charlieplexing! What is this? I barely know too.
In essence, I learned of it similar to NCR (in math), where you can pick a combination of 2 elements and you can get n^2-n elements, in this case a 5 pin charlieplex can give me 20 different keys!!!
Now I have my pins sorted out, lets get to schematics!
Schematic was quite easy, just wiring things up
Gemini assisted me in learning charlieplexing inputs, as there are very few resources on this topic. And so I got a pinout from there.
I wired up the leds in a line, switches in schematic, and the OLED and encoder in a simple straight to pi.
Footprints was easy at first, just following devlog, but difficulties arrive, in my next devlog!
Thats all for now, thank you!