Cool macropad banner

Cool macropad

9 devlogs
9h 42m

I am going to build a simple cool macro pad for my PC that open certain workflows when pressed on the corresponding button spoiiiiled alert: they are goona be hidden (to be more clear an area of my desk is gonna become touch sensitive ) or at leas…

I am going to build a simple cool macro pad for my PC that open certain workflows when pressed on the corresponding button spoiiiiled alert: they are goona be hidden (to be more clear an area of my desk is gonna become touch sensitive ) or at least i hope so :) , it will have also the functionality of a pomodoro timer (and mybe other cool features who knows ;D )

This project uses AI

I used AI to created the Readme.md file

Demo Repository

Loading README...

weeewwwwwwww

Shipped this project!

Hours: 9.7
Cookies: 🍪 142
Multiplier: 12.16 cookies/hr

I buuilt this cool macro pad that uses capacitive touch as input hope you like ittt

weeewwwwwwww

Devlog #8:
This is gonig to be my fnial devlog the deadline is in literally half an hour !!
ok so what’s new i added the only thing that was left which was a way of communication between the pc and the esp32 i created a simple python program that checks the serial input from the esp and deos certain shortcuts for each action these are tailored for my device which is not the best thing but making it work on all systems is simply impossible
also added the time which as easy it was just through serial too it checks every 10 seconds for the time
THe UI looks good for 128x64 pixels i am happy with how it turned out and quite sad that i kinda ruched it so i keep with the deadline

so this is breif we all love lain lain

0
weeewwwwwwww

Devlog #7:
Finally some real progress , so to day i had a physics exam that is worth like 30% of my whole grade and I FUMBLED HARD , ye it was rlly hard I think this is genuinely my worst performance EVER , like bro i didn’t even have the chance to read half the questions and it rly makes me sad cuz i knew the exam was hard and I studied rlly hard for it
I skipped school for the evening cuz that exam took all the energy from me , so I worked a bit on the project i have tested adding more inputs by pressing a button while holding an other one and i ended up liking it so much i have replaced all hold inputs into a hold + button press btw i think i didn’t rlly introduce the piano like weird aluminum board that i have , it’s basically the corps of an old ambitious project that failed i wanted to make a midi keyboard since all pianos where expensive but it was very unstable so i scrapped it , that’s out of the way i also make the UI look better by adding hard coded bitmaps of ICONS also made it show the current action you are doing after keypresses , it’s rlly close to being finished I just need to make it read the correct time and send the keystrokes to the computer , i have thought of doing it over serial and making a simple python script that read the serial input from the esp and does the correct actions accordingly i know it’s possible because it was the way of communication between my computer and the old MIDI diy keyboard, also it’s prb better since it means if i want to change the keystrokes i don’t need to reflash the esp i can just change the python code and for the time i will have the pc send the current time when connected and then use the internal esp clock with maybe some verification code every 5 minutes to insure accuracy
I think that’s all i have to say ik this project started fun and slowly became depressing as i lost passion but summer is close so hopefully i don’t die by then

and as always we all love lain , at least i still do i guess lain

0
weeewwwwwwww

