Super Awesome Macropad
Hardware- 6 Devlogs
- 40 Total hours
An awesome macropad!
An awesome macropad!
super awesome macropad devlog 6 (final)!
I believe this macropad project is basically complete on the digital/design side after about a month. This is the second design of my macropad, the initial one being much smaller but lacking many aspects. The reason I upgraded was to get more functionality in a smaller module to be able to play around with much more through programming, etc.
Macropadsuper has the following functionality:
and components include:
It’s a bit bulkier than I would have hoped, but using this project as a foundation, I hope to improve my pcb design skills and learn a few things I hadn’t practiced in this project like 4 layer pcb boards and overlapping components for compact fit. At least this empty space on the board can be used for decoration!
Through this project I have learned:
and as I submit this project and am waiting to build it, I will try to redesign the case in SolidWorks to try a more professional CAD software (this was done in OnShape)
This was a very fun project!
crazy monster macropad devlog5?
So I did PCB editor…
and I feel like from a professional POV that this is the most disgusting thing anyone has ever seen. I hear tips like don’t run lines parallel or too close but fitting all these components into as tight a space as I could to the design I wanted was tough.
If anyone had any tips or advice I’d be happy to here it though!
In the end its a start although I hope it actually works…
wow monster macropad devlog4!
I just thought this screenshot would be a nice checkpoint. Swapped out 1 Servo Port for an RGB LED so I can use it as a camera flash and at least play around with LEDs once I transition to programming. I hope I’ll get super programming experience with this!
Monster macropad devlog3
While my previous macropad was basically complete from my last devlog, I thought of adding a battery so that my macropad wouldn’t need to be wired to run and I could upload a game like the google dinosaur game to it and play on its on… but this led me down a path of wanting to add more and more.
This new macropad (if it works) features these:
9 Standard Keyboard Buttons
2 Joysticks
1 Rotary Encoder Switch
1 OLED Screen
2 JST Ports
1 Sound Speaker
1 Camera
To accomodate these features I used:
1 Seeduino XIAO ESP32 S3 PLUS (lots of ports & camera capabilities)
1 I/O Expander for even more ports (it was needed.)
3 Low Dropout Regulator (LDO) - drops voltages
1 Voltage Booster - raises voltages (for the servos)
And along the way I learned about:
Currently I haven’t added the JST connectors for servos nor the speaker but I will do so in the next session.
Also I ran ERC and got a bunch of errors so I will need to figure out why as well. I haven’t been able to get my schematic checked yet…
Having done my first version of the macropad makes this process much faster though!
Super duper cool macropad devlog2
Some improvements were made with the pcb schematic and pcb design, but the main objective of creating a the macropad case was completed!
I’ll probably change a few things with the macropad design to try to make it look nicer… maybe space out the 4 buttons better. Already knew how to use OnShape so at least this part was all calm compared to making the pcb.
I was wondering if I could play the google dinosaur game, but then I realized that it would need power throughout. I wouldn’t want it to constantly be connected to my laptop or portable charger so it might just be time to learn about final boss #2 battery management circuit.
Although it would probably require a major overhaul of all the work I’ve done so far… but its all for the learning!
Super awesome macropa devlog1!
I wanted to make a macropad that I could use for almost anything so adding onto the original are the components:
Joystick
Rotary Encoder Switch
OLED Screen
+1 Standard Button
The Rotary Encoder Switch and Joystick also have their own built in buttons that I accounted for!
So far, the biggest challenge was working the logic for a matrix that would not only support all 4 buttons, but allow the rotary switch encoder’s button to act as a “shift key” and change the voltage read through INPUT_PULLUP leading to different analog values -> different implementable functions. Also the rotary can swap through multiple different presets which sounds great in terms of options.
Next session, I will try to figure out a way to add header pins/sockets to offset some heights like spacers & make things more modular.
Learning KICAD and electronics/circuits was tough but tbh its kinda fun!