|
67658
|
My awesome macropad! by @yuralakatosh25 | Stardanc My awesome macropad! by @yuralakatosh25 | Stardance...
|
yuralakatosh25
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @yuralakatosh25 | S Title: My awesome macropad! by @yuralakatosh25 | Stardance...
|
1793112752.424852
|
1793717552.424852
|
|
67659
|
The greatest alarm clock to ever live! by @shyamks The greatest alarm clock to ever live! by @shyamks1828 | Stardance...
|
shyamks1828
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: The greatest alarm clock to ever live! by @ Title: The greatest alarm clock to ever live! by @shyamks1828 | Stardance...
|
1793112754.222756
|
1793717554.222756
|
|
67660
|
elepahant alarm clock by @aadhii | Stardance
|
aadhii
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: elepahant alarm clock by @aadhii | Stardanc Title: elepahant alarm clock by @aadhii | Stardance...
|
1793112755.1540656
|
1793717555.1540656
|
|
67661
|
astro botany by @ibuild | Stardance
|
ibuild
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: astro botany by @ibuild | Stardance
|
1793112756.9281964
|
1793717556.9281964
|
|
67662
|
Macropad by @Pilot_572 | Stardance
|
Pilot_572
|
0
|
5.35
|
0
|
[]
|
[{"post_id": 76785, "ts": "202 [{"post_id": 76785, "ts": "2026-10-04T15:49:41Z", "hours": 3.6092, "text": "THE 3D MODEL IS DONEEE. This took… not too long actually, 2 days to finish the PCB, 3D model AND the firmware, im too good. I will submit it, let’s hope for the best!"}, {"post_id": 76650, "ts": "2026-10-04T08:11:56Z", "hours": 1.7381, "text": "Macropad! Yesterday I finished the pcb and everything, now imma go onto 3d modeling."}]...
|
Title: Macropad by @Pilot_572 | Stardance
Devlogs Title: Macropad by @Pilot_572 | Stardance
Devlogs:
Macropad! Yesterday I finished the pcb and everything, now imma go onto 3d modeling.
THE 3D MODEL IS DONEEE. This took… not too long actually, 2 days to finish the PCB, 3D model AND the firmware, im too good. I will submit it, let’s hope for the best!...
|
1793112758.9145472
|
1793717558.9145472
|
|
67663
|
Converter by @Midhunesh | Stardance
|
Midhunesh
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Converter by @Midhunesh | Stardance
|
1793112760.8122945
|
1793717560.8122945
|
|
67664
|
Virtual brain Ai by @zndrnx | Stardance
|
zndrnx
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Virtual brain Ai by @zndrnx | Stardance
|
1793112762.9336445
|
1793717562.9336445
|
|
67665
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1792871367.9200208
|
1793735367.9200208
|
|
67666
|
Alarm clock by @nikolopoulosmaximos3 | Stardance
|
nikolopoulosmaximos3
|
0
|
4.33
|
0
|
[]
|
[{"post_id": 76545, "ts": "202 [{"post_id": 76545, "ts": "2026-10-03T22:05:01Z", "hours": 0.3592, "text": "Finishing up the CAD, Exporting eveyrthing to one file, Creating the GitHub repository."}, {"post_id": 76421, "ts": "2026-10-03T14:12:03Z", "hours": 3.9736, "text": "First project: I just worked with KiCad to design a SImple PCB, follwed by designing a custom shell for the alarm. Next is to write the code for the ESP32 inside the alarm."}]...
|
Title: Alarm clock by @nikolopoulosmaximos3 | Star Title: Alarm clock by @nikolopoulosmaximos3 | Stardance
Devlogs:
First project: I just worked with KiCad to design a SImple PCB, follwed by designing a custom shell for the alarm. Next is to write the code for the ESP32 inside the alarm.
Finishing up the CAD, Exporting eveyrthing to one file, Creating the GitHub repository....
|
1793112764.6751685
|
1793717564.6751685
|
|
67667
|
live-stop by @pwohlfahrt | Stardance
|
pwohlfahrt
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: live-stop by @pwohlfahrt | Stardance
|
1793112766.7068121
|
1793717566.7068121
|
|
67668
|
Stress reliever neckband by @SumukhAgastipurkar | Stress reliever neckband by @SumukhAgastipurkar | Stardance...
|
SumukhAgastipurkar
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Stress reliever neckband by @SumukhAgastipu Title: Stress reliever neckband by @SumukhAgastipurkar | Stardance...
|
1793112767.5650654
|
1793717567.5650654
|
|
67669
|
Weendoes OS by @Lizardy | Stardance
|
Lizardy
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Weendoes OS by @Lizardy | Stardance
|
1793112769.616647
|
1793717569.616647
|
|
67670
|
JARVIS THE BOT by @AIBEL_BAIJU | Stardance
|
AIBEL_BAIJU
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: JARVIS THE BOT by @AIBEL_BAIJU | Stardance
|
1793112772.696414
|
1793717572.696414
|
|
67671
|
BLARE by @frinkluko | Stardance
|
frinkluko
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: BLARE by @frinkluko | Stardance
|
1793112774.802515
|
1793717574.802515
|
|
67672
|
My very own WebOS by @matyaschudy510 | Stardance
|
matyaschudy510
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My very own WebOS by @matyaschudy510 | Star Title: My very own WebOS by @matyaschudy510 | Stardance...
|
1793112780.469641
|
1793717580.469641
|
|
67673
|
Special car for engineering student by @Jaiditya | Special car for engineering student by @Jaiditya | Stardance...
|
Jaiditya
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Special car for engineering student by @Jai Title: Special car for engineering student by @Jaiditya | Stardance...
|
1793112782.590994
|
1793717582.590994
|
|
67674
|
My very own WebOS by @aaryanhm | Stardance
|
aaryanhm
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My very own WebOS by @aaryanhm | Stardance
|
1793112784.371472
|
1793717584.371472
|
|
67675
|
A advanced Astronomy and Astrophotography rig by @ A advanced Astronomy and Astrophotography rig by @Shaik_Nissar_Hussain | Stardance...
|
Shaik_Nissar_Hussain
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: A advanced Astronomy and Astrophotography r Title: A advanced Astronomy and Astrophotography rig by @Shaik_Nissar_Hussain | Stardance...
|
1793112785.2284968
|
1793717585.2284968
|
|
67676
|
hackpadd by @cseprenyi | Stardance
|
cseprenyi
|
0
|
1.65
|
0
|
[]
|
[{"post_id": 76397, "ts": "202 [{"post_id": 76397, "ts": "2026-10-03T12:52:40Z", "hours": 0.3142, "text": "have a repo now"}, {"post_id": 76396, "ts": "2026-10-03T12:28:45Z", "hours": 0.8731, "text": "Made a case for it using FreeCAD. took longer than expected honestly, mostly because i haven’t used FreeCAD in a while, and never actually finished anything with it since i don’t have a 3D printer yet"}, {"post_id": 76386, "ts": "2026-10-03T11:34:28Z", "hours": 0.4581, "text": "Done with the KiCad part, now for the case!"}]...
|
Title: hackpadd by @cseprenyi | Stardance
Devlogs Title: hackpadd by @cseprenyi | Stardance
Devlogs:
Done with the KiCad part, now for the case!
Made a case for it using FreeCAD. took longer than expected honestly, mostly because i haven’t used FreeCAD in a while, and never actually finished anything with it since i don’t have a 3D printer yet
have a repo now...
|
1793112787.0081756
|
1793717587.0081756
|
|
67677
|
My awesome macropad! by @noelbode | Stardance
|
noelbode
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @noelbode | Stardan Title: My awesome macropad! by @noelbode | Stardance...
|
1793112789.1015282
|
1793717589.1015282
|
|
67678
|
Blare alarm by @DTFive | Stardance
|
DTFive
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Blare alarm by @DTFive | Stardance
|
1792468197.0004814
|
1793332197.0004814
|
|
67679
|
My awesome macropad! by @Sundhar | Stardance
|
Sundhar
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @Sundhar | Stardanc Title: My awesome macropad! by @Sundhar | Stardance...
|
1793112791.5938478
|
1793717591.5938478
|
|
67680
|
Chopsticks by @wldd | Stardance
|
wldd
|
0
|
2.56
|
0
|
[]
|
[{"post_id": 77644, "ts": "202 [{"post_id": 77644, "ts": "2026-10-07T18:42:38Z", "hours": 1.0525, "text": "done some more work on the minimax algorithm. might improve it more in the future."}, {"post_id": 77291, "ts": "2026-10-06T13:36:52Z", "hours": 1.5094, "text": "been working on the minimax algorithm. seems to be working better now, but i need to optimize it a bit more"}]...
|
Title: Chopsticks by @wldd | Stardance
Devlogs:
b Title: Chopsticks by @wldd | Stardance
Devlogs:
been working on the minimax algorithm. seems to be working better now, but i need to optimize it a bit more
done some more work on the minimax algorithm. might improve it more in the future....
|
1793112793.383531
|
1793717593.383531
|
|
67681
|
My first slack bot! by @mohammedaleem1323 | Starda My first slack bot! by @mohammedaleem1323 | Stardance...
|
mohammedaleem1323
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @mohammedaleem1323 | Title: My first slack bot! by @mohammedaleem1323 | Stardance...
|
1793112795.1718283
|
1793717595.1718283
|
|
67682
|
Han's website :> by @hann | Stardance
|
hann
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Han's website :> by @hann | Stardanc Title: Han's website :> by @hann | Stardance...
|
1793112796.0315335
|
1793717596.0315335
|
|
67683
|
game by @frinkluko | Stardance
|
frinkluko
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: game by @frinkluko | Stardance
|
1793112796.9391956
|
1793717596.9391956
|
|
67684
|
My very own WebOS by @Arman2012 | Stardance
|
Arman2012
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My very own WebOS by @Arman2012 | Stardance
|
1793112797.8097548
|
1793717597.8097548
|
|
67685
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1792871368.7463975
|
1793735368.7463975
|
|
67686
|
riggermortis by @xenoaitham | Stardance
|
xenoaitham
|
0
|
18.81
|
0
|
[]
|
[{"post_id": 76925, "ts": "202 [{"post_id": 76925, "ts": "2026-10-05T03:12:20Z", "hours": 10.9147, "text": "the sculpt wires into the product flow The proportion and volume sculpting work was measured and gated, but had no real user-facing path yet. That debt got paid: a new command line tool measures a reference image’s proportions and volume ratios into one deterministic file, and both the manual tool and the interactive in-app action now call the same shared function underneath, so they can’t quietly drift apart. The real proof was ordering: sculpt once at rest pose, then animate, and the sculpt has to survive byte-identically. It does, frame-one drift came out effectively zero across seventy checks. Three real bugs earned their keep. First, two test rigs sharing one scene made solved values look wrong, the real cause was one fixture already carrying an earlier sculpt while the other’s baseline measurement accidentally captured the overlapping shape of both figures at once. Took a full debugging ladder to isolate, fixed with a clean scene per case, a lesson the project had already learned once before, now learned twice. Second, baking an animation shifts frame numbers by one internally, so comparing a frame against its own neighbor instead of itself made results look dramatically worse than they actually were. A one-line offset fix, with the reasoning written directly into the check itself this time so it can’t get silently lost again. Third, comparing raw bone positions across an animated sequence turned out to be the wrong check entirely, since a position-based re-solve is supposed to compensate for the current pose’s rotation by design, not match it exactly. Redefined what the check actually verifies, and caught a related bug along the way: an assigned animation silently overrides a rest-pose snapshot unless that animation gets explicitly muted first. Landed with fifteen new tests, the full suite green, and every number comfortably inside its bar except one, a single rig type’s re-sculpt accuracy sits just barely over target, left as the next rough edge."}, {"post_id": 76391, "ts": "2026-10-03T11:46:33Z", "hours": 7.8906, "text": "volume from silhouette The third model decision is made and the volume feature is real. The engine now carries a third pinned model, a segmentation pass, plus a working body sculpt: feed it a reference shape and the character’s hip, waist, chest, and thigh widths move to match it, skeleton provably untouched. Getting there meant benchmarking five real candidate models on real hardware, checksums, speed, and accuracy each, rejecting six other families with the evidence written down. Funniest catch: the model built specifically for segmenting people was completely blind to the test case, zero accuracy, while the general-purpose model saw it fine and ran cheaper too. The mechanism authors real shape keys per body region, so the adjustable sliders are the solved math directly, and every pose/animation path downstream sees a completely unchanged skeleton. The real fight was realizing the first passing test was a lie. A whole-frame comparison technically passed on a completely unsculpted body, since the measurement was too insensitive to tell a correctly sculpted shape from an untouched one. Fixed by scoping comparisons to the actual body regions with no model in the loop, publishing a baseline next to every result so a cheating pass can’t hide again. Smaller lessons banked too: a slider silently defaulting to zero killed half its usable range, one rig type needed its math in a different coordinate space entirely or it silently did nothing, leftover scene state poisoned later measurements, and naive bone-weight assignment broke the hip region specifically. Numbers came out solid: worst-case regional accuracy clears the bar across every test case, width delivery lands exact to four decimal places, solved values track intended targets within about 3% through the real model, and resetting a sculpt restores the original mesh almost exactly. Next: wire both sculpts into the real user-facing flow, and prove the sculpt survives animation, set once, then animate, and the widths hold."}]...
|
Title: riggermortis by @xenoaitham | Stardance
De Title: riggermortis by @xenoaitham | Stardance
Devlogs:
volume from silhouette The third model decision is made and the volume feature is real. The engine now carries a third pinned model, a segmentation pass, plus a working body sculpt: feed it a reference shape and the character’s hip, waist, chest, and thigh widths move to match it, skeleton provably untouched. Getting there meant benchmarking five real candidate models on real hardware, checksums, speed, and accuracy each, rejecting six other families with the evidence written down. Funniest catch: the model built specifically for segmenting people was completely blind to the test case, zero accuracy, while the general-purpose model saw it fine and ran cheaper too. The mechanism authors real shape keys per body region, so the adjustable sliders are the solved math directly, and every pose/animation path downstream sees a completely unchanged skeleton. The real fight was realizing the first passing test was a lie. A whole-frame comparison technically passed on a completely unsculpted body, since the measurement was too insensitive to tell a correctly sculpted shape from an untouched one. Fixed by scoping comparisons to the actual body regions with no model in the loop, publishing a baseline next to every result so a cheating pass can’t hide again. Smaller lessons banked too: a slider silently defaulting to zero killed half its usable range, one rig type needed its math in a different coordinate space entirely or it silently did nothing, leftover scene state poisoned later measurements, and naive bone-weight assignment broke the hip region specifically. Numbers came out solid: worst-case regional accuracy clears the bar across every test case, width delivery lands exact to four decimal places, solved values track intended targets within about 3% through the real model, and resetting a sculpt restores the original mesh almost exactly. Next: wire both sculpts into the real user-facing flow, and prove the sculpt survives animation, set once, then animate, and the widths hold.
the sculpt wires into the product flow The proportion and volume sculpting work was measured and gated, but had no real user-facing path yet. That debt got paid: a new command line tool measures a reference image’s proportions and volume ratios into one deterministic file, and both the manual tool and the interactive in-app action now call the same shared function underneath, so they can’t quietly drift apart. The real proof was ordering: sculpt once at rest pose, then animate, and the sculpt has to survive byte-identically. It does, frame-one drift came out effectively zero across seventy checks. Three real bugs earned their keep. First, two test rigs sharing one scene made solved values look wrong, the real cause was one fixture already carrying an earlier sculpt while the other’s baseline measurement accidentally captured the overlapping shape of both figures at once. Took a full debugging ladder to isolate, fixed with a clean scene per case, a lesson the project had already learned once before, now learned twice. Second, baking an animation shifts frame numbers by one internally, so comparing a frame against its own neighbor instead of itself made results look dramatically worse than they actually were. A one-line offset fix, with the reasoning written directly into the check itself this time so it can’t get silently lost again. Third, comparing raw bone positions across an animated sequence turned out to be the wrong check entirely, since a position-based re-solve is supposed to compensate for the current pose’s rotation by design, not match it exactly. Redefined what the check actually verifies, and caught a related bug along the way: an assigned animation silently overrides a rest-pose snapshot unless that animation gets explicitly muted first. Landed with fifteen new tests, the full suite green, and every number comfortably inside its bar except one, a single rig type’s re-sculpt accuracy sits just barely over target, left as the next rough edge....
|
1792468202.9250567
|
1793332202.9250567
|
|
67687
|
My own site! by @ananzeh | Stardance
|
ananzeh
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My own site! by @ananzeh | Stardance
|
1793112799.5500736
|
1793717599.5500736
|
|
67688
|
Desktop Dog by @klemens | Stardance
|
klemens
|
0
|
10.11
|
0
|
[]
|
[{"post_id": 82676, "ts": "202 [{"post_id": 82676, "ts": "2026-10-25T15:39:19Z", "hours": 4.8364, "text": "So, I haven´t posted a devlog in a while but I have been working quite much on desktop Dog. The only problem I switched computers with my brother and while downloading all the saved an backed up files I noticed that my Desktop Dog File was empty… So Now I’ll have to start over. But that´s ok… I thought of some new things I want to include. My current ideas are: A vending-machine for treats, A doggy house and the ideas I had before. I hope to be able to update you at the end of the day!! PS: The file is called “Don Corleone” as I first wanted to make a Vito Don Corleone (from the Godfather) for your desktop but then discovered that art is definitly not my strong suit."}, {"post_id": 76752, "ts": "2026-10-04T14:21:13Z", "hours": 0.7403, "text": "Ok, so I reviewed my Design again today and I pretty much realised that art is definitely not my strong suit… I now searched for a sprit sheet to download and decided on this Dog Set, I wanted to have a business man but finding one was pretty much impossible - So I had to switch to a dog but that´s ok!!"}, {"post_id": 76569, "ts": "2026-10-04T00:21:46Z", "hours": 4.5336, "text": "Today, I started the playground project! I decided to make a mini Mafia Boss to walk around my desktop. I did not do much besides setting up gotdot and drawing the pat. But that alone was very exhausting… (I know i am not the most talented artist, but fair enough I think)"}]...
|
Title: Desktop Dog by @klemens | Stardance
Devlog Title: Desktop Dog by @klemens | Stardance
Devlogs:
Today, I started the playground project! I decided to make a mini Mafia Boss to walk around my desktop. I did not do much besides setting up gotdot and drawing the pat. But that alone was very exhausting… (I know i am not the most talented artist, but fair enough I think)
Ok, so I reviewed my Design again today and I pretty much realised that art is definitely not my strong suit… I now searched for a sprit sheet to download and decided on this Dog Set, I wanted to have a business man but finding one was pretty much impossible - So I had to switch to a dog but that´s ok!!
So, I haven´t posted a devlog in a while but I have been working quite much on desktop Dog. The only problem I switched computers with my brother and while downloading all the saved an backed up files I noticed that my Desktop Dog File was empty… So Now I’ll have to start over. But that´s ok… I thought of some new things I want to include. My current ideas are: A vending-machine for treats, A doggy house and the ideas I had before. I hope to be able to update you at the end of the day!! PS: The file is called “Don Corleone” as I first wanted to make a Vito Don Corleone (from the Godfather) for your desktop but then discovered that art is definitly not my strong suit....
|
1793112801.783412
|
1793717601.783412
|
|
67689
|
Frictionless by @Evanthecat | Stardance
|
Evanthecat
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Frictionless by @Evanthecat | Stardance
|
1793112804.1518893
|
1793717604.1518893
|
|
67690
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1792871369.5690646
|
1793735369.5690646
|
|
67691
|
My very own WebOS by @YAWR | Stardance
|
YAWR
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My very own WebOS by @YAWR | Stardance
|
1793112806.1643233
|
1793717606.1643233
|
|
67692
|
My awesome macropad! by @Ananya303 | Stardance
|
Ananya303
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @Ananya303 | Starda Title: My awesome macropad! by @Ananya303 | Stardance...
|
1793112808.216588
|
1793717608.216588
|
|
67693
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1792871370.3832197
|
1793735370.3832197
|
|
67694
|
My awesome macropad! by @parasitegami | Stardance
|
parasitegami
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @parasitegami | Sta Title: My awesome macropad! by @parasitegami | Stardance...
|
1793112809.131745
|
1793717609.131745
|
|
67695
|
ESPvision by @omarelhalaby76 | Stardance
|
omarelhalaby76
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: ESPvision by @omarelhalaby76 | Stardance
|
1793112812.8323157
|
1793717612.8323157
|
|
67696
|
ESPvision by @omarelhalaby76 | Stardance
|
omarelhalaby76
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: ESPvision by @omarelhalaby76 | Stardance
|
1793112814.6420646
|
1793717614.6420646
|
|
67697
|
My awesome macropad! by @UncleGreg | Stardance
|
UncleGreg
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @UncleGreg | Starda Title: My awesome macropad! by @UncleGreg | Stardance...
|
1793112817.3378024
|
1793717617.3378024
|
|
67698
|
Mini Dance-Dance-Revolution by @Evanthecat | Stard Mini Dance-Dance-Revolution by @Evanthecat | Stardance...
|
Evanthecat
|
0
|
21.54
|
0
|
[]
|
[{"post_id": 82120, "ts": "202 [{"post_id": 82120, "ts": "2026-10-24T00:18:26Z", "hours": 2.7589, "text": "Added screw holes to CAD, added better animations to firmware, and updated production files. I added holes to the HackPad case to fit the heatset inserts and modeled a simple placeholder part to act as a heatset insert in my CAD (to fix the problem of the screws being too short). I also added fillets to some edges and removed the holes on the cover plate (the plate would be held to the case by the heatset inserts). Since I wanted the OLED to be responsive to key presses, I decided to redesign the firmware to have each key fill in when pressed. To do this, I separated each sprite into individual animations and drew each animation separately on the screen by moving the origin, checking key presses to display different key animations."}, {"post_id": 80847, "ts": "2026-10-19T00:27:01Z", "hours": 4.4925, "text": "Made animation for OLED and finished firmware. After creating a simple sprite animation in Krita and writing the QMK firmware (it took me hours to realize that the pin labels were GPIO numbers and match everything), my keymap.c file somehow deleted itself, skipping past the recycling bin, so I had to code it twice. I also stayed up until 11:30pm and used the next morning to debug the various causes of compiler errors. Many of them were just typos like missing a comma or forgetting a semicolon after an enum, but I had to just test which function actually worked for layer switching because all the others gave the error “this statement is not necessary” somewhere in the QMK code. As I was working on the GitHub repository, I realized that the screws were too short to go through my entire case, so I’ll have to redesign it next time."}, {"post_id": 79455, "ts": "2026-10-14T03:06:22Z", "hours": 1.2028, "text": "Rewired part of PCB and worked on firmware. While looking at XIAO RP2040 diagrams, I realized that the SDA and SCL pins were not connected to the right spot. I swapped the connections for those pins and row 0 and row 1. I swapped out the switches in my CAD for the .STEP files in the official resources and spent some time defining the pins in the firmware."}, {"post_id": 79391, "ts": "2026-10-13T19:45:52Z", "hours": 3.3419, "text": "Realigned components on the PCB and finished most of the CAD. While trying to align the switches on the PCB to the grid, I realized that the footprints were snapping to weird increments. Eventually, I decided to use the position values in the sidebar to manually set the x and y coordinates of the switches. I also moved the XIAO RP2040 to the right and the diodes further down for more room in the CAD. After finishing the cover plate, I modeled a simple knob for the rotary encoder."}, {"post_id": 78911, "ts": "2026-10-12T00:45:25Z", "hours": 2.4681, "text": "Fixed small measurement errors, realigned the components, and worked on the cover piece. While I was working on the cover piece, I noticed a small piece sticking out, a sign of a slightly mismatched measurement. It turns out that most of my plates had small measurement errors (from slightly unconstrainted rectangles made while shortening one of the sides). While realigning my components, I learned that my PCB model had misplaced holes, which meant that I couldn’t trust it for measurements. I also lowered my rotary encoder so it wouldn’t clip into the top panel."}, {"post_id": 78501, "ts": "2026-10-11T00:19:59Z", "hours": 2.1903, "text": "Aligned keycaps/OLED and edited case to better fit components. After working on the top plate for a while, I realized that a lot of my parts were clipping (e.g. diodes and microcontroller), so I cut away parts of the plate to make things fit. I improved my method for aligning components after having the align the keycaps on the switches (I spent a long time trying to align the original keycap to the origin before just calculating the displacement to where I needed it to be). After putting on the top plate, I raised part of the bottom plate to make a cutout for the USB-A port and raised the OLED screen. I also started working on the decorative top plate that’ll go onto top of everything."}, {"post_id": 78210, "ts": "2026-10-09T23:38:37Z", "hours": 5.0825, "text": "Created PCB and started work on assembling in CAD. I had to scale down the amount of keys and remove the LEDs because there weren’t enough pins. I spent way too long searching for OLED and Rotary Encoder symbols while making the schematic before I realized that they just need the footprints paired with generic symbols from the default library. While routing the PCB, I learned that the red and blue wires are for different layers and assigned footprints to the diodes so they would show up (I forgot to do that while working on the schematic). After aligning most of the parts in Fusion, I realized that one of the switches and the rotary encoder were overlapping and that I could just export the PCB as a .step file from KiCad."}]...
|
Title: Mini Dance-Dance-Revolution by @Evanthecat Title: Mini Dance-Dance-Revolution by @Evanthecat | Stardance
Devlogs:
Created PCB and started work on assembling in CAD. I had to scale down the amount of keys and remove the LEDs because there weren’t enough pins. I spent way too long searching for OLED and Rotary Encoder symbols while making the schematic before I realized that they just need the footprints paired with generic symbols from the default library. While routing the PCB, I learned that the red and blue wires are for different layers and assigned footprints to the diodes so they would show up (I forgot to do that while working on the schematic). After aligning most of the parts in Fusion, I realized that one of the switches and the rotary encoder were overlapping and that I could just export the PCB as a .step file from KiCad.
Aligned keycaps/OLED and edited case to better fit components. After working on the top plate for a while, I realized that a lot of my parts were clipping (e.g. diodes and microcontroller), so I cut away parts of the plate to make things fit. I improved my method for aligning components after having the align the keycaps on the switches (I spent a long time trying to align the original keycap to the origin before just calculating the displacement to where I needed it to be). After putting on the top plate, I raised part of the bottom plate to make a cutout for the USB-A port and raised the OLED screen. I also started working on the decorative top plate that’ll go onto top of everything.
Fixed small measurement errors, realigned the components, and worked on the cover piece. While I was working on the cover piece, I noticed a small piece sticking out, a sign of a slightly mismatched measurement. It turns out that most of my plates had small measurement errors (from slightly unconstrainted rectangles made while shortening one of the sides). While realigning my components, I learned that my PCB model had misplaced holes, which meant that I couldn’t trust it for measurements. I also lowered my rotary encoder so it wouldn’t clip into the top panel.
Realigned components on the PCB and finished most of the CAD. While trying to align the switches on the PCB to the grid, I realized that the footprints were snapping to weird increments. Eventually, I decided to use the position values in the sidebar to manually set the x and y coordinates of the switches. I also moved the XIAO RP2040 to the right and the diodes further down for more room in the CAD. After finishing the cover plate, I modeled a simple knob for the rotary encoder.
Rewired part of PCB and worked on firmware. While looking at XIAO RP2040 diagrams, I realized that the SDA and SCL pins were not connected to the right spot. I swapped the connections for those pins and row 0 and row 1. I swapped out the switches in my CAD for the .STEP files in the official resources and spent some time defining the pins in the firmware.
Made animation for OLED and finished firmware. After creating a simple sprite animation in Krita and writing the QMK firmware (it took me hours to realize that the pin labels were GPIO numbers and match everything), my keymap.c file somehow deleted itself, skipping past the recycling bin, so I had to code it twice. I also stayed up until 11:30pm and used the next morning to debug the various causes of compiler errors. Many of them were just typos like missing a comma or forgetting a semicolon after an enum, but I had to just test which function actually worked for layer switching because all the others gave the error “this statement is not necessary” somewhere in the QMK code. As I was working on the GitHub repository, I realized that the screws were too short to go through my entire case, so I’ll have to redesign it next time.
Added screw holes to CAD, added better animations to firmware, and updated production files. I added holes to the HackPad case to fit the heatset inserts and modeled a simple placeholder part to act as a heatset insert in my CAD (to fix the problem of the screws being too short). I also added fillets to some edges and removed the holes on the cover plate (the plate would be held to the case by the heatset inserts). Since I wanted the OLED to be responsive to key presses, I decided to redesign the firmware to have each key fill in when pressed. To do this, I separated each sprite into individual animations and drew each animation separately on the screen by moving the origin, checking key presses to display different key animations....
|
1793112818.2012324
|
1793717618.2012324
|
|
67699
|
WarioWare Game by @lollmao98 | Stardance
|
lollmao98
|
0
|
3.62
|
0
|
[]
|
[{"post_id": 78751, "ts": "202 [{"post_id": 78751, "ts": "2026-10-11T14:22:58Z", "hours": 3.6153, "text": "step 13 so far"}]...
|
Title: WarioWare Game by @lollmao98 | Stardance
D Title: WarioWare Game by @lollmao98 | Stardance
Devlogs:
step 13 so far...
|
1793112821.391038
|
1793717621.391038
|
|
67700
|
skying game by @Davi89 | Stardance
|
Davi89
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: skying game by @Davi89 | Stardance
|
1793112822.298688
|
1793717622.298688
|
|
67701
|
My awesome macropad! by @tanilegehan | Stardance
|
tanilegehan
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @tanilegehan | Star Title: My awesome macropad! by @tanilegehan | Stardance...
|
1793112824.078805
|
1793717624.078805
|
|
67702
|
Cli Based Portfolio by @Sami | Stardance
|
Sami
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Cli Based Portfolio by @Sami | Stardance
|
1793112824.962199
|
1793717624.962199
|
|
67703
|
Robo panda by @ntpro9119 | Stardance
|
ntpro9119
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Robo panda by @ntpro9119 | Stardance
|
1793112826.6959991
|
1793717626.6959991
|
|
67704
|
playground by @seeyon | Stardance
|
seeyon
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: playground by @seeyon | Stardance
|
1793112829.3294628
|
1793717629.3294628
|
|
67705
|
GO TO A WONDERFUL BLOG by @Jazil | Stardance
|
Jazil
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: GO TO A WONDERFUL BLOG by @Jazil | Stardanc Title: GO TO A WONDERFUL BLOG by @Jazil | Stardance...
|
1793112831.3825068
|
1793717631.3825068
|
|
67706
|
WarioWare Game by @TojiEthan | Stardance
|
TojiEthan
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: WarioWare Game by @TojiEthan | Stardance
|
1793112833.134945
|
1793717633.134945
|
|
67707
|
Gross BIling APP by @Dev_Ashwin444 | Stardance
|
Dev_Ashwin444
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Gross BIling APP by @Dev_Ashwin444 | Starda Title: Gross BIling APP by @Dev_Ashwin444 | Stardance...
|
1793112836.1308424
|
1793717636.1308424
|