Devlog #6:
This one is gonna be short, last few days got some free time so worked on the project, didn’t add much to be honest , just tried reworking some systems like the touch detection but failed so returned them to the original code, also tried to improve the GUI but it’s very hard to try on making a smooth functional one for a monochrome 0.96inch display
I just wanted to get over with the project since basically the next 4 weeks are gonna be fully finals and touching the computer will become a rare occurrence i am genuinely failing miserably my academics i need to focus on them more
Srry if this feels depressing :/ but cuz life is rlly depressing rn i am gonna mis the winter :’(
Don’t worry twin tho hard times can only bring better times happy

**AND AS ALWAYSS WE ALL LOVE LAIN lain **

Attachment
0
weeewwwwwwww

Devlog #5:
Aaahjh I have genuinely forgor how I used to make these
Soo Mr viewer to your context even tho this might seem like an other devlog logging 2 hours of work , the last devlog was lowkey a month ago
Ye soo life got rlly in the way I didn’t have time for the project , I did an other one in the meantime and got to know how stuff work here better and got my first cookie payment :)) but it was disappointing:((
Ok life aside what’s neew
Based on the videos there might seems not much progress but THAT CANNOT BE FARTHER THEN THR TRUTH, I have completely reworked and changed the logic of this thing, before I was just writing nonsense adding stuff on top of each other hoping for a finished product now I have a complete vision and plan heck I even made a mardown for it (by me I mean I just typed random nonsense to Gemini and it gave me this)

1. Hardware Configuration (ESP32)

  • Inputs: 3 Touch Buttons (each supporting ‘Press’ and ‘Hold’ actions).

  • Outputs:

    • OLED Display: Reserved for visual feedback/icons like coding/study/movie status.
    • 7-Segment Display:
      Shows current time (default) Blinks 3 times upon receiving a notification from the PC; used for Pomodoro countdown.
  • Communication: Serial USB (acting as a keyboard/media controller).

2. Global Logic

  • Default State: Display current time.
  • Notification Handling: Listen for a signal from the PC notification daemon. When triggered, blink the 7-segment display 3 times.
  • Mode Switching: Hold Button 1 is the global reserved input to cycle through workflows (Coding -> Study -> Movies).

3. Workflow Mappings

A. Coding Workflow

Triggered on entry: (PC Script Execution)

Input Action Function Button 1 (Press) Key: Win + S Open Spotify App Button 1 (Hold) Global Change Workflow Button 2 (Press) Media: Play/Pause Play/Pause Music Button 2 (Hold) Media: Previous Previous Song Button 3 (Press) Key: Debugger Run/Debug Code Button 3 (Hold) Media: Next Next Song

B. Study Workflow

Triggered on entry: Start 25min Pomodoro, Open Browser Tab 3, Open Spotify.

Input Action Function Button 1 (Press) Key: Win + S Open Spotify App Button 1 (Hold) Global Change Workflow Button 2 (Press) Timer Control Stop/Pause Pomodoro Timer Button 2 (Hold) Media: Previous Previous Song Button 3 (Press) Media: Play/Pause Play/Pause Music Button 3 (Hold) Media: Next Next Song

Pomodoro Logic:

  1. Start 25-minute timer.
  2. Upon completion: Start 5-minute break timer.
  3. Upon break completion: Loop back to 25-minute timer.

C. Movies Workflow

Triggered on entry: Initial Macro (Fullscreen/App Launch).

Input Action Function Button 1 (Press) Key: Right Arrow Skip Forward 10s Button 1 (Hold) Global Change Workflow Button 2 (Press) Media: Play/Pause Play/Pause Video Button 2 (Hold) Media: Previous Previous Video Button 3 (Press) Key: Left Arrow Skip Backward 10s Button 3 (Hold) Media: Next Next Video

This can give you a better understanding of my vision , I have started implementing it on the esp but I think probably the next devlog is gonna be a month later since next week I got rlly important exams
Soo as always
WE ALL LOVE LAIN :lain:
Goodbyee <3

0
weeewwwwwwww

Devlog #4:
The wiring is completed and correct i am working on the logic and software side now and it’s more complicated than i thought , i mean i am a software guy i do have experience coding for lots of projects but in this one every time i feel like i got the whole logic i get the idea of a new cool feature to add but since the I/O is limited i need to modify everything it fit it , ik that i must start going or i will never complete but it feels missing something i can’t tell yet what it is but ikk that it exists
i started working on the base parts that ik will not change like the pomodoro functionality and modes
btw bonus: cool arch setup

WE ALL LOVE LAIN lain

0
weeewwwwwwww

Devlog #3:
oohhh boyy , where can i start today is the first day of the winter holidays so there is a lotttt that happened since last time i finallyyyy got the wiring to workk anddddd also added the touch pins functionality so now it’s just adding some software so it integrates with my pc , it looks cool af (it’s basically 2 breadboards with half of the 4 digit display ports bent so they fit the 2nds board , and the display on top flipped ) you may ask why not ddo it all on a single breadboard and to that i sayy cuz why not ? no but to be fr it’s because of space since the segment displaytakes both rows of the breadboard so if i want to add te oled display it must be on the side and the esp whould have no space to go
also there are some honorable mentions to the updates theyt aren’t related to the project but i think they are cool :) now i have a working casette deck which i used last night to record lots of boootleg casettes of albums i like andd i am installing macOS vm so i can work on ios apps for a future project >;D

Attachment
0
weeewwwwwwww

Ummm Devlog 2# ?
tbh it looks like i made a lot of progress but when i think about it i haven’t done anything new actually it might be considered a downgrade since now the segment display don’t even work, i have tried to make it work with the 8x8 which involved a lot of overengineering i have tried MULTIPLEXING?? idk what it’s called but it’s basically i am sharing pins between the two displays in a very specific layout so that i can make pins that are HIGH and LOW at the same tile connected which wasn’t ideal cuz even which all optimizations it left me with either only being able to use 8x4 of the display or having only 2 pins left for buttons and other stuff, but when i was going to start wiring for it i searched my box for some resistors since this method required 8 instead of the previous only 4 , i found a 0.96 oled display that i have completely forgotten about and is perfect for this setup yes it’s smaller but it got like 4 times more resolution and also only required 2 pins and i started setting it but it seems that the 7 segment after redoing the wiring since i needed to switch breadboards is absolutely cooked it doesn’t work properly anymore and even when it does it’s very unstable to be realistic ik that’s probably because i bent the jumper wires so it looks prettier but even when i bent them back it seems like the setup is very crammed which is a shame since now i either try to find a way to better route the wires or give up the cook look i was aiming for
BUT that’s an issue for an other day since now i am tired and want to sleep

Attachment
0
weeewwwwwwww

Devlog #1:
I got the segment display to work since it’s new to me i wanted to be finished with it first , and now I’ve just realized that my current setup might not be possible i have already used like half the pins on the esp and this is meant to be the not too pin intensive task, if i want to continue i might need to remove one of the displays :/ , plus i only have 10 resistors so it’s even more challenging
i have thought of using the pins strategically by combining pins that will be in HIGH and LOW state in the same time but that needs full understanding of what to display and when and it won’t probably save that much pins
I need a different approach

Attachment
0
weeewwwwwwww

Devlog #0:
Sooo how do i plan on achieving this, well idk either :)
I do have a general knwoledge of how everything will work , so for the buttons they are gonna be aluminum foil pads put under the desk connected to touch sensitive pins, i don’t know if they are able to change capacitance even over the wood
the display are bare bare displays without any drivers n, i do know how they work especially the 8x8 one since i worked on other projects with it my only issue with them that i only have 10 total resistors and they both need a total of 14 i did think of something like PWM that flicks between the dispalys very rapidly but the 8x8 already have something like this so it will dim the light even more
Regarding the brain it’s gonna be an ESP32 since it have more an enough pins and brain power to get this going without issues

Attachment
0