Blueprint

EtchPad

This is a macro pad with 2 dials for drawling like an etch-n-sketch and 4 switches for controls and other fun macros.

Created by Cubic-Vyper Cubic-Vyper

Hackpad

5 views

0 followers

Cubic-Vyper Cubic-Vyper submitted EtchPad for ship review ago

Cubic-Vyper Cubic-Vyper added to the journal ago

Aassembling The Case

now that I have all my parts printed it's time to assemble

image

first I insert the pcb into the bottem half of the case

image

next I put the top on

image

now I screw it all together

image

Finaly I add the keycaps and the enchoder knobs!

image

now I plug it up

image

Cubic-Vyper Cubic-Vyper added to the journal ago

fixing the top plate

so I went to put my soldered pcb in its case, I didn't plan on there being spacers under the xioa, so now the lid won't fit, if I raise the lid anymore the keys won't work, so I started brain storming and decided to add a slant after the keys so there will be enogh room for the xiao and it still look nice.

so now I start designing, first I made a sketch of where the slant will be

image

now I make another but on the side

image

the big rectangle is me making sure that my enchoder knob will fit (I'll show that later), at first I was gonna do a slant all the way to the edge

image

but instead I did a slant just to the hight I need

image

now I cutout the holes for the parts agin

image

and now the area for the xiao

image

Now that there is more hieght I will need a longer screw, luckily I have a lot of M3 screws so that won't be a problem.

now I design the enchoder knob I mentiond above first I measure the shaft of the enchoder and schetc it

image

next from that scetch I extrude the top

image

then the D-shaft part

image

and then the last part (this covers most of the threads)

image

now I add a chanfer aroung the top

image

then I extrude a grove into the knob

image

and repeat it with pattern

image

now I round the edges of each cutout (I found out that I could do this before the pattern, but not before I hand selected all of those groves 😭)

image

now I add it to my assembled model

image

next I will print these out.

I use cura slicer

image

I want to use ironing on the top layers but not the slant, to do this I will slice it where it irons everything, but have it pause after the lower section of it, next I turn it to only ironing the highest layer, with the same pause. next I open the gcode and I delete evrything after the pause in the first one (my print can't resume after pause so I have to edit gcode to resume as another file).

image

then I edit the first to resume the rest of the gcode with the new setting (I delete the every thing expet the startup code before the pause).

image

now I print

Cubic-Vyper Cubic-Vyper added to the journal ago

Soldering

First before I stared to solder I made larger cutouts on the bottom of the switches using a file and a knife (to let more light from the leds pass through)

image

next I set up my soldering station

image

while soldering I killed 3 led because I was using the wrong tip on my soldering iron, while removing one of those leds, I somehow removed 2 soldering pads for a led, so I grabbed some wire and soldered the led to where it should go.

image

at first I had no idea I had destroed the soldering pads and whent to use it and only the first two would light up, after a bit I finaly found out what I did.

next I shortened the pin headers now that I had soldered them

image

now everything worked

image

exept my previous/play/pause keys in my second layer. I reseted it and now it works? I have no idea how this happened, but if it works it works.

Cubic-Vyper Cubic-Vyper added to the journal ago

Code debuging and flashing code

So I added circuitpython and kmk to my keyboard, when I added my code, I received a few errors. I had to relabel some pins in my code. Then my code corupted and I spent hours trying all kinds of trouble shooting, in the end I had to reset my computer and nuke the Xiao (a few times 🙃). I also had to switch to putting my code in code.py instead of boot.py, the code would run before it's finished setting up.

image

Switches
board.GP1 → board.D7

board.GP2 → board.D8

board.GP4 → board.D9

board.GP3 → board.D10

Encoder 1
board.GP9 → board.D6

board.GP0 → board.D7

board.GP26 → board.A0

Encoder 2
board.GP27 → board.D1

board.GP28 → board.D2

board.GP29 → board.D3

m0.hid m0.hid âš¡ approved EtchPad ago

Great work on this hackpad!

Cubic-Vyper Cubic-Vyper submitted EtchPad for ship review ago

Shadow Shadow requested changes for EtchPad ago

Hey! Could you please include the assembled model as a STEP file! Thanks

Cubic-Vyper Cubic-Vyper submitted EtchPad for ship review ago

Shadow Shadow requested changes for EtchPad ago

Hey! Please listen to previous review and change the footprint of the LEDs , everything else looks good to me!

Cubic-Vyper Cubic-Vyper submitted EtchPad for ship review ago

Shadow Shadow requested changes for EtchPad ago

Hey! I loved the design of your hackpad but could you please include an assembled model of it in the readme!( this includes the case and PCB and if possible other components too ) and you need to change the footprint of the LEDs you are using , you can find the correct ones here. Everything else looks good to me! Great work

Cubic-Vyper Cubic-Vyper submitted EtchPad for ship review ago

Cubic-Vyper Cubic-Vyper started EtchPad ago

2/23/2026 - Code debuging and flashing code

So I added circuitpython and kmk to my keyboard, when I added my code, I received a few errors. I had to relabel some pins in my code. Then my code corupted and I spent hours trying all kinds of trouble shooting, in the end I had to reset my computer and nuke the Xiao (a few times 🙃). I also had to switch to putting my code in code.py instead of boot.py, the code would run before it's finished setting up.

image

Switches
board.GP1 → board.D7

board.GP2 → board.D8

board.GP4 → board.D9

board.GP3 → board.D10

Encoder 1
board.GP9 → board.D6

board.GP0 → board.D7

board.GP26 → board.A0

Encoder 2
board.GP27 → board.D1

board.GP28 → board.D2

board.GP29 → board.D3

3/16/2026 11:28 AM - Soldering

First before I stared to solder I made larger cutouts on the bottom of the switches using a file and a knife (to let more light from the leds pass through)

image

next I set up my soldering station

image

while soldering I killed 3 led because I was using the wrong tip on my soldering iron, while removing one of those leds, I somehow removed 2 soldering pads for a led, so I grabbed some wire and soldered the led to where it should go.

image

at first I had no idea I had destroed the soldering pads and whent to use it and only the first two would light up, after a bit I finaly found out what I did.

next I shortened the pin headers now that I had soldered them

image

now everything worked

image

exept my previous/play/pause keys in my second layer. I reseted it and now it works? I have no idea how this happened, but if it works it works.

3/16/2026 11:33 AM - fixing the top plate

so I went to put my soldered pcb in its case, I didn't plan on there being spacers under the xioa, so now the lid won't fit, if I raise the lid anymore the keys won't work, so I started brain storming and decided to add a slant after the keys so there will be enogh room for the xiao and it still look nice.

so now I start designing, first I made a sketch of where the slant will be

image

now I make another but on the side

image

the big rectangle is me making sure that my enchoder knob will fit (I'll show that later), at first I was gonna do a slant all the way to the edge

image

but instead I did a slant just to the hight I need

image

now I cutout the holes for the parts agin

image

and now the area for the xiao

image

Now that there is more hieght I will need a longer screw, luckily I have a lot of M3 screws so that won't be a problem.

now I design the enchoder knob I mentiond above first I measure the shaft of the enchoder and schetc it

image

next from that scetch I extrude the top

image

then the D-shaft part

image

and then the last part (this covers most of the threads)

image

now I add a chanfer aroung the top

image

then I extrude a grove into the knob

image

and repeat it with pattern

image

now I round the edges of each cutout (I found out that I could do this before the pattern, but not before I hand selected all of those groves 😭)

image

now I add it to my assembled model

image

next I will print these out.

I use cura slicer

image

I want to use ironing on the top layers but not the slant, to do this I will slice it where it irons everything, but have it pause after the lower section of it, next I turn it to only ironing the highest layer, with the same pause. next I open the gcode and I delete evrything after the pause in the first one (my print can't resume after pause so I have to edit gcode to resume as another file).

image

then I edit the first to resume the rest of the gcode with the new setting (I delete the every thing expet the startup code before the pause).

image

now I print

3/16/2026 11:35 AM - Aassembling The Case

now that I have all my parts printed it's time to assemble

image

first I insert the pcb into the bottem half of the case

image

next I put the top on

image

now I screw it all together

image

Finaly I add the keycaps and the enchoder knobs!

image

now I plug it up

image