|
60755
|
My keypad by @rohitdeshatwad | Stardance
|
rohitdeshatwad
|
0
|
6.96
|
0
|
[]
|
[{"post_id": 78663, "ts": "202 [{"post_id": 78663, "ts": "2026-10-11T06:36:28Z", "hours": 1.5975, "text": "almost done"}, {"post_id": 73089, "ts": "2026-09-24T11:13:41Z", "hours": 1.0378, "text": "It Is so Hard but, I am trying"}, {"post_id": 72160, "ts": "2026-09-22T10:42:10Z", "hours": 1.5786, "text": "Now, my case is almost done"}, {"post_id": 70747, "ts": "2026-09-19T18:11:40Z", "hours": 0.6808, "text": "now ,I make case for my keypad"}, {"post_id": 70669, "ts": "2026-09-19T15:48:52Z", "hours": 0.5008, "text": "Yes, finally my connection is done"}, {"post_id": 68101, "ts": "2026-09-14T14:50:57Z", "hours": 0.7803, "text": "Finally, I am Working on my pcb"}, {"post_id": 68013, "ts": "2026-09-14T11:34:06Z", "hours": 0.7844, "text": "Finally, I make schematic diagram"}]...
|
Title: My keypad by @rohitdeshatwad | Stardance
D Title: My keypad by @rohitdeshatwad | Stardance
Devlogs:
Finally, I make schematic diagram
Finally, I am Working on my pcb
Yes, finally my connection is done
now ,I make case for my keypad
Now, my case is almost done
It Is so Hard but, I am trying
almost done...
|
1793037006.6230958
|
1793641806.6230958
|
|
66159
|
Thrust vectoring hack ?? by @shyamks1828 | Stardan Thrust vectoring hack ?? by @shyamks1828 | Stardance...
|
shyamks1828
|
1
|
3.9
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-27T06:02:26Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "hi guyss. so im making a thrust vectoring setup for any diy edf planes. im hoping that the design i finally wind up on can be universal and preferrably use no extra 3 d parts other than the edf. the try project link leads to my lapse vide will update it later with a flow diagram of my works. check out the source to get details of whatever is done till now.–ALSO GUYS MY GOAL IS TO GET BAMBU LABS A1 MINI SO I CAN 3D PRINT THE REQUIRED STUFF AT HOME PLS SUPPORT ME TO YOUR BEST POSSIBLE EXTENT:) (BTWN U AND ME I GOT THE DUCTED FANS FOR 5 DOLLARS AND I HAD TO CYCLE 3KM TO PICK IT UP - U CAN CHANGE THAT:)) ALSO CHCK OUT THE VIDEO IN MY DEVLOG", "repo": "https://github.com/coderrcboy/thrustvectoring", "demo": ""}]...
|
[{"post_id": 78659, "ts": "202 [{"post_id": 78659, "ts": "2026-10-11T06:22:31Z", "hours": 0.3003, "text": "Hi guysss. after some research this is the best design that can be universally used for any edf. the diagram is very simple. i will list materials required on my github repo. i will try to make a 3d printable file also. ik yes i said no need 3d printer but those who have one can also use this low effort. i think with tha this project is a wrap. c ya later"}, {"post_id": 75446, "ts": "2026-09-30T03:50:51Z", "hours": 0.4881, "text": "hello guyss, so the thrust vectoring thing wil be added to a larger physical project im doing. So today i was doing some cfd analysis with respect to that. im using ansys student version for it. thats all for tdy nothing uch to say. tmrw i will post a follow up of the modified 2 axis movement with more rage of motion. and heres a bit of sneekpeak on the cfd:)"}, {"post_id": 75228, "ts": "2026-09-29T15:09:39Z", "hours": 0.8506, "text": "Hiya guyss. so finally saw a tutorial and got an idea as to how to get the two axis movement. but as you can see in the video, it is extremely rigid with low freedom of movement. so next devlog im gonna figure out how to get more freedom of movement. and also attatch the servos and try it out. cudnt do it tdy cos i just wanted to test out axis movement working. and also here the link to the video i saw. its as old as me :) https://youtu.be/iFtUr_BnjEk?si=CrDhz44iGBbtpkKw"}, {"post_id": 74865, "ts": "2026-09-28T14:03:25Z", "hours": 1.2603, "text": "wassupp guyss firstly sorry for the grainy screenshots. they r from my lapse videos. ok so today what i did was firstly i polished up the y axis movement and added a stand of sorts. then i tried x axis movement but didnt work so well cos i tried to use 2 servos to move entire y axis setup platform i also saw the pillars which pivot y axis are not stuck firmly so they move along with the servo. next time im gonna get ice cream sticks and make a gyro-thingy to house the motor so i can make a lighter setup and also easier induvidual axis movement. c ya later"}, {"post_id": 74258, "ts": "2026-09-27T02:43:50Z", "hours": 0.55, "text": "hi guyss. so im making a thrust vectoring setup for any diy edf planes. im hoping that the design i finally wind up on can be universal and preferrably use no extra 3 d parts other than the edf. the try project link leads to my lapse vide will update it later with a flow diagram of my works. check out the source to get details of whatever is done till now."}]...
|
Title: Thrust vectoring hack ?? by @shyamks1828 | Title: Thrust vectoring hack ?? by @shyamks1828 | Stardance
Devlogs:
hi guyss. so im making a thrust vectoring setup for any diy edf planes. im hoping that the design i finally wind up on can be universal and preferrably use no extra 3 d parts other than the edf. the try project link leads to my lapse vide will update it later with a flow diagram of my works. check out the source to get details of whatever is done till now.
wassupp guyss firstly sorry for the grainy screenshots. they r from my lapse videos. ok so today what i did was firstly i polished up the y axis movement and added a stand of sorts. then i tried x axis movement but didnt work so well cos i tried to use 2 servos to move entire y axis setup platform i also saw the pillars which pivot y axis are not stuck firmly so they move along with the servo. next time im gonna get ice cream sticks and make a gyro-thingy to house the motor so i can make a lighter setup and also easier induvidual axis movement. c ya later
Hiya guyss. so finally saw a tutorial and got an idea as to how to get the two axis movement. but as you can see in the video, it is extremely rigid with low freedom of movement. so next devlog im gonna figure out how to get more freedom of movement. and also attatch the servos and try it out. cudnt do it tdy cos i just wanted to test out axis movement working. and also here the link to the video i saw. its as old as me :) https://youtu.be/iFtUr_BnjEk?si=CrDhz44iGBbtpkKw
hello guyss, so the thrust vectoring thing wil be added to a larger physical project im doing. So today i was doing some cfd analysis with respect to that. im using ansys student version for it. thats all for tdy nothing uch to say. tmrw i will post a follow up of the modified 2 axis movement with more rage of motion. and heres a bit of sneekpeak on the cfd:)
Hi guysss. after some research this is the best design that can be universally used for any edf. the diagram is very simple. i will list materials required on my github repo. i will try to make a 3d printable file also. ik yes i said no need 3d printer but those who have one can also use this low effort. i think with tha this project is a wrap. c ya later
Ships:
hi guyss. so im making a thrust vectoring setup for any diy edf planes. im hoping that the design i finally wind up on can be universal and preferrably use no extra 3 d parts other than the edf. the try project link leads to my lapse vide will update it later with a flow diagram of my works. check out the source to get details of whatever is done till now.–ALSO GUYS MY GOAL IS TO GET BAMBU LABS A1 MINI SO I CAN 3D PRINT THE REQUIRED STUFF AT HOME PLS SUPPORT ME TO YOUR BEST POSSIBLE EXTENT:) (BTWN U AND ME I GOT THE DUCTED FANS FOR 5 DOLLARS AND I HAD TO CYCLE 3KM TO PICK IT UP - U CAN CHANGE THAT:)) ALSO CHCK OUT THE VIDEO IN MY DEVLOG...
|
1793216906.6871505
|
1793303306.6871505
|
|
57325
|
High Power Rocket Flight Computer And Groundstatio High Power Rocket Flight Computer And Groundstation by @VihaanK | Stardance...
|
VihaanK
|
0
|
8.33
|
0
|
[]
|
[{"post_id": 78652, "ts": "202 [{"post_id": 78652, "ts": "2026-10-11T05:26:48Z", "hours": 3.4486, "text": "I started the PCB layout for my flight computer"}, {"post_id": 72464, "ts": "2026-09-23T00:58:04Z", "hours": 1.0825, "text": "Fixed Errors"}, {"post_id": 71359, "ts": "2026-09-20T18:04:30Z", "hours": 0.7797, "text": "I finished the schematic for my PCB"}, {"post_id": 71043, "ts": "2026-09-20T07:39:48Z", "hours": 1.3825, "text": "Schematic wiring"}, {"post_id": 66956, "ts": "2026-09-12T22:57:47Z", "hours": 1.64, "text": "I am wiring all the components for my flight computer"}]...
|
Title: High Power Rocket Flight Computer And Groun Title: High Power Rocket Flight Computer And Groundstation by @VihaanK | Stardance
Devlogs:
I am wiring all the components for my flight computer
Schematic wiring
I finished the schematic for my PCB
Fixed Errors
I started the PCB layout for my flight computer...
|
1792702297.2600658
|
1793307097.2600658
|
|
69002
|
Midnight Birb by @blowupthenoobs | Stardance
|
blowupthenoobs
|
1
|
2.0
|
4
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-11T05:46:44Z", "hours": 2.0, "multiplier": 2.32, "payout": 4, "blessing": "neutral", "text": "Just added a tiny bit of sfx and commented out the redbull mode. (Have no idea why it took me so long, lol)", "repo": "https://github.com/Hashikono/midnight-desk-pets", "demo": "https://slloom.itch.io/midnight-desk-pet"}]...
|
[{"post_id": 78649, "ts": "202 [{"post_id": 78649, "ts": "2026-10-11T05:10:07Z", "hours": 1.6019, "text": "Removed the “redbull mode” from the birb and then gave it some sfx"}]...
|
Title: Midnight Birb by @blowupthenoobs | Stardanc Title: Midnight Birb by @blowupthenoobs | Stardance
Devlogs:
Removed the “redbull mode” from the birb and then gave it some sfx
Ships:
Just added a tiny bit of sfx and commented out the redbull mode. (Have no idea why it took me so long, lol)...
|
1793217329.603185
|
1793303729.603185
|
|
69081
|
Catputer AI by @ethandacat | Stardance
|
ethandacat
|
0
|
1.06
|
0
|
[]
|
[{"post_id": 78645, "ts": "202 [{"post_id": 78645, "ts": "2026-10-11T05:02:34Z", "hours": 1.0575, "text": "Added more AI providers, added fun UI for fun ig uhh yeah also you get to see a cat stuffie happi happi happi"}]...
|
Title: Catputer AI by @ethandacat | Stardance
Dev Title: Catputer AI by @ethandacat | Stardance
Devlogs:
Added more AI providers, added fun UI for fun ig uhh yeah also you get to see a cat stuffie happi happi happi...
|
1793130532.346553
|
1793735332.346553
|
|
68916
|
Base Converter by @yoonha | Stardance
|
yoonha
|
0
|
0.73
|
0
|
[]
|
[{"post_id": 78644, "ts": "202 [{"post_id": 78644, "ts": "2026-10-11T05:02:23Z", "hours": 0.7333, "text": "I made the basic structure of the code (detecting whether it’s a valid input, calculating value in base-10 of the input, finding how much that is in the new base, etc.) and am now able to test-run the code. I’d need a lot of debugging work now…"}]...
|
Title: Base Converter by @yoonha | Stardance
Devl Title: Base Converter by @yoonha | Stardance
Devlogs:
I made the basic structure of the code (detecting whether it’s a valid input, calculating value in base-10 of the input, finding how much that is in the new base, etc.) and am now able to test-run the code. I’d need a lot of debugging work now…...
|
1793127169.4732423
|
1793731969.4732423
|
|
16123
|
CPU Visualizer by @Qasim | Stardance
|
Qasim
|
0
|
1.63
|
0
|
[]
|
[{"post_id": 7864, "ts": "2026 [{"post_id": 7864, "ts": "2026-06-13T03:36:46Z", "hours": 1.6294, "text": "Devlog #1 The base of my CPU visualizer is finally done! I’m building a virtual CPU that lets you actually see how a processor works, reads code and moves data through its memory. What I’ve done so far: built the core logic in typescript, I’m using a memory of 256 bytes (2,048 bits) using a Uint8Array(256), I’ve also added an accumulator register and a program counter for the instructions I defined a custom 4-opcode instruction set architecture (LDA, ADD, STA, HLT) a loadable test program that you can step through to watch the CPU work I made a pretty simple UI for now to visualize it but I’m planning on adding a lot more complexity to it moving forward and also making it more understandable for people who aren’t super familiar with how a CPU works. I’m planning on creating a fully immersive experience that lets you visually watch data and calculations perform and essentially understand how a computer does basically anything. Please do let me know if you’ve got any other suggestions or features to add etc :)"}]...
|
Title: CPU Visualizer by @Qasim | Stardance
Devlo Title: CPU Visualizer by @Qasim | Stardance
Devlogs:
Devlog #1 The base of my CPU visualizer is finally done! I’m building a virtual CPU that lets you actually see how a processor works, reads code and moves data through its memory. What I’ve done so far: built the core logic in typescript, I’m using a memory of 256 bytes (2,048 bits) using a Uint8Array(256), I’ve also added an accumulator register and a program counter for the instructions I defined a custom 4-opcode instruction set architecture (LDA, ADD, STA, HLT) a loadable test program that you can step through to watch the CPU work I made a pretty simple UI for now to visualize it but I’m planning on adding a lot more complexity to it moving forward and also making it more understandable for people who aren’t super familiar with how a CPU works. I’m planning on creating a fully immersive experience that lets you visually watch data and calculations perform and essentially understand how a computer does basically anything. Please do let me know if you’ve got any other suggestions or features to add etc :)...
|
1793216853.8725522
|
1793821653.8725522
|
|
61016
|
Built it by @AjoSubarjo | Stardance
|
AjoSubarjo
|
1
|
42.52
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-14T14:25:28Z", "hours": 16.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "im building a microgame or minigame like warioware and dumb ways to die. currently it only had 2 level but in the warioware mission 2 i will add more feature and level. and for the assets i use blender and the most challenging part is the timer like it kinda little bit confusing when it collapse with other timer", "repo": "https://github.com/Ajo-Subarjo/Nail-It", "demo": "https://ajo-subarjo.itch.io/build-it"}]...
|
[{"post_id": 78637, "ts": "202 [{"post_id": 78637, "ts": "2026-10-11T04:31:39Z", "hours": 8.7747, "text": "creating game manager"}, {"post_id": 77091, "ts": "2026-10-05T16:53:31Z", "hours": 8.5025, "text": "making prototype of level 3 and 4"}, {"post_id": 74233, "ts": "2026-09-27T00:42:15Z", "hours": 8.575, "text": "creating another level"}, {"post_id": 69127, "ts": "2026-09-16T13:09:47Z", "hours": 0.6719, "text": "adding demo vidio each level tutorial"}, {"post_id": 68075, "ts": "2026-09-14T14:02:45Z", "hours": 7.4419, "text": "one last devlog before ship it . i use blender for create all of the assets. currently its just had 2 level but in the next mission or mission 2. maybe i will adding some short background story, music, level of course, and upgrade the ui or the menu"}, {"post_id": 67031, "ts": "2026-09-13T02:12:17Z", "hours": 3.4619, "text": "done with some level. but idk how to track time when creating assets in blender"}, {"post_id": 65957, "ts": "2026-09-11T13:28:03Z", "hours": 5.0844, "text": "starting prototyping for the game level"}]...
|
Title: Built it by @AjoSubarjo | Stardance
Devlog Title: Built it by @AjoSubarjo | Stardance
Devlogs:
starting prototyping for the game level
done with some level. but idk how to track time when creating assets in blender
one last devlog before ship it . i use blender for create all of the assets. currently its just had 2 level but in the next mission or mission 2. maybe i will adding some short background story, music, level of course, and upgrade the ui or the menu
adding demo vidio each level tutorial
creating another level
making prototype of level 3 and 4
creating game manager
Ships:
im building a microgame or minigame like warioware and dumb ways to die. currently it only had 2 level but in the warioware mission 2 i will add more feature and level. and for the assets i use blender and the most challenging part is the timer like it kinda little bit confusing when it collapse with other timer...
|
1793206614.4463007
|
1793293014.4463007
|
|
29978
|
FlowZen by @NitrozingGuy | Stardance
|
NitrozingGuy
|
1
|
17.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-11T04:21:48Z", "hours": 17.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a project that could see your camera and app title activity and you could see if you were focusing or not. Most of this was new to me but one extra challenging thing was making the UI, as I don’t like UI design. Also, I wish there was a free way to get an LLM that would let me classify these titles but whatever.", "repo": "https://github.com/Iamaradia/FlowZen", "demo": "https://github.com/Iamaradia/FlowZen/releases/tag/v0.1-alpha"}]...
|
[{"post_id": 78632, "ts": "202 [{"post_id": 78632, "ts": "2026-10-11T04:18:57Z", "hours": 4.4039, "text": "Im finally done! I took a break for school but im back. I made the figma project and made a better ui than my previous QML designer one and then i connected it to my app."}, {"post_id": 37346, "ts": "2026-07-30T00:17:56Z", "hours": 3.5383, "text": "I worked on 2 things this time. One, I used Ollama to use a model, like Qwen 0.7b, a lightweight LLM model, to process the app, title, and study goal and then it would return S for safe, A for ask before, and D for distracted. The decisions for A also get stored in a cache with SQLite. Then, I made a rough program that will get the app name and title using windows and return it."}, {"post_id": 33019, "ts": "2026-07-22T15:58:15Z", "hours": 5.2186, "text": "I have completed the beginning steps. I have first made a UI for it, show below using something called PySide Designer, where you can use drag and drop to make a UI to your liking. I then connected them to my code, like the timer label to the timer, the webcam label to the webcam, etc. Then I fixed some timer issues, improved the pause functionality, and made a total and distraction time length. Lastly, I made a database using SQLite, and I made a save dialog that can save it to the database. PS: The webcam is blank because I did not want to show my face."}, {"post_id": 27007, "ts": "2026-07-12T04:35:30Z", "hours": 2.5933, "text": "I polished the face detection, so it has a timer on for how long you were studying. I also added ultralytics object detection which detects phones for me at this early stage. Now I am working on the UI with the drag and drop PySide QT Widgets."}, {"post_id": 24739, "ts": "2026-07-08T14:50:31Z", "hours": 1.4708, "text": "I finished working on my face detector using media pipe. This is very early stages as it can only detect if there was a face found and then it will print it out."}]...
|
Title: FlowZen by @NitrozingGuy | Stardance
Devlo Title: FlowZen by @NitrozingGuy | Stardance
Devlogs:
I finished working on my face detector using media pipe. This is very early stages as it can only detect if there was a face found and then it will print it out.
I polished the face detection, so it has a timer on for how long you were studying. I also added ultralytics object detection which detects phones for me at this early stage. Now I am working on the UI with the drag and drop PySide QT Widgets.
I have completed the beginning steps. I have first made a UI for it, show below using something called PySide Designer, where you can use drag and drop to make a UI to your liking. I then connected them to my code, like the timer label to the timer, the webcam label to the webcam, etc. Then I fixed some timer issues, improved the pause functionality, and made a total and distraction time length. Lastly, I made a database using SQLite, and I made a save dialog that can save it to the database. PS: The webcam is blank because I did not want to show my face.
I worked on 2 things this time. One, I used Ollama to use a model, like Qwen 0.7b, a lightweight LLM model, to process the app, title, and study goal and then it would return S for safe, A for ask before, and D for distracted. The decisions for A also get stored in a cache with SQLite. Then, I made a rough program that will get the app name and title using windows and return it.
Im finally done! I took a break for school but im back. I made the figma project and made a better ui than my previous QML designer one and then i connected it to my app.
Ships:
I made a project that could see your camera and app title activity and you could see if you were focusing or not. Most of this was new to me but one extra challenging thing was making the UI, as I don’t like UI design. Also, I wish there was a free way to get an LLM that would let me classify these titles but whatever....
|
1793145285.4903781
|
1793231685.4903781
|
|
67810
|
Sticky by @KelvinY | Stardance
|
KelvinY
|
1
|
3.0
|
11
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-11T04:21:41Z", "hours": 3.0, "multiplier": 4.2, "payout": 11, "blessing": "neutral", "text": "Uploaded to itch.io!! you can now get your own sticky :) my biggest failure is that I forgot to disable the godot default start screen and this make it looks ugly 😭😭 More in README!", "repo": "https://github.com/kelvinyhf/sticky", "demo": "https://kelvinyhf.itch.io/sticky-pet"}]...
|
[{"post_id": 78631, "ts": "202 [{"post_id": 78631, "ts": "2026-10-11T04:18:11Z", "hours": 1.8703, "text": "My pet is done! Added a feature where when you double click it, it opens GitHub Gist for you to take note"}, {"post_id": 76605, "ts": "2026-10-04T04:49:45Z", "hours": 0.6958, "text": "Prototype Completed! took me 40 mins to complete the guide, but it’s interesting! The next step is to design my pet sprite. His name is Sticky, obviously he looks like a sticky note"}]...
|
Title: Sticky by @KelvinY | Stardance
Devlogs:
Pr Title: Sticky by @KelvinY | Stardance
Devlogs:
Prototype Completed! took me 40 mins to complete the guide, but it’s interesting! The next step is to design my pet sprite. His name is Sticky, obviously he looks like a sticky note
My pet is done! Added a feature where when you double click it, it opens GitHub Gist for you to take note
Ships:
Uploaded to itch.io!! you can now get your own sticky :) my biggest failure is that I forgot to disable the godot default start screen and this make it looks ugly 😭😭 More in README!...
|
1793217138.6145473
|
1793303538.6145473
|
|
67915
|
WakeOS by @shogunxfortnite | Stardance
|
shogunxfortnite
|
0
|
0.27
|
0
|
[]
|
[{"post_id": 78630, "ts": "202 [{"post_id": 78630, "ts": "2026-10-11T04:00:38Z", "hours": 0.2692, "text": "I am working on a custom alarm. i am done with the schematic and pcb this took me 10hours"}]...
|
Title: WakeOS by @shogunxfortnite | Stardance
Dev Title: WakeOS by @shogunxfortnite | Stardance
Devlogs:
I am working on a custom alarm. i am done with the schematic and pcb this took me 10hours...
|
1793116203.1499393
|
1793721003.1499393
|
|
68910
|
The Agora by @Steve_Lee | Stardance
|
Steve_Lee
|
0
|
11.75
|
0
|
[]
|
[{"post_id": 78629, "ts": "202 [{"post_id": 78629, "ts": "2026-10-11T04:00:36Z", "hours": 5.5, "text": "Update 2# on cool project What’s up guys! First of all, it is important to say that the previous few days were spent working on The Agora. Thus, I have fixed several bugs, added new historical characters, and developed some more features which should make the website more interactive. To do so, I had to be patient, solve various problems, and test extensively because some features didn’t work the way I expected. However, I am happy that I could expand the selection of historical characters and improve interaction with them. As it is seen, it became possible to move beyond the idea of making a website that would generate artificial intelligence responses. It would be great if The Agora could turn into a place where users could try out different viewpoints and philosophies of famous historical figures and learn a lot from it. As has already been said, there are some imperfections that should be improved, but I am satisfied with the progress made. More updates coming soon! Maybe more characters… Thanks for reading! :)"}, {"post_id": 78462, "ts": "2026-10-10T20:59:54Z", "hours": 6.2519, "text": "Update 1# of my cool project Hey guys! I created The Agora website where people can engage in interactive discussions with simulated artificial intelligence characters based on historical figures like Socrates. The idea was to provide another medium where users can learn something about the past or philosophy by engaging in discussion and questioning. Creating this website proved to be harder than I initially thought it would be. Coding itself, coming up with distinct personalities for each character and ensuring that their responses match their respective worldview and reasoning style, took a lot of time and effort. There is room for improvement in coding, but at the same time, there are flaws and imperfections in the current code that need to be addressed. I will work on improving all of that. I also did not record the other three hours I spent working on this project, meaning that my hours are incomplete. This project was a very good learning experience for me in terms of programming skills and problem-solving. I’ve worked about 9 hrs, though I forgot to log the 3 hrs, which is a bummer :( But I’m glad I could create and share something with y’all! I’ll give you guys updates on when it’s ready and other things that may come up during my coding journey! Thanks for reading :)"}]...
|
Title: The Agora by @Steve_Lee | Stardance
Devlog Title: The Agora by @Steve_Lee | Stardance
Devlogs:
Update 1# of my cool project Hey guys! I created The Agora website where people can engage in interactive discussions with simulated artificial intelligence characters based on historical figures like Socrates. The idea was to provide another medium where users can learn something about the past or philosophy by engaging in discussion and questioning. Creating this website proved to be harder than I initially thought it would be. Coding itself, coming up with distinct personalities for each character and ensuring that their responses match their respective worldview and reasoning style, took a lot of time and effort. There is room for improvement in coding, but at the same time, there are flaws and imperfections in the current code that need to be addressed. I will work on improving all of that. I also did not record the other three hours I spent working on this project, meaning that my hours are incomplete. This project was a very good learning experience for me in terms of programming skills and problem-solving. I’ve worked about 9 hrs, though I forgot to log the 3 hrs, which is a bummer :( But I’m glad I could create and share something with y’all! I’ll give you guys updates on when it’s ready and other things that may come up during my coding journey! Thanks for reading :)
Update 2# on cool project What’s up guys! First of all, it is important to say that the previous few days were spent working on The Agora. Thus, I have fixed several bugs, added new historical characters, and developed some more features which should make the website more interactive. To do so, I had to be patient, solve various problems, and test extensively because some features didn’t work the way I expected. However, I am happy that I could expand the selection of historical characters and improve interaction with them. As it is seen, it became possible to move beyond the idea of making a website that would generate artificial intelligence responses. It would be great if The Agora could turn into a place where users could try out different viewpoints and philosophies of famous historical figures and learn a lot from it. As has already been said, there are some imperfections that should be improved, but I am satisfied with the progress made. More updates coming soon! Maybe more characters… Thanks for reading! :)...
|
1793127155.1510098
|
1793731955.1510098
|
|
19306
|
SmasherGS by @parkerrupe | Stardance
|
parkerrupe
|
0
|
71.63
|
0
|
[]
|
[{"post_id": 78628, "ts": "202 [{"post_id": 78628, "ts": "2026-08-31T00:40:37Z", "hours": 1.1333, "text": "I worked on preparing for shipping this project. I made most of the BOM, took some renders, did some Github Repo formatting. I am so ready to be done with this project but I am worried about budget as my PCB is rather expensive with tariffs/shipping. Maybe I reach out to PCBway for a sponsorship or something. Ugh, I don’t know. Anyways, peep the cool render."}, {"post_id": 78627, "ts": "2026-08-14T00:00:00Z", "hours": 3.0, "text": "Final CAD touches. Wow. That went quick. This is the final cad entry though. First things first, I had to split the casing into two sections that would fit on my printer. These sections would be joined with M3 bolts and heat set inserts. This is a simple overlapping butt joint with 4 screws per side. Nothing complex, was just a few sketch and extrudes. Next was building up interior structure, which you can see part of in that screenshot. I basically just needed mounting for the screen and board. This is what I came up with. I also added the port cuouts on the side while I was at it. This one interior strucutre has mounting holes for both the screen and the lattepanda carrier PCB. Here is the other side. Unfortunately, this will need supports to print, as I couldn’t think of a way to avoid them, which hurts me. But it is what it is, I will make do. Here is the interior with the components. Looks good! Lastly, I added 4 antennas. That’s right, 4. One is on the inside in this corner! The square one internally is a GPS antenna. It is a ceramic active patch antenna. The other 3 antennas are simple “rubber ducky” antennas for Wifi+Bluetooth and LORAWAN. Short and simple. That’s it for cad! Now I just need to take renders and put the repo together with a BOM and stuff! Wait, I forgot screws. Now we good. I also added slits to the back for cooling! They will just be lasercut into the aluminum. Okay, alll done for real this time. Now we move on to renders and stuff."}, {"post_id": 78626, "ts": "2026-07-22T00:00:00Z", "hours": 4.0, "text": "CAD!! CAD CAD CAD!! I love CAD. Ok, first things first, I exported the Mu carrier board 3D model and imported it into Fusion 360. I needed to add the M.2 accessories and standoffs for the M.2 and Mu stuff. This was fairly straightforward. The standoffs are M2 x 1.5mm and I used M2 pan head phillips screws as those are typically what M.2 hardware kits include. For the M.2 accessories, we have a full size NVME drive and a half size NVME wifi/bluetooth card. These are lines up to the best of my abilities but may be a smidge off. Thankfully, they are just cosmetic, so it does not matter much at all. Anywho, next up. I started laying things out in CAD for the actual deck. I am going for a minimalist flat slab with a metallic top/bottom panel sandwiching a printed frame. So, that’s what I am laying out! You may have noticed (you probably didn’t) that the keyboard usb port/buttons/etc are now on the bottom of the PCB. This is no mistake! I realized I made a bit of an oopsie - the only way a top plate can fit with choc switches is if all that good stuff is on the bottom. Ugh. So, I flipped those components to the other side of my PCB. This required me to reroute a large portion of the matrix (half of it) and all the traces connecting the matrix to the MCU. As you can see in the photo, all the keyswitch footprints are on the bottom now. Flipped. Anywho, with that out of the way, I could now move on to developing the case. First was the top plate. This is a 1.2mm aluminum lasercut plate that I will be getting anodized Red to contrast the Black 3D printed mainframe. I started by making the keyswitch grid. This is a 17.5x18.5mm spaced 12x5 grid of 13.5x13.5mm squares. Quite a mouthfull. The choc switches snap into this plate nicely, and it serves as a structural point of rigidity. From there it gets extended, and the cyberdeck is starting to look like something! I initially went for this clean look where there was no border around the screen besides the one built into the screen - this would later change, but thats for later. I then started building up the black casing. I am targeting 40mm thickness for the printed portion. Which is fairly thick, but it kinda has to be for the lattepanda mu fan stuff to fit. This has a lip for the keyboard pcb to rest on and mounting holes for the keyboard pcb. I will later add bracing under more of the keyboard pcb but for now I am focused on the outermost shell. It then gets extended under the screen! Man, it’s looking awesome. However, it was at this point that I remembered - hey, the ports for my screen are on the outer edge! How would the cables reach the interior with the ports on the exterior…. They wouldn’t. So, it gets extended! Bam. I actually like how the red border ties it all together and think this still looks awesome! Albeit bigger, but that’s ok. At this point I also added a flat back panel to finish the sandwich. This will ultimately have screw holes and ventilation in it, but for now it can stay flat. That’s all for this entry actually! I made a lot of cad progress, but as you may have noticed this entry took a while to get posted. That’s because I went to OutPost IRL! It was a life changing event and I had so much fun. It was so awesome. Anywho. What’s next? Literally just fleshing out the casing. I need to: Add cutouts for the I/O ports Add internal structure/Skeleton Add ventilation/Fans Add Battery Split part into smaller printable sections And then submit! I am getting so close!!!"}, {"post_id": 78625, "ts": "2026-07-07T00:00:00Z", "hours": 3.5, "text": "Low speed routing, mounting holes… we are done!!! As the title of this entry suggests, this is the last entry of pcb design. I routed all the low speed traces, which was the only thing left. Besides mounting holes, which I did afterwards. I started at the top left for this and worked my way clockwise around the board. Mostly. At some point I couldn’t keep track of what needed routed so I was just following what DRC said needed routed, working my way down the list. I started doing that about halfway through. This sucked. I had to bob and weave and sneak my way around all the high speed traces, ensuring proper spacing to minimize cross talk and keep trace impedance correct. Having gnd pours or traces close to the high impedance traces changes impedance because of uhh… parasitic capacitance I think? Electromagnetic fields inducing inductance and capacitance. Something like that. Anywho, lets see it! Look at all that spaghetti. I had to route some traces on my power plane it was getting so busy! Good thing I named it power/aux signal. This is the board with gnd pours on top/bottom. The pours are offset 1mm from all traces, which should be enough to protect the high speed. Here’s the signal layer. Yes, I did route some diff pairs on this layer. They are usb 2.0 and do not care. This is my power/aux sig layer. Mostly big ol power traces and pours, but there are a few signals mixed in that I just couldn’t get to route well on other layers. And those are the GND planes! With that, we have a finished board! Well almost. It needs a bit of silkscreen. That’s better. You can also see the mounting holes in that photo! I just used EasyEDA’s Pad feature to add pads with an OD of 5.8mm and an ID of 3.2mm. Should perfectly match M3 socket head screws. So. Where do we go from here? It’s cad time. I LOVE cad time. I need to physically design the deck itself! Which means exporting the 3D models of my pcbs, modeling out the screen, modeling a case, modeling all the internals, etc. This is the fun part!! Pcbs are NOT the fun part. So… CAD soon!!"}, {"post_id": 78623, "ts": "2026-07-06T00:00:00Z", "hours": 3.0, "text": "So. I did the pcie ports. This was a doozy. So for my 3V3 setup for this board, I have a 500ma LDO. Because I don’t have much 3V3. I thought. Fun fact - M.2 SSDs draw up to 3 amps. Uh oh. 3 amps??? That’s insane! So, I initially was just adding a 6a circuit. I got that all sorted. Turns out, this needs 2oz copper. I am not doing 2oz copper. That is expensive. So I switched. Each m.2 gets its own 3V3 3A circuit. Not actually that complex! Just annoying. It was at this point that I also realized I had both M.2 on the same PCIE lines. This does not work. So, I had to delete ethernet to get another pcie set. This is fine. I was never really going to use it if we’re being honest and it lets me make the whole board much smaller to get rid of it. The board is like, 120mm wide now! In that photo you can also see the completed M.2 circuits. Each one has a power circuit tapping into the main 12v, and some passives for stuff like filtering high speed lines and a status LED - one per M.2. Here are some closeups! The circuits off to the side of each port are the power circuits. The bottom left two components are the status LEDs, and the top right two components are filtering capacitors for high speed lines. With those updates, the board is now ready to hook up all the high speed pairs to the mu! After that I get to do low speed, power routing, and be done! Woooo. I am so ready to be done with this pcb."}, {"post_id": 78624, "ts": "2026-07-06T00:00:00Z", "hours": 2.0, "text": "High speed routing!! I connected everything up to the Mu. This sucked. Things kept overlapping and it was so bleh. I started in the top right with USBC and worked down and to the left. Well. I actually started with the m.2 because they are right next to the Mu, and then went top right to bottom left. It was at this point that I felt like something might be off. Why would the pins for one HDMI port be backwards but not for the other? The answer was simple: I had the pins wrong. Oops. Once I fixed that I could line up everything real nice. But first, after a tip from a friend, I dropped the USBC lines down to the bottom layer so that everything else could be top. This made it so much cleaner looking. SO much better. I am a little worried about EMI from the buck converters but I think it might be ok? I’ll add a bunch of GND vias or something. After I had those all wired up, I did the last few small circuits. LORAWAN. GPS, with the antenna keepout. The power switch. The fans. And last, but certainly not least, the CMOS battery. And with that, all the individual circuits are complete. So what’s left? I literally just have to connect all the low speed lines up to the Mu, and I am done. This is no small task, as I have to weave around and through all the high speed lines, but it is very possible. It will get done soon."}, {"post_id": 78622, "ts": "2026-07-01T00:00:00Z", "hours": 3.0, "text": "I routed the second hdmi port and the ethernet port! HDMI was super straight forward, just a copy of the other one rotated 90 degrees. Did take me a second to remember what I did but I got it done. Next was ethernet. I had no idea what I was doing for this but here we go. I started connecting the diff pairs of the connector to my ethernet controller. This converts the ethernet junk to PCIE for my Mu to deal with. All length matched, impedance matched to 100 ohms, spaced out properly, ESD filtering, etc. All sorts of nonsense. It was at this point, when I went to wire the passives for my ethernet controller that I realized - hey, this needs 1v0. I don’t have 1v0 in my power circuit. Time to speedrun a power circuit. Ready… Set… Go!! I started by pulling up TI WeBench to get a power circuit schematic. I inputed 1v and 500ma and it outputted a couple options. I picked the first one, the cheapest. It gave me this. I used it to make: This. Identical circuit, just some pins moved on the symbol. I threw this onto the Ethernet page because my Power page is full, and because this is gonna be near the ethernet connector as I don’t trust the 1v to survive a path across the board. Just in case. After that, I synced the schematic to my pcb, and threw together the circuit on board. Stupid simple, so it’s stupid reliable. Boom. Power circuit done. With that fixed I could go back to adding all the passives and power hookups for my ethernet controller. Bam. Done. This thing has so many power hookups, it’s unreal. 4 different pins get 1v0, 3 different pins get 3v3. That’s 7 pins. Wtf. It’s ok though, I got it done. I did have to route decoupling internally for a couple pins just because they got placed next to high speed pairs for some reason (stupid placement realtek. stupid placement.). I think if I do this again I will use a TI IC for ethernet because the realtek documentation is mid and 1v0 is stupid. Give me 3v3 and 5v like a sane person. Anywho, with that done, all the ports on the board are wired. Yup. All of them. HUGE progress. But - what do I have left? m.2 slots CMOS battery fans gps lorawan final power routing (5v and 3v3) final signal routing (hook it all up to the mu) That’s it! Only 7 things on my checklist. M.2 slots are more diff pairs because of course they are, but after that it’s smooth sailing stupid logic until the final signal routing. And even then, that is partially stupid logic too (high speed = smart logic, low speed = stupid logic). I guess I’ll tackle M.2 next? TBD."}, {"post_id": 78620, "ts": "2026-06-30T00:00:00Z", "hours": 2.5, "text": "I routed 1 hdmi port and 4 usba 2.0 ports! I am making solid progress! First was hdmi. This required defining a new differential pair rule for 100 ohms instead of 90 ohms (usb spec). Easy enough. That’s the rule. Anywho. HDMI has a pretty interesting circuit on it actually. When the device goes to sleep or shuts off, it pulls all the hdmi lines to gnd with a mosfet. I always thought the way computers did sleep for hdmi was something way fancier but no. It literally just shunts the signal to gnd. Pretty neat in my opinion! That’s the big circuit with resistors on the left. All into a mosfet that triggers with sleep or shutdown. The sls_s0 operates that way - only active (low) when the device is in use. Recreating this was a bit of a hassle honestly and really made me think. But I got it figured out in the end. From right to left it goes connector, ESD diodes, resistors, and then ac filtering capacitors. AC filtering capacitors ugh. Doesn’t that sound like it should filter out AC? But actually, they work by blocking DC and only letting AC through. I think that should be named DC filtering but idk I ain’t no electrician. Rant aside, those resistors will get connected to a common line in the signal layer (layer 3) and then to a mosfet. Next was an I2C level shift. The HDMI side of the I2C lines operate on 5 volt while my device side operates on 3 volt. So, I use a little IC to handle the level shift and make sure my data stays clean. Did you know there is I2C in HDMI? I sure didn’t, but it is fascinating. Basically, the I2C lines are how your device figures things out like screen size, resolution, refresh rate, color profiles, etc. Basically, it is how the device and screen “talk” about what each is capable of and what they need from eachother. Over I2C! I’ve personally seen 30 foot hdmi cables. You’re telling me I2C lines can be 30 feet long without issue?? Wow. Fascinating stuff. Second rant aside, the next circuit was my hot plug detection and 5v power. This is the last bit. These just get lumped together because the pins are together. 5V is on the very left with the rectangle thing, that’s a diode. Everything to the right of that is hot plug detect. It basically tells my device that a screen was unplugged/plugged in while my device was on so that it knows to reconfigure everything. Pretty neat. That’s a full hdmi port! It looks like this: Next was the USB ports. One is external and the other three are internal. They are all basically carbon copies save for two of the internal ones sharing an ESD diode module just because they can and I want to cut down on components. They all get ESD filtering on the data pair, plus a fuse and decoupling capacitor on the 5V power line. That way an overcurrent blows the fuse and not my whole board. That’s it for this entry! I am on a roll today and honestly may not sleep for a while to just keep going. Or I will. I don’t know, it’s late. Next is the second HDMI port and the Ethernet port. Not sure which will come first. Probably HDMI since I know how to do it."}, {"post_id": 78621, "ts": "2026-06-30T00:00:00Z", "hours": 3.5, "text": "The second usbc port! I have decided that differential pairs are my greatest enemy. Truly, this is miserable I worked from the “bottom” up, routing traces through their passives in impedance and length matched pairs. This worked surprisingly well and I ran into minimal issues. Something cool I was able to do was go back and use open channels on existing ESD diodes rather than adding more. Specifically, that one at the top. It had one pair from the first usbc port, and now has a pair from the second port. Since they both had to be routed around the plug legs like that, they end up in the same spot. RX lines get just resistors while TX lines get capacitors and resistors. That’s what the smaller passives are on two of the lines - capacitors. Once I had those 4 lines routed, I get to route the less crucial lines. There’s still a diff pair in these ones, but since it’s usb 2.0, it is way less important where that bad boy goes. It’s lower speed. Higher speed = more fragile = more important. For these routing I had to add the other chips necessary for the port. One for protecting vbus shorts and one for connecting vbus to 5 volt, since this port needs to be a power source, not just a sink. That way it can power other devices. This is what those vbus lines look like. They will be connected to 5v ultimately, but I have yet to route 5v. Soon. With a couple more traces, I had this USBC port complete. This one is a mess. And it was super tedious as always. But after this I get to route just some nice chill usb 2.0 as a break before I route HDMI. Hdmi has waay more passives on the diff pairs for some reason. HDMI and Ethernet also mean I get to deal with writing new differential pair rules as these have different impedances from USBC. Anywho, here’s both usbc ports together. It’s really getting busy in here! Can’t wait to add more. On the logistics side of things, I got approved for super hardware builder for Outpost aswell as got my flight stipends approved. That means I am going to Open Sauce/Outpost! I need to finish this project by July 7 to truly “qualify”, though if I already have flights… I’m not worried, I’ll get it done in time."}, {"post_id": 78618, "ts": "2026-06-29T00:00:00Z", "hours": 4.0, "text": "Power circuitry! I wasn’t sure where to start and I certainly didn’t want to start with any highspeed routing. So, we are doing the power circuit first. I started with simply just… trying to get everything connected and compact. This would prove harder than I anticipated. It’s a big mess honestly. I was working without ratlines so that I can actually see what I am doing, and that means I forgot some components. So it actually just got worse for a bit. The big thick trace is 12v main power. This is up to like, 35 watts, so it needs to be super big. Hence the 3mm wide trace. We have roughly: Bottom is 5v. Top middle is 12v. Top right is battery charger. You can kinda see the ICs buried in there. Those are the focal points. The very first thing I did to make this better was move 5v. I realized there’s no reason it needs to be so smushed in there. So, it gets scooted over to the left. Much better. Zooming in on 5v… I did some rearranging to make it less wonky and added the components I had forgotten - mainly decoupling caps. I am really good at forgetting decoupling caps. Since 5v is the main power for the system besides 12v for the mu, it gets a big big decoupling cap. That’s the big thing on the left. There are actually three ICs in here. One is the 5v buck converter, one is the 5v load switch for the system, and one is the 3v3 LDO. I completely forgot 3v3 is in there! Not that it’s easy to tell. This is the current state of the power circuitry. We have from left to right: 5v and 3v3, 12v, battery charger, and charger EEPROM. Plus the battery and thermistor connectors. Here is a view of the internal power layer. I used a mix of wide traces and copper pours for this so that I can guarantee my traces are wide enough. I also used multiple vias for connections in a lot of spots to give more “wire” for the power to go over. It’s way less of a mess now than when we started, and it was annoying to get to this point. I am still not sure if I am super happy with it, but I think it is good enough for now. I still need to wire up the i2c control, but that requires the USBC PD controller be wired. And I haven’t gotten that far yet. I think that will be next? Though I may need to route some high speed traces first so I know what I am working around. Not totally sure, I’ll probably ask one of my smarter PCB friends what to do. I am gonna get this done, whether through perserverance or straight up spite."}, {"post_id": 78619, "ts": "2026-06-29T00:00:00Z", "hours": 4.5, "text": "Power circuitry and some usbc 3.2. So. High speed routing is probably what I hate most in the world right now. It’s so annoying, it’s all diff pairs, you gotta be so careful. Bleh. Impedance and length matching. Bleh. Regardless, I started routing the very first usbc port just because I have to work around it’s traces. This took an hour. This. It’s 8 trace routes. Although because of how easyeda works it’s split into like 16 different configured differential pairs. Each one needs the rules assigned to tell it spacing and width. Then I had to actually route them. TX lines are supposed to get their passives closer to the USBC port while RX lines get it closer to the device, but both kinda got it in the middle because of how the spacing works out. Oh, and they all get piped through ESD diodes. Then I had to length match them within like, 0.1mm. Blehh. After that I worked more on power circuitry. I needed to route I2C lines within the power circuitry so that the ICs could talk to eachother, as well as add more passives that I had forgotten. Mostly decoupling. I also shifted the VBUS line down so I would have room to wire 5v and 3v3 to all the ICs crammed in there. Before that they were all kinda blocked on my power plane, which defeats the point of a power plane. More on usbc. I had to change nets (pins) a bunch in my schematic to get this to work because I needed them to line up with the physical pin and component locations so I wasn’t crossing paths or anything. While doing this, I noticed something. My USBA 3.2 port was doubled up on pins, sharing with my first USBC port. That’s not right… Turns out, I had made a big oopsie. By default the lattepanda mu only exposes 2 usb3.2 paths. Exposing more would require messing up my hdmi or ethernet. And that doesn’t work. So, I actually had to delete my usba 3.2 port! That’s fine, I have two usbc and a usba still, the usba is just 2.0. But, be honest, who actually needs usba 3.2 when you have usbc? Worst case I plug in a hub. This gives me a decent bit more space and actually makes my life easier. Yay. Anywho, I think the power circuitry and first usbc port are actually done? Ish. I need to route 3v3 and 5v still within the power circuit, and I need to connect the USBC port to the Lattepanda Mu. But those will come later as there are a lot of other components those work around. I spent way too long figuring out how to do high speed traces. These usbc traces are all matched to 90 ohms, all length matched within their pairs, all spaced out, connected to ESD diodes, their passives, aaaaah. There is so much to keep track of. This is the net rule menu for the usbc traces. There are 12 more not pictured, roughly. Each one gets assigned the “usbc” rule I wrote, which just defines spacing and width. I believe spacing and width are like 0.254mm and 0.155mm? Something like that, I know the width I said is right. Spacing is less important as it’s just “make pairs close, make not pairs far”. I think. This is all just my interpretation and it could be wrong. We won’t really find out for sure until I try to use the board! Regardless, I made some serious progress and am getting excited for this to be done! I think I can use this to qualify for OutPost! Hopefully. I really want to go to open sauce again. Next I think is the second USBC port and starting the last of the power routing. Yay."}, {"post_id": 78617, "ts": "2026-06-27T00:00:00Z", "hours": 1.5, "text": "Beginning of the PCB. The big one. And planning. Okay. So. I imported all the pcb stuff and dear lord is there a lot of components. So. What’s the first step? Sort it! I sorted everything by schematic page and then within the pages by section/component. That way I know what capacitors and resistors belong to what just by glancing at my design. During this sorting, I felt that my battery stuff was looking off. There was an excess of components and some weird duplicates. Turns out, I had accidentally copied a couple things that Ti included in their reference circuit that exist only for internal Ti debug. AKA, they are useless to me. So I went and removed those. Extra programming headers mainly, with some resistors paired with em. It’s kinda goofy how big of a spot the battery connector gets but its ok. Anywho, with that out of the way, I now had a sorted design. You can see the clusters of components and whatnot. Looking at it now, I realize that one of the usbc ports should be by the power circuity (bottom right) since it is part of that. Not that you can read the words, but you can see stuff moved. Here it is with ratlines by the way. Completely unreadable. Anywho, game plan. I can’t quite figure out sizing but I can kinda let the pcb decide that. This is gonna be a bit of a thick boi but that’s alright. I think the mu will be on the back of the deck, not the front, as I can put a vent back there. And then the screen can go on the other side. I have a few requirements though: Aim for a max width of 230mm. I have a lot more space in Y than X (x is the 230mm) to expand if needed, because of the screen. External ports on the right if possible. Antennas up top if possible. Internal ports on the bottom if possible. Mu somewhere in the middle! That’s my plan for now. Obviously, I can change where things end up to fit my format better. But I think that plan should work out. I will need some usb male to female cables to make routing everything work I think. Mostly for the internal rtl-sdr. PCB Time!"}, {"post_id": 78616, "ts": "2026-06-27T00:00:00Z", "hours": 1.0, "text": "CAD Break! I decided to toss the keyboard pcb in cad so I could get a full mockup with the switches and just get a general vibe for the scale. It turned out really good! I just did it with a simple rectangular pattern, the hardest part was lining up everything initially. The keycaps are an open source design I found called MOTE. https://www.printables.com/model/864126-mote-choc-low-profile-flat-keycaps I really like the flat look. On the real thing I will probably get legended keycaps but I don’t think I will cad that. I mean maybe I could if I feel like placing a ton of decals (I don’t). Maybe I’ll get bored. I actually had to swap out the boot and reset switches 3 seperate times while I was trying to find something low profile enough to fit under the top plate. This will have a solid plate over it after all and I can’t have that hitting the buttons. The original ones were way too tall. The second revision was better but still too tall. So for the third I got the literal lowest profile I could find. These bad boys are half a millimeter tall. They should work though! Was only mildly tedious to export the 3d file, make changes, export again, make changes, export again, make changes, and export for the last time. Just typing that was annoying. But I did it for the love of the game. I really need to stop procrastinating on the mu board. But, I might do some general cad of the whole deck first. Not sure. TBD."}, {"post_id": 78615, "ts": "2026-06-26T00:00:00Z", "hours": 2.5, "text": "Keyboard! I finally decided to do some pcb design for this project and put the whole keyboard together. Did I remember to take progress screenshots? Nope. So. This is the board. I need to add some mounting still but I cannot figure out what fits without messing with cad a bit, as this pcb doesn’t have a representation of the switches. Here was my process. Organize. I started by manually laying out the whole key grid. Easyeda has tools to do this, but they cannot handle multiple components that group together (like switches and diodes). So, I did it all by hand. The keys are on a 17.5x18.5mm grid. This should put 1mm between each key. I then put all the brains on the left of the board for no reason other than I felt like it. In hindsight I maybe should have put them on the top, but I don’t think I want to redo it . Wire the grid. This was tedious as I had to go and do the traces for each diode and key, but I got it done. Wire the brains. This is for 2 layer, so I have no gnd or 3v3 planes, something I have grown very used to. Wire the grid to the brains. This took the most time as I had to keep redoing traces when I figured out I blocked something. That’s it ! A super quick ortholinear 50% keyboard with USBC for my deck. It may be detachable, hence the USBC. I haven’t decided yet but I will soon. That’s the easy part of this project done. Next is a bunch of hard routing. Ugh."}, {"post_id": 78614, "ts": "2026-06-26T00:00:00Z", "hours": 2.5, "text": "Keyboard 2 - Electric Boogaloo. So. I fiugred out that my footprint for the keyswitch sockets was wrong as it did not contain the necessary mounting holes for the switches. This meant I had to redo the keyboard. I took this opportunity to also move the brains up top. This makes the keyboard way less wide, allowing me to make the whole deck less wide. Hooray. I also took progress photos this time. I started by organizing the key grid. Because this is an ortholinear keyboard, it really is just a basic grid. Each diode got put in a little slot at the top, where there is a cutout in the key switch. This is important to avoid collisions of the keys with the diodes. Next I wired up the rows and columns. This is always the most time consuming part. Once I had the grid done, I decided to do something I don’t normally do. I adjusted the pin locations to match the physical layout, allowing me to make a MUCH better looking circuit. It went through a few iterations. Here are two of them. The second looks way better. The columns all connect to the sides while the rows attach to roughly the bottom right. This makes the whole circuit very well organized and creates “wings” of sort out of wiring for the columns. I love it. Next was the brains! I challenged myself to make this as compact as posSIble - good practice for when I have to do the Mu board. It looks pretty great! Left to right it goes USB, 3v3 LDO, MCU, and then debug switches. Here is a close up of the usb section. It is so compact! This board is 2 layer too. If I can get this compact on 2 layer, imagine what I can do with 4 or 6 (aka the mu board). I really didn’t want to redo this board but I am very glad I did. It is way narrower, at 228.5mm wide instead of 260mm, allowing me to keep this deck small. Specifically, small enough to fit structural parts on my 3D printers without splitting them up. Because it’s way cooler to not have ugly seams/splits! I am getting really excited for this project. The keyboard board is so good."}, {"post_id": 78613, "ts": "2026-06-25T00:00:00Z", "hours": 3.5, "text": "Little fixes, little annoyances. Ok so. I had to make a bunch of small fixes in prepping for pcb time and ugh. For instance, changing every instance of a + or - to _P or _N. Why? Because I decided I like that more and want it to be consistent across my whole schematic. What else… I ran DRC a few times to catch issues. Everything is wired up now. Running DRC also showed me that some components were missing footprints, so I had to resolve that. For the most part that was an easy fix. But, I found out my usba 3.0 port was completely messed up and was somehow half of a 2 port schematic, with no footprint. So I had to fully replace that component. Fun fact - majority of LCSC usba 3.0 ports have no footprint or schematic. Problematic. I found one though! Tadaaa. Oh I also realized I forgot fans and a power switch setup. Fans were easy, I just stole the circuit from the lattepanda reference design because I know that works. Fan 1 is the cooler attached to the lattepanda while fan 2 will be some sort of additional inlet or something. I haven’t decided yet but I will figure it out. It’s nice to have either way. > Power switch is simple but actually made me realize I had no way to cut power to anything but the mu, or everything. All or nothing basically. And that is not great for battery life, especially when my battery charging/monitoring circuit NEEDS to maintain power or else I could get a lipo fire (and I can’t charge my battery, and I can’t turn on stuff, etc). So, I split my 5v into two sections. 5v for the battery side and 5v for everything else. Then I put a load switch between the two and wired it to the power button. 90% of the power draw that isn’t the mu is on 5v. 3V3 draws practically nothing and it’s for the best that I maintain 3v3 power, as the Mu needs that for bios stuff. 12v is also needed to stay on as the Mu doesn’t fully lose power, it goes into a shut-down standby mode waiting to be turned back on. This protects your data and whatnot. In desktop PCs, the PSU never actually turns off unless you actively turn it off! The power button just kills everything else. Same philosophy here. Now I think I really am ready to start the pcb. I do want to maybe take a look in cad first to get an idea of what to do, but I could also just take a reserved design approach and work around the pcb. My two main design goals would thus be access to I/O and keeping it thin. Those are pretty simple if you just keep it in mind. I do need to make sure there is space for internal components and the screen and whatnot. PCB Soon!"}, {"post_id": 78612, "ts": "2026-06-24T00:00:00Z", "hours": 4.5, "text": "GPS and LORA!! These are the last two major things of the project. I am forgoing the continuity checker now because all my flight computers do continuity checking and, more importantly, I don’t feel comfortable applying current to explosive charges using anything I designed. First was GPS. I spent a while researching bias tee circuits so I could properly supply 5v to my active antenna. Bias tees are circuits that inject DC power into coaxial, aka AC, lines without disrupting the signal. Black magic in my opinion. Witchcraft. Regardless, after all my research, a friend pointed out that ublox has an integration manual that gives you the exact circuit needed. Because of course I would find that after my research. It’s actually quite simple in the end. I wired power, ground, uart for data, and the antenna line. That’s it. I just have to remember that the antenna line is impedance matched to 50 ohm, which means I need to specify board stackup and all that jazz. I already need to do some of that stuff for other high speed sensitive signals like usb 3.2, ethernet, and hdmi, so nothing new for this project. This should be fully functiona GPS for my deck because linux is cool and supports uart well. This gps module is ten bucks… sheesh. Anywho, next, and somehow the last part of the entire schematic, was LORAWAN. I was initially using an SX1262 module from SEEED Studio but unfortunately none of those feature UART, only SPI. Technically speaking, the Mu has SPI, but it is in practice only able to be used for audio. So, I had to find something with UART. I ended up finding the RAK3172-T. This is a cool module that uses a fancy MCU from ST that has lorawan integrated. Actually, it is the exact same mcu I am using for a camera controller board. That camera controller project is the reason I am putting lorawan on this deck in the first place (there are other reasons too now, but that was the main driving one). So, funnily, we come full circle. Because this is a full MCU it does need firmware updates, so I have to include an STLink header and reset/boot buttons, but thats fine. Besides that I hook up uart and power and we are good to go. That leaves us with our last schematic page completed. Kinda. I determined that, unfortunately, I cannot do this as one big PCB like I had originally intended. That’s chill, I just have to break off the keyboard, which I can do. So, the keyboard is now its own board. That means adding a usbc port to the keyboard for internal wiring. Easy peasy, in the bottom left. It’s just usb2.0, so nothing fancy. Oh, I also need to add a 3v3 regulator. Huh. I just realized that literally while typing this. Let me grab the one from my deck. Problem solved. This takes 5v from VBUS and converts it down to 3v3 for everything else. Simple fix. The cool thing about having my keyboard be a separate board is I could make the keyboard detachable. Will I do that? Not sure. It would be pretty neat though. This also meant adding another internal USBA port for the keyboard wire. While I was at it, since I have extra usb lines, I added another external USBA port aswell. I organized the schematic a little while I was at it to make things look nice. I now have 3 internal USBA, 2 external, and 2 external USBC. That’s 7 ports total, 4 of which are accessible externally. The 3 internal are reserved for an rtl-sdr, the keyboard, and powering the screen. I actually went through and organized all the unorganized sheets! It looks pretty nice now. There’s USBC Ports 1 and 2. There’s Ethernet. There’s storage and wifi. And last, but not least, power finalized. I cannot really organize hdmi much because of the way I intertwined all the stuff, but they don’t look bad. Well I can split off the ESD diodes like this: Yeah sure, why not. Both pages for hdmi are identical. That’s it. All I have left before I can start [Entry truncated]"}, {"post_id": 78611, "ts": "2026-06-23T00:00:00Z", "hours": 4.0, "text": "Today was ethernet and some little touches here and there. Connecting stuff to the lattepanda mu, changing some usba ESD diodes, planning, etc. First, ethernet. I do not understand ethernet. I tried hard to understand and use a TI IC for it and make my own circuit. I couldn’t figure it out. So, I made my own version of a circuit I found on an existing lattepanda mu carrier board - the lattepanda MOKA. https://github.com/piecol/lattepanda_MOKA It’s a pretty cool project and has good examples of some high speed routing and schematic design. This is what the MOKA has for ethernet. And this is what I have. Similar, but I made a fair amount of changes. Notably: Different ESD diodes, I like the TI ones. Different AC coupling capacitors, the MOKA used the wrong ones? I guess it wasn’t an issue but they are supposed to be 220nf, not 100nf. Straight from lattepanda/intel, so I know it’s right. DIfferent resistors to match datasheets better. Different crystal. Different pin names of course. I think that’s it? And I made everything bigger and easier to see. At their core, the circuits are similar, but I made a fair amount of changes. Call it a Reference . Oh, I also hooked up 3v3 VCC to the ethernet port. For some reason the moka just has a capacitor straight to ground?? Which is a silly mistake and probably a non issue but could affect the performance of your magnetics (if they even get power at all without that… datasheet isn’t very helpful.) So that’s ethernet! This will be super nice. I am using an IC that supports ethernet evaluation and fancy debug stuff so I should be able to use this for debugging if I wanted to. Good cyberdeck ability. Next. I changed my USBA to use the TI ESD diodes from my other pages since they are much nicer than the weird cheapo chinese one that I had before. Next again! Some little touches here and there on wiring. Look! USB has the keyboard wired in! That’s just an example of one little touch. Basically all pin mangement though. Double checking, triple checking, quadruple checking. I will never stop checking. Anywho, I also mentioned planning. I am switching to Linux. Planning on windows initially was a little silly but I wanted to be able to use fusion360. I could maybe use proxmox with windows? Depends what ram version I get of the Mu. We will see! This also means I shouldn’t need to run GPS and LORAWAN as USB devices, but rather straight to the mcu over i2c/spi/uart (haven’t decided). Technicallyyyy windows supports that but you need ring 0 level drivers which are incredibly annoying to deal with because of security shtuff. So, I just won’t deal with it! Linux to the rescue. This is probably the right choice for a lot of reasons I have yet to determine. That’s all for today. Next is gonna be finally tacking GPS and Lorawan I think? Or maybe I put it off more by doing trackball stuff. Though I may just make the trackball a USB module so that I can move it…. We will see. It’s funny, I am already past 24 hours of work on this… and I haven’t started any routing or cad. None. Zero. Yippee."}, {"post_id": 78610, "ts": "2026-06-22T00:00:00Z", "hours": 3.0, "text": "Howdy. I figured out the USB stuff! Turns out, I can just wire any two GPIO pins from the TPS25751 to the flip and enable pins of my usbc mux and then I can assign those roles through programming. Ezpz. I enabled adaptive EQ, so for the port side of the mux I don’t need to config any EQ. I think I will need to config EQ for the host side, but I cannot do that until I know my trace lengths! So it is officially a “later me problem”. Tada. Usbc port with charging. The other usbc port was pretty easy. I used a controller that integrates both power control and the mux into one IC, making my life easier. This side doesn’t have a charging circuit since as I covered previously, that is surprisingly difficult to pull off. But what it does have is a vbus power switch to hook vbus to my 5v source for downstream mode. That way it can power peripherals like mice and keyboards. My other port should be able to handle that automatically through the tps25751 so I don’t need a vbus switch. That’s the only difference besides some pin naming between the two schematics! Both have, from left to right, the port (and PD negotiator if present), the TVS diodes, and then the usbc controller/mux/redriver/they’re all the same. I chose the tps25221 for my vbus controller because it is active both low and high, while I need active low, and because TI has great datasheets. Most of the chips I was finding are only active high, so its nice that this one is both, as my usbc controller outputs active low through the ID pin. This means the pin gets pulled low when the usbc port is connected. Anywho, I can move on from usbc for now. Actually USB in its entirety since I already have my USBA 2.0 ports wired too. I am not sure if they are connected to the Mu yet, they might not be, but that is ok since I need to figure some other stuff out first before I go determining pin assigments for certain. For example… HDMI! That is what I will be tackling in my next entry. I will have two HDMI 2.1 ports, one internal for the built in screen and one external for external screens. As I have mentioned before, I could try to use ribbon for the built in screen, but I don’t want to worry about pinout issues. So I will just suffer a little. By default, the lattepanda mu exposes 2 out of the 3 max HDMI ports, which is perfectly what I need. No bios changes needed yet, to my knowledge! Ta ta for now. Surely hdmi won’t be a huge headache, right? Right?"}, {"post_id": 78609, "ts": "2026-06-22T00:00:00Z", "hours": 4.5, "text": "Howdy again! Second entry for today. I tackled HDMI and… the keyboard! First, hdmi. I have two hdmi ports. One on the inside, one the outside. I need a port, protection diodes, and some power stuff/other misc. requirements. I started with just getting everything wired up. I followed a reference design from lattepanda to figure out which pin goes where. You can see a bunch of resistors on the data lines - those are an intel requirement for hdmi. They connect to a mosfet that is controlled by the state of the PC (shutdown, sleep, etc). They help with compatibility I think? Idk, it’s just a necessity. Bottom left is the ESD diodes. They’re the same diodes from my usb shenanigans - they are advertised to work for both. Next was I2C. The HDMI side needs 5v while the lattepanda side needs 3v3. So, I use a logic converter or whatever it’s called. This just converts cleanly between two reference voltages, 3v3 and 5v. When I scrolled down further in the datasheet I saw I needed decoupling and pullup resistors. So, there’s that. Oops. Oh I also forgot to cover the bottom right. That’s hot plug detecting. Basically, it lets the intel graphics processor know when the cable has been plugged in or unplugged while the device is on. That way it can reconfigure or whatever. 5v power for this also has a diode on it so that it can NEVER EVER BACKFEED. EVER. That can destroy stuff! Anywho, I have two ports, so all of that gets duplicated for round 2. The pinout follows the same scheme as the first one despite the different naming. It’s still the same thing, just different names. You can see they follow the same order and everything. That’s actually all for hdmi for now. Routing will be a different story since they’re high speed differential pairs and thus need really fancy treatment… We will get there eventually. I hope. Next. Keyboard! I started by making my matrix. I am doing a 60 key 50% choc keyboard, mimmicking this bad boy: Called the jj50. It doesn’t use choc switches but thats ok. It will be hot swappable as I don’t like hard soldering keyswitches. Sockets are also dirt cheap. Next was mcu. It’s going to be a hardwired usb device, but it still needs an mcu to pretend to be that usb device even though its on the same pcb as the rest of the cyberdeck. I started with an rp2040. Then asked my brother if he has used one. And he said to use something else. So after a bit of browsing I chose an stm32f072cbt6 for simplicity and ease. Man, was it simple. Like, that’s it y’all. ESD diodes, reset and boot buttons, and the mcu, which just gets given power, two usb lines, and the keyboard matrix. Nothing else. It was surprisingly simple and I spent so long checking the datasheet to make sure I wasn’t doing something wildly wrong. I am not! (To my knowledge). In just a couple hours we have fully finished the HDMI and keyboard schematic. Unlike the USB I don’t have to tune EQ based off my pcb traces, so I can just finish those bad boys right now. In a days work, we have done USBC, HDMI, and keyboard. Yippee! Oh, I hit 10 pages on my schematic btw. This is a BIG project."}, {"post_id": 78608, "ts": "2026-06-16T00:00:00Z", "hours": 4.5, "text": "Alright so. I decided to tackle the usbc 3.2 ports. I want to have both ports able of charging the battery with decent speed (20v) and high data speed. First things first I had to find a new usbc port with the required rx/tx lines for high speed. From there, I wanted to do the TVS filtering. I started following this diagram from TI: This sucks. Like, really bad. It will be impossible to route, takes so much space, and the parasitics are probbaly mind boggling. So, I decided to look for chips that do multi input filtering. This way it’s nice and compact but still gives me all the tvs protection. After a LOT of digging I ended up at this. One IC specifically for handling Vbus, since that is high voltage, and then 3 of another IC for rx/tx/d+/d-. These diodes act as protection from surges, static, water shorting, etc. so my circuit doesn’t fry. That took about 2 hours. Now for what took the rest of the time. Trying to figure out multi port charging. Tl:Dr It is extremely difficult to pull off as a hobbyist. Why? I don’t know. But I will just have one charging port. I started with just trying to have two usb pd negotiators and one charging IC. However. USB PD requires that the negotiator chip talk with the charger IC for safety purposes. For some reason, nobody has bothered to implement it in a way that allows for more than one negotiator per charger. With all the Ti products for example, none of them offer i2c addressing, so they will always end up conflicting with eachother and could even pose a fire risk. All the chargers that can handle it require talking to your CPU itself. The problem with that is… that is really, really difficult to configure. It’s not available in BIOS clearly and it isn’t in software. It’s like cpu side firmware stuff that you need specialized tools to work with. This is why laptop manufacturers always partner with CPU manufacturers (and charger manufacturers) - they get those tools. At one point I found a dual port charger IC from TI and got super excited! But. It was not 2 in 1 out. It was 2 in 2 out. It solved none of my issues as you still had conflicting logic of the two power paths. Bleh. So, after all that effort, talking with friends, even making a reddit post, I decided it would just be best if I only had charging on one port and data on both. That’s fine and makes my job simpler, I just have to remember which one is charging when I go to plug the device in. Anywho, I didn’t end up getting to routing the signals to the usb 3.2 logic controller, which is what handles all the signal processing to pass onto the lattepanda and whatnot. I will do that next entry! I also want to work on HDMI next entry. That too will need TVS diode protection but I should be able to use the same chips I think! I spent so long researching and reading datasheets. I have 60 chrome tabs open right now. Bleh."}, {"post_id": 78607, "ts": "2026-06-15T00:00:00Z", "hours": 4.0, "text": "Hi. So. This project has been sponsored by LattePanda/DFRobot! I will be receiving a LattePanda Mu to base this project around. That means some things have to change! My MCU of course, my power plan a little, my format, my USB plan, etc. A lot of changes. First change - get the lattepanda in and start labeling pins! I got the symbol for this fella from an open source carrier board found here: https://oshwlab.com/yoge2013/mini-carrier-demo-for-lattepanda-mu This is a very well done mini carrier and will be good inspiration for mine. Because of how big this is and how many pins there are, it gets two sections in its schematic. One is for power and one is for literally everything else. Power is on the right, else on the left. I am not sure if I will be using all of these pins but I will sure use a lot of them, so they are getting labels just in case. Now, for what changes. First of all my power architecture changes a little as I need to boost 1s lipo voltages up to 12v for the Mu. This is simple enough and can be taken care of by a single boost converter. This circuit was figured out by Ti’s webench power supply configurator, a glorious tool that made this so easy. I inputted what I had and what I needed and it spat out a bunch of options - I picked the simplest and most efficient one. I also realized my 5v setup was a buck, not a boost, so I need to give it the 12v instead of raw system battery voltage. Easy fix. So the power path goes Battery -> Regulator/Charger -> 12v -> 5v -> 3v3 I think that should work. I don’t know if I need 1v8 yet… we are gonna find out. Anywho, I also stole the m.2 storage setup from the carrier board. “Stole”. It needs a little modification to fit my stuff but I will do that later. One of them is actually for a wifi card while the other is actually storage. The Mu does not have built in wifi like the CM5 does. Probably doesn’t fit, this thing is sooo dense. Anywho. Some more changes will need to be made. For starters, I don’t think I need the USB Hub IC’s anymore? Since the Mu has 8x USB 2.0 + 4x Usb 3.2. But I think some of them have to be multiplexed pins from pcie/sata? Basically meaning dual function pins and I can only pick one function, via bios. Since I need pcie for both storage and wifi, I might get cut short on usb ports. But that might not be an issue! I need to look into it more and do some planning. What else… The lorawan stuff probably cannot be over SPI anymore? I don’t actually know how that works with windows… Or I just give in and run linux. I dunno. Gotta think about it. Continuity checker will probably be made hardware only? Or it just becomes yet another usb device. Maybe I will want a usb hub IC just so I have more IO available. RTL-SDR is usb as always. Screen… I have two options. I can either deal with routing hdmi or try to just use the ribbon on the mu. The issue with that is there can be mismatches in pinouts on the ribbon cables - that can’t happen with hdmi. So I think I will probably just expose HDMI. One external for external screens and one internal for the main screen, I think. That’s all for this entry. I am gonna continue reading lattepanda documentation and watch some videos on carrier board design (omg… those exist!!!)."}, {"post_id": 78606, "ts": "2026-06-02T00:00:00Z", "hours": 2.0, "text": "Okay. This has been floating around my head for a while but basically I was thinking. I don’t have a laptop. I cannot afford a laptop. But I do have hackclub. What’s better than a laptop? A cyberdeck! But a general purpose one is kinda lame. Good thing I do rocketry. So here we are. A rocketry ground station cyberdeck. I will preface by saying the scope creep will be strong with this one. Initial feature list: Custom CM5 Carrier Board Based. LORAWAN enabled for controlling electronics and monitoring rocket. Both dedicated 915mhz lorawan transmitting as well as general RTL-SDR monitoring. Ethernet USBC Charging and IO Triple USBA IO XT 30 EMatch continuity checker Dual HDMI Built in touch screen Custom Keyboard Custom Track Ball Custom Scroll Wheel Some buttons! I think that is everything. Quite a lot of features - this is gonna be a long one, with a lot of pcb design. I already started the preliminary PCB design. Mainly, component selection. I will likely need to have a multi page schematic to fit everything cleanly, but that is ok. For now I have this big schematic covered in components. It has the IO ports, m.2 nvme port, usb stuff, battery charging stuff, and lorawan stuff. Oh and the CM5. I need to figure out my schematic hierarchy. Maybe: MCU/Storage/RF Everything IO/Ports Inputs (keyboard, scroll wheel, track ball)/Sensors. Maybe? I am not sure. I will workshop it. I am actually pretty excited about this despite how nightmarish it is going to be. Let’s do this thing!"}]...
|
Title: SmasherGS by @parkerrupe | Stardance
Devlo Title: SmasherGS by @parkerrupe | Stardance
Devlogs:
Okay. This has been floating around my head for a while but basically I was thinking. I don’t have a laptop. I cannot afford a laptop. But I do have hackclub. What’s better than a laptop? A cyberdeck! But a general purpose one is kinda lame. Good thing I do rocketry. So here we are. A rocketry ground station cyberdeck. I will preface by saying the scope creep will be strong with this one. Initial feature list: Custom CM5 Carrier Board Based. LORAWAN enabled for controlling electronics and monitoring rocket. Both dedicated 915mhz lorawan transmitting as well as general RTL-SDR monitoring. Ethernet USBC Charging and IO Triple USBA IO XT 30 EMatch continuity checker Dual HDMI Built in touch screen Custom Keyboard Custom Track Ball Custom Scroll Wheel Some buttons! I think that is everything. Quite a lot of features - this is gonna be a long one, with a lot of pcb design. I already started the preliminary PCB design. Mainly, component selection. I will likely need to have a multi page schematic to fit everything cleanly, but that is ok. For now I have this big schematic covered in components. It has the IO ports, m.2 nvme port, usb stuff, battery charging stuff, and lorawan stuff. Oh and the CM5. I need to figure out my schematic hierarchy. Maybe: MCU/Storage/RF Everything IO/Ports Inputs (keyboard, scroll wheel, track ball)/Sensors. Maybe? I am not sure. I will workshop it. I am actually pretty excited about this despite how nightmarish it is going to be. Let’s do this thing!
Hi. So. This project has been sponsored by LattePanda/DFRobot! I will be receiving a LattePanda Mu to base this project around. That means some things have to change! My MCU of course, my power plan a little, my format, my USB plan, etc. A lot of changes. First change - get the lattepanda in and start labeling pins! I got the symbol for this fella from an open source carrier board found here: https://oshwlab.com/yoge2013/mini-carrier-demo-for-lattepanda-mu This is a very well done mini carrier and will be good inspiration for mine. Because of how big this is and how many pins there are, it gets two sections in its schematic. One is for power and one is for literally everything else. Power is on the right, else on the left. I am not sure if I will be using all of these pins but I will sure use a lot of them, so they are getting labels just in case. Now, for what changes. First of all my power architecture changes a little as I need to boost 1s lipo voltages up to 12v for the Mu. This is simple enough and can be taken care of by a single boost converter. This circuit was figured out by Ti’s webench power supply configurator, a glorious tool that made this so easy. I inputted what I had and what I needed and it spat out a bunch of options - I picked the simplest and most efficient one. I also realized my 5v setup was a buck, not a boost, so I need to give it the 12v instead of raw system battery voltage. Easy fix. So the power path goes Battery -> Regulator/Charger -> 12v -> 5v -> 3v3 I think that should work. I don’t know if I need 1v8 yet… we are gonna find out. Anywho, I also stole the m.2 storage setup from the carrier board. “Stole”. It needs a little modification to fit my stuff but I will do that later. One of them is actually for a wifi card while the other is actually storage. The Mu does not have built in wifi like the CM5 does. Probably doesn’t fit, this thing is sooo dense. Anywho. Some more changes will need to be made. For starters, I don’t think I need the USB Hub IC’s anymore? Since the Mu has 8x USB 2.0 + 4x Usb 3.2. But I think some of them have to be multiplexed pins from pcie/sata? Basically meaning dual function pins and I can only pick one function, via bios. Since I need pcie for both storage and wifi, I might get cut short on usb ports. But that might not be an issue! I need to look into it more and do some planning. What else… The lorawan stuff probably cannot be over SPI anymore? I don’t actually know how that works with windows… Or I just give in and run linux. I dunno. Gotta think about it. Continuity checker will probably be made hardware only? Or it just becomes yet another usb device. Maybe I will want a usb hub IC just so I have more IO available. RTL-SDR is usb as always. Screen… I have two options. I can either deal with routing hdmi or try to just use the ribbon on the mu. The issue with that is there can be mismatches in pinouts on the ribbon cables - that can’t happen with hdmi. So I think I will probably just expose HDMI. One external for external screens and one internal for the main screen, I think. That’s all for this entry. I am gonna continue reading lattepanda documentation and watch some videos on carrier board design (omg… those exist!!!).
Alright so. I decided to tackle the usbc 3.2 ports. I want to have both ports able of charging the battery with decent speed (20v) and high data speed. First things first I had to find a new usbc port with the required rx/tx lines for high speed. From there, I wanted to do the TVS filtering. I started following this diagram from TI: This sucks. Like, really bad. It will be impossible to route, takes so much space, and the parasitics are probbaly mind boggling. So, I decided to look for chips that do multi input filtering. This way it’s nice and compact but still gives me all the tvs protection. After a LOT of digging I ended up at this. One IC specifically for handling Vbus, since that is high voltage, and then 3 of another IC for rx/tx/d+/d-. These diodes act as protection from surges, static, water shorting, etc. so my circuit doesn’t fry. That took about 2 hours. Now for what took the rest of the time. Trying to figure out multi port charging. Tl:Dr It is extremely difficult to pull off as a hobbyist. Why? I don’t know. But I will just have one charging port. I started with just trying to have two usb pd negotiators and one charging IC. However. USB PD requires that the negotiator chip talk with the charger IC for safety purposes. For some reason, nobody has bothered to implement it in a way that allows for more than one negotiator per charger. With all the Ti products for example, none of them offer i2c addressing, so they will always end up conflicting with eachother and could even pose a fire risk. All the chargers that can handle it require talking to your CPU itself. The problem with that is… that is really, really difficult to configure. It’s not available in BIOS clearly and it isn’t in software. It’s like cpu side firmware stuff that you need specialized tools to work with. This is why laptop manufacturers always partner with CPU manufacturers (and charger manufacturers) - they get those tools. At one point I found a dual port charger IC from TI and got super excited! But. It was not 2 in 1 out. It was 2 in 2 out. It solved none of my issues as you still had conflicting logic of the two power paths. Bleh. So, after all that effort, talking with friends, even making a reddit post, I decided it would just be best if I only had charging on one port and data on both. That’s fine and makes my job simpler, I just have to remember which one is charging when I go to plug the device in. Anywho, I didn’t end up getting to routing the signals to the usb 3.2 logic controller, which is what handles all the signal processing to pass onto the lattepanda and whatnot. I will do that next entry! I also want to work on HDMI next entry. That too will need TVS diode protection but I should be able to use the same chips I think! I spent so long researching and reading datasheets. I have 60 chrome tabs open right now. Bleh.
Howdy again! Second entry for today. I tackled HDMI and… the keyboard! First, hdmi. I have two hdmi ports. One on the inside, one the outside. I need a port, protection diodes, and some power stuff/other misc. requirements. I started with just getting everything wired up. I followed a reference design from lattepanda to figure out which pin goes where. You can see a bunch of resistors on the data lines - those are an intel requirement for hdmi. They connect to a mosfet that is controlled by the state of the PC (shutdown, sleep, etc). They help with compatibility I think? Idk, it’s just a necessity. Bottom left is the ESD diodes. They’re the same diodes from my usb shenanigans - they are advertised to work for both. Next was I2C. The HDMI side needs 5v while the lattepanda side needs 3v3. So, I use a logic converter or whatever it’s called. This just converts cleanly between two reference voltages, 3v3 and 5v. When I scrolled down further in the datasheet I saw I needed decoupling and pullup resistors. So, there’s that. Oops. Oh I also forgot to cover the bottom right. That’s hot plug detecting. Basically, it lets the intel graphics processor know when the cable has been plugged in or unplugged while the device is on. That way it can reconfigure or whatever. 5v power for this also has a diode on it so that it can NEVER EVER BACKFEED. EVER. That can destroy stuff! Anywho, I have two ports, so all of that gets duplicated for round 2. The pinout follows the same scheme as the first one despite the different naming. It’s still the same thing, just different names. You can see they follow the same order and everything. That’s actually all for hdmi for now. Routing will be a different story since they’re high speed differential pairs and thus need really fancy treatment… We will get there eventually. I hope. Next. Keyboard! I started by making my matrix. I am doing a 60 key 50% choc keyboard, mimmicking this bad boy: Called the jj50. It doesn’t use choc switches but thats ok. It will be hot swappable as I don’t like hard soldering keyswitches. Sockets are also dirt cheap. Next was mcu. It’s going to be a hardwired usb device, but it still needs an mcu to pretend to be that usb device even though its on the same pcb as the rest of the cyberdeck. I started with an rp2040. Then asked my brother if he has used one. And he said to use something else. So after a bit of browsing I chose an stm32f072cbt6 for simplicity and ease. Man, was it simple. Like, that’s it y’all. ESD diodes, reset and boot buttons, and the mcu, which just gets given power, two usb lines, and the keyboard matrix. Nothing else. It was surprisingly simple and I spent so long checking the datasheet to make sure I wasn’t doing something wildly wrong. I am not! (To my knowledge). In just a couple hours we have fully finished the HDMI and keyboard schematic. Unlike the USB I don’t have to tune EQ based off my pcb traces, so I can just finish those bad boys right now. In a days work, we have done USBC, HDMI, and keyboard. Yippee! Oh, I hit 10 pages on my schematic btw. This is a BIG project.
Howdy. I figured out the USB stuff! Turns out, I can just wire any two GPIO pins from the TPS25751 to the flip and enable pins of my usbc mux and then I can assign those roles through programming. Ezpz. I enabled adaptive EQ, so for the port side of the mux I don’t need to config any EQ. I think I will need to config EQ for the host side, but I cannot do that until I know my trace lengths! So it is officially a “later me problem”. Tada. Usbc port with charging. The other usbc port was pretty easy. I used a controller that integrates both power control and the mux into one IC, making my life easier. This side doesn’t have a charging circuit since as I covered previously, that is surprisingly difficult to pull off. But what it does have is a vbus power switch to hook vbus to my 5v source for downstream mode. That way it can power peripherals like mice and keyboards. My other port should be able to handle that automatically through the tps25751 so I don’t need a vbus switch. That’s the only difference besides some pin naming between the two schematics! Both have, from left to right, the port (and PD negotiator if present), the TVS diodes, and then the usbc controller/mux/redriver/they’re all the same. I chose the tps25221 for my vbus controller because it is active both low and high, while I need active low, and because TI has great datasheets. Most of the chips I was finding are only active high, so its nice that this one is both, as my usbc controller outputs active low through the ID pin. This means the pin gets pulled low when the usbc port is connected. Anywho, I can move on from usbc for now. Actually USB in its entirety since I already have my USBA 2.0 ports wired too. I am not sure if they are connected to the Mu yet, they might not be, but that is ok since I need to figure some other stuff out first before I go determining pin assigments for certain. For example… HDMI! That is what I will be tackling in my next entry. I will have two HDMI 2.1 ports, one internal for the built in screen and one external for external screens. As I have mentioned before, I could try to use ribbon for the built in screen, but I don’t want to worry about pinout issues. So I will just suffer a little. By default, the lattepanda mu exposes 2 out of the 3 max HDMI ports, which is perfectly what I need. No bios changes needed yet, to my knowledge! Ta ta for now. Surely hdmi won’t be a huge headache, right? Right?
Today was ethernet and some little touches here and there. Connecting stuff to the lattepanda mu, changing some usba ESD diodes, planning, etc. First, ethernet. I do not understand ethernet. I tried hard to understand and use a TI IC for it and make my own circuit. I couldn’t figure it out. So, I made my own version of a circuit I found on an existing lattepanda mu carrier board - the lattepanda MOKA. https://github.com/piecol/lattepanda_MOKA It’s a pretty cool project and has good examples of some high speed routing and schematic design. This is what the MOKA has for ethernet. And this is what I have. Similar, but I made a fair amount of changes. Notably: Different ESD diodes, I like the TI ones. Different AC coupling capacitors, the MOKA used the wrong ones? I guess it wasn’t an issue but they are supposed to be 220nf, not 100nf. Straight from lattepanda/intel, so I know it’s right. DIfferent resistors to match datasheets better. Different crystal. Different pin names of course. I think that’s it? And I made everything bigger and easier to see. At their core, the circuits are similar, but I made a fair amount of changes. Call it a Reference . Oh, I also hooked up 3v3 VCC to the ethernet port. For some reason the moka just has a capacitor straight to ground?? Which is a silly mistake and probably a non issue but could affect the performance of your magnetics (if they even get power at all without that… datasheet isn’t very helpful.) So that’s ethernet! This will be super nice. I am using an IC that supports ethernet evaluation and fancy debug stuff so I should be able to use this for debugging if I wanted to. Good cyberdeck ability. Next. I changed my USBA to use the TI ESD diodes from my other pages since they are much nicer than the weird cheapo chinese one that I had before. Next again! Some little touches here and there on wiring. Look! USB has the keyboard wired in! That’s just an example of one little touch. Basically all pin mangement though. Double checking, triple checking, quadruple checking. I will never stop checking. Anywho, I also mentioned planning. I am switching to Linux. Planning on windows initially was a little silly but I wanted to be able to use fusion360. I could maybe use proxmox with windows? Depends what ram version I get of the Mu. We will see! This also means I shouldn’t need to run GPS and LORAWAN as USB devices, but rather straight to the mcu over i2c/spi/uart (haven’t decided). Technicallyyyy windows supports that but you need ring 0 level drivers which are incredibly annoying to deal with because of security shtuff. So, I just won’t deal with it! Linux to the rescue. This is probably the right choice for a lot of reasons I have yet to determine. That’s all for today. Next is gonna be finally tacking GPS and Lorawan I think? Or maybe I put it off more by doing trackball stuff. Though I may just make the trackball a USB module so that I can move it…. We will see. It’s funny, I am already past 24 hours of work on this… and I haven’t started any routing or cad. None. Zero. Yippee.
GPS and LORA!! These are the last two major things of the project. I am forgoing the continuity checker now because all my flight computers do continuity checking and, more importantly, I don’t feel comfortable applying current to explosive charges using anything I designed. First was GPS. I spent a while researching bias tee circuits so I could properly supply 5v to my active antenna. Bias tees are circuits that inject DC power into coaxial, aka AC, lines without disrupting the signal. Black magic in my opinion. Witchcraft. Regardless, after all my research, a friend pointed out that ublox has an integration manual that gives you the exact circuit needed. Because of course I would find that after my research. It’s actually quite simple in the end. I wired power, ground, uart for data, and the antenna line. That’s it. I just have to remember that the antenna line is impedance matched to 50 ohm, which means I need to specify board stackup and all that jazz. I already need to do some of that stuff for other high speed sensitive signals like usb 3.2, ethernet, and hdmi, so nothing new for this project. This should be fully functiona GPS for my deck because linux is cool and supports uart well. This gps module is ten bucks… sheesh. Anywho, next, and somehow the last part of the entire schematic, was LORAWAN. I was initially using an SX1262 module from SEEED Studio but unfortunately none of those feature UART, only SPI. Technically speaking, the Mu has SPI, but it is in practice only able to be used for audio. So, I had to find something with UART. I ended up finding the RAK3172-T. This is a cool module that uses a fancy MCU from ST that has lorawan integrated. Actually, it is the exact same mcu I am using for a camera controller board. That camera controller project is the reason I am putting lorawan on this deck in the first place (there are other reasons too now, but that was the main driving one). So, funnily, we come full circle. Because this is a full MCU it does need firmware updates, so I have to include an STLink header and reset/boot buttons, but thats fine. Besides that I hook up uart and power and we are good to go. That leaves us with our last schematic page completed. Kinda. I determined that, unfortunately, I cannot do this as one big PCB like I had originally intended. That’s chill, I just have to break off the keyboard, which I can do. So, the keyboard is now its own board. That means adding a usbc port to the keyboard for internal wiring. Easy peasy, in the bottom left. It’s just usb2.0, so nothing fancy. Oh, I also need to add a 3v3 regulator. Huh. I just realized that literally while typing this. Let me grab the one from my deck. Problem solved. This takes 5v from VBUS and converts it down to 3v3 for everything else. Simple fix. The cool thing about having my keyboard be a separate board is I could make the keyboard detachable. Will I do that? Not sure. It would be pretty neat though. This also meant adding another internal USBA port for the keyboard wire. While I was at it, since I have extra usb lines, I added another external USBA port aswell. I organized the schematic a little while I was at it to make things look nice. I now have 3 internal USBA, 2 external, and 2 external USBC. That’s 7 ports total, 4 of which are accessible externally. The 3 internal are reserved for an rtl-sdr, the keyboard, and powering the screen. I actually went through and organized all the unorganized sheets! It looks pretty nice now. There’s USBC Ports 1 and 2. There’s Ethernet. There’s storage and wifi. And last, but not least, power finalized. I cannot really organize hdmi much because of the way I intertwined all the stuff, but they don’t look bad. Well I can split off the ESD diodes like this: Yeah sure, why not. Both pages for hdmi are identical. That’s it. All I have left before I can start [Entry truncated]
Little fixes, little annoyances. Ok so. I had to make a bunch of small fixes in prepping for pcb time and ugh. For instance, changing every instance of a + or - to _P or _N. Why? Because I decided I like that more and want it to be consistent across my whole schematic. What else… I ran DRC a few times to catch issues. Everything is wired up now. Running DRC also showed me that some components were missing footprints, so I had to resolve that. For the most part that was an easy fix. But, I found out my usba 3.0 port was completely messed up and was somehow half of a 2 port schematic, with no footprint. So I had to fully replace that component. Fun fact - majority of LCSC usba 3.0 ports have no footprint or schematic. Problematic. I found one though! Tadaaa. Oh I also realized I forgot fans and a power switch setup. Fans were easy, I just stole the circuit from the lattepanda reference design because I know that works. Fan 1 is the cooler attached to the lattepanda while fan 2 will be some sort of additional inlet or something. I haven’t decided yet but I will figure it out. It’s nice to have either way. > Power switch is simple but actually made me realize I had no way to cut power to anything but the mu, or everything. All or nothing basically. And that is not great for battery life, especially when my battery charging/monitoring circuit NEEDS to maintain power or else I could get a lipo fire (and I can’t charge my battery, and I can’t turn on stuff, etc). So, I split my 5v into two sections. 5v for the battery side and 5v for everything else. Then I put a load switch between the two and wired it to the power button. 90% of the power draw that isn’t the mu is on 5v. 3V3 draws practically nothing and it’s for the best that I maintain 3v3 power, as the Mu needs that for bios stuff. 12v is also needed to stay on as the Mu doesn’t fully lose power, it goes into a shut-down standby mode waiting to be turned back on. This protects your data and whatnot. In desktop PCs, the PSU never actually turns off unless you actively turn it off! The power button just kills everything else. Same philosophy here. Now I think I really am ready to start the pcb. I do want to maybe take a look in cad first to get an idea of what to do, but I could also just take a reserved design approach and work around the pcb. My two main design goals would thus be access to I/O and keeping it thin. Those are pretty simple if you just keep it in mind. I do need to make sure there is space for internal components and the screen and whatnot. PCB Soon!
Keyboard 2 - Electric Boogaloo. So. I fiugred out that my footprint for the keyswitch sockets was wrong as it did not contain the necessary mounting holes for the switches. This meant I had to redo the keyboard. I took this opportunity to also move the brains up top. This makes the keyboard way less wide, allowing me to make the whole deck less wide. Hooray. I also took progress photos this time. I started by organizing the key grid. Because this is an ortholinear keyboard, it really is just a basic grid. Each diode got put in a little slot at the top, where there is a cutout in the key switch. This is important to avoid collisions of the keys with the diodes. Next I wired up the rows and columns. This is always the most time consuming part. Once I had the grid done, I decided to do something I don’t normally do. I adjusted the pin locations to match the physical layout, allowing me to make a MUCH better looking circuit. It went through a few iterations. Here are two of them. The second looks way better. The columns all connect to the sides while the rows attach to roughly the bottom right. This makes the whole circuit very well organized and creates “wings” of sort out of wiring for the columns. I love it. Next was the brains! I challenged myself to make this as compact as posSIble - good practice for when I have to do the Mu board. It looks pretty great! Left to right it goes USB, 3v3 LDO, MCU, and then debug switches. Here is a close up of the usb section. It is so compact! This board is 2 layer too. If I can get this compact on 2 layer, imagine what I can do with 4 or 6 (aka the mu board). I really didn’t want to redo this board but I am very glad I did. It is way narrower, at 228.5mm wide instead of 260mm, allowing me to keep this deck small. Specifically, small enough to fit structural parts on my 3D printers without splitting them up. Because it’s way cooler to not have ugly seams/splits! I am getting really excited for this project. The keyboard board is so good.
Keyboard! I finally decided to do some pcb design for this project and put the whole keyboard together. Did I remember to take progress screenshots? Nope. So. This is the board. I need to add some mounting still but I cannot figure out what fits without messing with cad a bit, as this pcb doesn’t have a representation of the switches. Here was my process. Organize. I started by manually laying out the whole key grid. Easyeda has tools to do this, but they cannot handle multiple components that group together (like switches and diodes). So, I did it all by hand. The keys are on a 17.5x18.5mm grid. This should put 1mm between each key. I then put all the brains on the left of the board for no reason other than I felt like it. In hindsight I maybe should have put them on the top, but I don’t think I want to redo it . Wire the grid. This was tedious as I had to go and do the traces for each diode and key, but I got it done. Wire the brains. This is for 2 layer, so I have no gnd or 3v3 planes, something I have grown very used to. Wire the grid to the brains. This took the most time as I had to keep redoing traces when I figured out I blocked something. That’s it ! A super quick ortholinear 50% keyboard with USBC for my deck. It may be detachable, hence the USBC. I haven’t decided yet but I will soon. That’s the easy part of this project done. Next is a bunch of hard routing. Ugh.
CAD Break! I decided to toss the keyboard pcb in cad so I could get a full mockup with the switches and just get a general vibe for the scale. It turned out really good! I just did it with a simple rectangular pattern, the hardest part was lining up everything initially. The keycaps are an open source design I found called MOTE. https://www.printables.com/model/864126-mote-choc-low-profile-flat-keycaps I really like the flat look. On the real thing I will probably get legended keycaps but I don’t think I will cad that. I mean maybe I could if I feel like placing a ton of decals (I don’t). Maybe I’ll get bored. I actually had to swap out the boot and reset switches 3 seperate times while I was trying to find something low profile enough to fit under the top plate. This will have a solid plate over it after all and I can’t have that hitting the buttons. The original ones were way too tall. The second revision was better but still too tall. So for the third I got the literal lowest profile I could find. These bad boys are half a millimeter tall. They should work though! Was only mildly tedious to export the 3d file, make changes, export again, make changes, export again, make changes, and export for the last time. Just typing that was annoying. But I did it for the love of the game. I really need to stop procrastinating on the mu board. But, I might do some general cad of the whole deck first. Not sure. TBD.
Beginning of the PCB. The big one. And planning. Okay. So. I imported all the pcb stuff and dear lord is there a lot of components. So. What’s the first step? Sort it! I sorted everything by schematic page and then within the pages by section/component. That way I know what capacitors and resistors belong to what just by glancing at my design. During this sorting, I felt that my battery stuff was looking off. There was an excess of components and some weird duplicates. Turns out, I had accidentally copied a couple things that Ti included in their reference circuit that exist only for internal Ti debug. AKA, they are useless to me. So I went and removed those. Extra programming headers mainly, with some resistors paired with em. It’s kinda goofy how big of a spot the battery connector gets but its ok. Anywho, with that out of the way, I now had a sorted design. You can see the clusters of components and whatnot. Looking at it now, I realize that one of the usbc ports should be by the power circuity (bottom right) since it is part of that. Not that you can read the words, but you can see stuff moved. Here it is with ratlines by the way. Completely unreadable. Anywho, game plan. I can’t quite figure out sizing but I can kinda let the pcb decide that. This is gonna be a bit of a thick boi but that’s alright. I think the mu will be on the back of the deck, not the front, as I can put a vent back there. And then the screen can go on the other side. I have a few requirements though: Aim for a max width of 230mm. I have a lot more space in Y than X (x is the 230mm) to expand if needed, because of the screen. External ports on the right if possible. Antennas up top if possible. Internal ports on the bottom if possible. Mu somewhere in the middle! That’s my plan for now. Obviously, I can change where things end up to fit my format better. But I think that plan should work out. I will need some usb male to female cables to make routing everything work I think. Mostly for the internal rtl-sdr. PCB Time!
Power circuitry and some usbc 3.2. So. High speed routing is probably what I hate most in the world right now. It’s so annoying, it’s all diff pairs, you gotta be so careful. Bleh. Impedance and length matching. Bleh. Regardless, I started routing the very first usbc port just because I have to work around it’s traces. This took an hour. This. It’s 8 trace routes. Although because of how easyeda works it’s split into like 16 different configured differential pairs. Each one needs the rules assigned to tell it spacing and width. Then I had to actually route them. TX lines are supposed to get their passives closer to the USBC port while RX lines get it closer to the device, but both kinda got it in the middle because of how the spacing works out. Oh, and they all get piped through ESD diodes. Then I had to length match them within like, 0.1mm. Blehh. After that I worked more on power circuitry. I needed to route I2C lines within the power circuitry so that the ICs could talk to eachother, as well as add more passives that I had forgotten. Mostly decoupling. I also shifted the VBUS line down so I would have room to wire 5v and 3v3 to all the ICs crammed in there. Before that they were all kinda blocked on my power plane, which defeats the point of a power plane. More on usbc. I had to change nets (pins) a bunch in my schematic to get this to work because I needed them to line up with the physical pin and component locations so I wasn’t crossing paths or anything. While doing this, I noticed something. My USBA 3.2 port was doubled up on pins, sharing with my first USBC port. That’s not right… Turns out, I had made a big oopsie. By default the lattepanda mu only exposes 2 usb3.2 paths. Exposing more would require messing up my hdmi or ethernet. And that doesn’t work. So, I actually had to delete my usba 3.2 port! That’s fine, I have two usbc and a usba still, the usba is just 2.0. But, be honest, who actually needs usba 3.2 when you have usbc? Worst case I plug in a hub. This gives me a decent bit more space and actually makes my life easier. Yay. Anywho, I think the power circuitry and first usbc port are actually done? Ish. I need to route 3v3 and 5v still within the power circuit, and I need to connect the USBC port to the Lattepanda Mu. But those will come later as there are a lot of other components those work around. I spent way too long figuring out how to do high speed traces. These usbc traces are all matched to 90 ohms, all length matched within their pairs, all spaced out, connected to ESD diodes, their passives, aaaaah. There is so much to keep track of. This is the net rule menu for the usbc traces. There are 12 more not pictured, roughly. Each one gets assigned the “usbc” rule I wrote, which just defines spacing and width. I believe spacing and width are like 0.254mm and 0.155mm? Something like that, I know the width I said is right. Spacing is less important as it’s just “make pairs close, make not pairs far”. I think. This is all just my interpretation and it could be wrong. We won’t really find out for sure until I try to use the board! Regardless, I made some serious progress and am getting excited for this to be done! I think I can use this to qualify for OutPost! Hopefully. I really want to go to open sauce again. Next I think is the second USBC port and starting the last of the power routing. Yay.
Power circuitry! I wasn’t sure where to start and I certainly didn’t want to start with any highspeed routing. So, we are doing the power circuit first. I started with simply just… trying to get everything connected and compact. This would prove harder than I anticipated. It’s a big mess honestly. I was working without ratlines so that I can actually see what I am doing, and that means I forgot some components. So it actually just got worse for a bit. The big thick trace is 12v main power. This is up to like, 35 watts, so it needs to be super big. Hence the 3mm wide trace. We have roughly: Bottom is 5v. Top middle is 12v. Top right is battery charger. You can kinda see the ICs buried in there. Those are the focal points. The very first thing I did to make this better was move 5v. I realized there’s no reason it needs to be so smushed in there. So, it gets scooted over to the left. Much better. Zooming in on 5v… I did some rearranging to make it less wonky and added the components I had forgotten - mainly decoupling caps. I am really good at forgetting decoupling caps. Since 5v is the main power for the system besides 12v for the mu, it gets a big big decoupling cap. That’s the big thing on the left. There are actually three ICs in here. One is the 5v buck converter, one is the 5v load switch for the system, and one is the 3v3 LDO. I completely forgot 3v3 is in there! Not that it’s easy to tell. This is the current state of the power circuitry. We have from left to right: 5v and 3v3, 12v, battery charger, and charger EEPROM. Plus the battery and thermistor connectors. Here is a view of the internal power layer. I used a mix of wide traces and copper pours for this so that I can guarantee my traces are wide enough. I also used multiple vias for connections in a lot of spots to give more “wire” for the power to go over. It’s way less of a mess now than when we started, and it was annoying to get to this point. I am still not sure if I am super happy with it, but I think it is good enough for now. I still need to wire up the i2c control, but that requires the USBC PD controller be wired. And I haven’t gotten that far yet. I think that will be next? Though I may need to route some high speed traces first so I know what I am working around. Not totally sure, I’ll probably ask one of my smarter PCB friends what to do. I am gonna get this done, whether through perserverance or straight up spite.
The second usbc port! I have decided that differential pairs are my greatest enemy. Truly, this is miserable I worked from the “bottom” up, routing traces through their passives in impedance and length matched pairs. This worked surprisingly well and I ran into minimal issues. Something cool I was able to do was go back and use open channels on existing ESD diodes rather than adding more. Specifically, that one at the top. It had one pair from the first usbc port, and now has a pair from the second port. Since they both had to be routed around the plug legs like that, they end up in the same spot. RX lines get just resistors while TX lines get capacitors and resistors. That’s what the smaller passives are on two of the lines - capacitors. Once I had those 4 lines routed, I get to route the less crucial lines. There’s still a diff pair in these ones, but since it’s usb 2.0, it is way less important where that bad boy goes. It’s lower speed. Higher speed = more fragile = more important. For these routing I had to add the other chips necessary for the port. One for protecting vbus shorts and one for connecting vbus to 5 volt, since this port needs to be a power source, not just a sink. That way it can power other devices. This is what those vbus lines look like. They will be connected to 5v ultimately, but I have yet to route 5v. Soon. With a couple more traces, I had this USBC port complete. This one is a mess. And it was super tedious as always. But after this I get to route just some nice chill usb 2.0 as a break before I route HDMI. Hdmi has waay more passives on the diff pairs for some reason. HDMI and Ethernet also mean I get to deal with writing new differential pair rules as these have different impedances from USBC. Anywho, here’s both usbc ports together. It’s really getting busy in here! Can’t wait to add more. On the logistics side of things, I got approved for super hardware builder for Outpost aswell as got my flight stipends approved. That means I am going to Open Sauce/Outpost! I need to finish this project by July 7 to truly “qualify”, though if I already have flights… I’m not worried, I’ll get it done in time.
I routed 1 hdmi port and 4 usba 2.0 ports! I am making solid progress! First was hdmi. This required defining a new differential pair rule for 100 ohms instead of 90 ohms (usb spec). Easy enough. That’s the rule. Anywho. HDMI has a pretty interesting circuit on it actually. When the device goes to sleep or shuts off, it pulls all the hdmi lines to gnd with a mosfet. I always thought the way computers did sleep for hdmi was something way fancier but no. It literally just shunts the signal to gnd. Pretty neat in my opinion! That’s the big circuit with resistors on the left. All into a mosfet that triggers with sleep or shutdown. The sls_s0 operates that way - only active (low) when the device is in use. Recreating this was a bit of a hassle honestly and really made me think. But I got it figured out in the end. From right to left it goes connector, ESD diodes, resistors, and then ac filtering capacitors. AC filtering capacitors ugh. Doesn’t that sound like it should filter out AC? But actually, they work by blocking DC and only letting AC through. I think that should be named DC filtering but idk I ain’t no electrician. Rant aside, those resistors will get connected to a common line in the signal layer (layer 3) and then to a mosfet. Next was an I2C level shift. The HDMI side of the I2C lines operate on 5 volt while my device side operates on 3 volt. So, I use a little IC to handle the level shift and make sure my data stays clean. Did you know there is I2C in HDMI? I sure didn’t, but it is fascinating. Basically, the I2C lines are how your device figures things out like screen size, resolution, refresh rate, color profiles, etc. Basically, it is how the device and screen “talk” about what each is capable of and what they need from eachother. Over I2C! I’ve personally seen 30 foot hdmi cables. You’re telling me I2C lines can be 30 feet long without issue?? Wow. Fascinating stuff. Second rant aside, the next circuit was my hot plug detection and 5v power. This is the last bit. These just get lumped together because the pins are together. 5V is on the very left with the rectangle thing, that’s a diode. Everything to the right of that is hot plug detect. It basically tells my device that a screen was unplugged/plugged in while my device was on so that it knows to reconfigure everything. Pretty neat. That’s a full hdmi port! It looks like this: Next was the USB ports. One is external and the other three are internal. They are all basically carbon copies save for two of the internal ones sharing an ESD diode module just because they can and I want to cut down on components. They all get ESD filtering on the data pair, plus a fuse and decoupling capacitor on the 5V power line. That way an overcurrent blows the fuse and not my whole board. That’s it for this entry! I am on a roll today and honestly may not sleep for a while to just keep going. Or I will. I don’t know, it’s late. Next is the second HDMI port and the Ethernet port. Not sure which will come first. Probably HDMI since I know how to do it.
I routed the second hdmi port and the ethernet port! HDMI was super straight forward, just a copy of the other one rotated 90 degrees. Did take me a second to remember what I did but I got it done. Next was ethernet. I had no idea what I was doing for this but here we go. I started connecting the diff pairs of the connector to my ethernet controller. This converts the ethernet junk to PCIE for my Mu to deal with. All length matched, impedance matched to 100 ohms, spaced out properly, ESD filtering, etc. All sorts of nonsense. It was at this point, when I went to wire the passives for my ethernet controller that I realized - hey, this needs 1v0. I don’t have 1v0 in my power circuit. Time to speedrun a power circuit. Ready… Set… Go!! I started by pulling up TI WeBench to get a power circuit schematic. I inputed 1v and 500ma and it outputted a couple options. I picked the first one, the cheapest. It gave me this. I used it to make: This. Identical circuit, just some pins moved on the symbol. I threw this onto the Ethernet page because my Power page is full, and because this is gonna be near the ethernet connector as I don’t trust the 1v to survive a path across the board. Just in case. After that, I synced the schematic to my pcb, and threw together the circuit on board. Stupid simple, so it’s stupid reliable. Boom. Power circuit done. With that fixed I could go back to adding all the passives and power hookups for my ethernet controller. Bam. Done. This thing has so many power hookups, it’s unreal. 4 different pins get 1v0, 3 different pins get 3v3. That’s 7 pins. Wtf. It’s ok though, I got it done. I did have to route decoupling internally for a couple pins just because they got placed next to high speed pairs for some reason (stupid placement realtek. stupid placement.). I think if I do this again I will use a TI IC for ethernet because the realtek documentation is mid and 1v0 is stupid. Give me 3v3 and 5v like a sane person. Anywho, with that done, all the ports on the board are wired. Yup. All of them. HUGE progress. But - what do I have left? m.2 slots CMOS battery fans gps lorawan final power routing (5v and 3v3) final signal routing (hook it all up to the mu) That’s it! Only 7 things on my checklist. M.2 slots are more diff pairs because of course they are, but after that it’s smooth sailing stupid logic until the final signal routing. And even then, that is partially stupid logic too (high speed = smart logic, low speed = stupid logic). I guess I’ll tackle M.2 next? TBD.
High speed routing!! I connected everything up to the Mu. This sucked. Things kept overlapping and it was so bleh. I started in the top right with USBC and worked down and to the left. Well. I actually started with the m.2 because they are right next to the Mu, and then went top right to bottom left. It was at this point that I felt like something might be off. Why would the pins for one HDMI port be backwards but not for the other? The answer was simple: I had the pins wrong. Oops. Once I fixed that I could line up everything real nice. But first, after a tip from a friend, I dropped the USBC lines down to the bottom layer so that everything else could be top. This made it so much cleaner looking. SO much better. I am a little worried about EMI from the buck converters but I think it might be ok? I’ll add a bunch of GND vias or something. After I had those all wired up, I did the last few small circuits. LORAWAN. GPS, with the antenna keepout. The power switch. The fans. And last, but certainly not least, the CMOS battery. And with that, all the individual circuits are complete. So what’s left? I literally just have to connect all the low speed lines up to the Mu, and I am done. This is no small task, as I have to weave around and through all the high speed lines, but it is very possible. It will get done soon.
So. I did the pcie ports. This was a doozy. So for my 3V3 setup for this board, I have a 500ma LDO. Because I don’t have much 3V3. I thought. Fun fact - M.2 SSDs draw up to 3 amps. Uh oh. 3 amps??? That’s insane! So, I initially was just adding a 6a circuit. I got that all sorted. Turns out, this needs 2oz copper. I am not doing 2oz copper. That is expensive. So I switched. Each m.2 gets its own 3V3 3A circuit. Not actually that complex! Just annoying. It was at this point that I also realized I had both M.2 on the same PCIE lines. This does not work. So, I had to delete ethernet to get another pcie set. This is fine. I was never really going to use it if we’re being honest and it lets me make the whole board much smaller to get rid of it. The board is like, 120mm wide now! In that photo you can also see the completed M.2 circuits. Each one has a power circuit tapping into the main 12v, and some passives for stuff like filtering high speed lines and a status LED - one per M.2. Here are some closeups! The circuits off to the side of each port are the power circuits. The bottom left two components are the status LEDs, and the top right two components are filtering capacitors for high speed lines. With those updates, the board is now ready to hook up all the high speed pairs to the mu! After that I get to do low speed, power routing, and be done! Woooo. I am so ready to be done with this pcb.
Low speed routing, mounting holes… we are done!!! As the title of this entry suggests, this is the last entry of pcb design. I routed all the low speed traces, which was the only thing left. Besides mounting holes, which I did afterwards. I started at the top left for this and worked my way clockwise around the board. Mostly. At some point I couldn’t keep track of what needed routed so I was just following what DRC said needed routed, working my way down the list. I started doing that about halfway through. This sucked. I had to bob and weave and sneak my way around all the high speed traces, ensuring proper spacing to minimize cross talk and keep trace impedance correct. Having gnd pours or traces close to the high impedance traces changes impedance because of uhh… parasitic capacitance I think? Electromagnetic fields inducing inductance and capacitance. Something like that. Anywho, lets see it! Look at all that spaghetti. I had to route some traces on my power plane it was getting so busy! Good thing I named it power/aux signal. This is the board with gnd pours on top/bottom. The pours are offset 1mm from all traces, which should be enough to protect the high speed. Here’s the signal layer. Yes, I did route some diff pairs on this layer. They are usb 2.0 and do not care. This is my power/aux sig layer. Mostly big ol power traces and pours, but there are a few signals mixed in that I just couldn’t get to route well on other layers. And those are the GND planes! With that, we have a finished board! Well almost. It needs a bit of silkscreen. That’s better. You can also see the mounting holes in that photo! I just used EasyEDA’s Pad feature to add pads with an OD of 5.8mm and an ID of 3.2mm. Should perfectly match M3 socket head screws. So. Where do we go from here? It’s cad time. I LOVE cad time. I need to physically design the deck itself! Which means exporting the 3D models of my pcbs, modeling out the screen, modeling a case, modeling all the internals, etc. This is the fun part!! Pcbs are NOT the fun part. So… CAD soon!!
CAD!! CAD CAD CAD!! I love CAD. Ok, first things first, I exported the Mu carrier board 3D model and imported it into Fusion 360. I needed to add the M.2 accessories and standoffs for the M.2 and Mu stuff. This was fairly straightforward. The standoffs are M2 x 1.5mm and I used M2 pan head phillips screws as those are typically what M.2 hardware kits include. For the M.2 accessories, we have a full size NVME drive and a half size NVME wifi/bluetooth card. These are lines up to the best of my abilities but may be a smidge off. Thankfully, they are just cosmetic, so it does not matter much at all. Anywho, next up. I started laying things out in CAD for the actual deck. I am going for a minimalist flat slab with a metallic top/bottom panel sandwiching a printed frame. So, that’s what I am laying out! You may have noticed (you probably didn’t) that the keyboard usb port/buttons/etc are now on the bottom of the PCB. This is no mistake! I realized I made a bit of an oopsie - the only way a top plate can fit with choc switches is if all that good stuff is on the bottom. Ugh. So, I flipped those components to the other side of my PCB. This required me to reroute a large portion of the matrix (half of it) and all the traces connecting the matrix to the MCU. As you can see in the photo, all the keyswitch footprints are on the bottom now. Flipped. Anywho, with that out of the way, I could now move on to developing the case. First was the top plate. This is a 1.2mm aluminum lasercut plate that I will be getting anodized Red to contrast the Black 3D printed mainframe. I started by making the keyswitch grid. This is a 17.5x18.5mm spaced 12x5 grid of 13.5x13.5mm squares. Quite a mouthfull. The choc switches snap into this plate nicely, and it serves as a structural point of rigidity. From there it gets extended, and the cyberdeck is starting to look like something! I initially went for this clean look where there was no border around the screen besides the one built into the screen - this would later change, but thats for later. I then started building up the black casing. I am targeting 40mm thickness for the printed portion. Which is fairly thick, but it kinda has to be for the lattepanda mu fan stuff to fit. This has a lip for the keyboard pcb to rest on and mounting holes for the keyboard pcb. I will later add bracing under more of the keyboard pcb but for now I am focused on the outermost shell. It then gets extended under the screen! Man, it’s looking awesome. However, it was at this point that I remembered - hey, the ports for my screen are on the outer edge! How would the cables reach the interior with the ports on the exterior…. They wouldn’t. So, it gets extended! Bam. I actually like how the red border ties it all together and think this still looks awesome! Albeit bigger, but that’s ok. At this point I also added a flat back panel to finish the sandwich. This will ultimately have screw holes and ventilation in it, but for now it can stay flat. That’s all for this entry actually! I made a lot of cad progress, but as you may have noticed this entry took a while to get posted. That’s because I went to OutPost IRL! It was a life changing event and I had so much fun. It was so awesome. Anywho. What’s next? Literally just fleshing out the casing. I need to: Add cutouts for the I/O ports Add internal structure/Skeleton Add ventilation/Fans Add Battery Split part into smaller printable sections And then submit! I am getting so close!!!
Final CAD touches. Wow. That went quick. This is the final cad entry though. First things first, I had to split the casing into two sections that would fit on my printer. These sections would be joined with M3 bolts and heat set inserts. This is a simple overlapping butt joint with 4 screws per side. Nothing complex, was just a few sketch and extrudes. Next was building up interior structure, which you can see part of in that screenshot. I basically just needed mounting for the screen and board. This is what I came up with. I also added the port cuouts on the side while I was at it. This one interior strucutre has mounting holes for both the screen and the lattepanda carrier PCB. Here is the other side. Unfortunately, this will need supports to print, as I couldn’t think of a way to avoid them, which hurts me. But it is what it is, I will make do. Here is the interior with the components. Looks good! Lastly, I added 4 antennas. That’s right, 4. One is on the inside in this corner! The square one internally is a GPS antenna. It is a ceramic active patch antenna. The other 3 antennas are simple “rubber ducky” antennas for Wifi+Bluetooth and LORAWAN. Short and simple. That’s it for cad! Now I just need to take renders and put the repo together with a BOM and stuff! Wait, I forgot screws. Now we good. I also added slits to the back for cooling! They will just be lasercut into the aluminum. Okay, alll done for real this time. Now we move on to renders and stuff.
I worked on preparing for shipping this project. I made most of the BOM, took some renders, did some Github Repo formatting. I am so ready to be done with this project but I am worried about budget as my PCB is rather expensive with tariffs/shipping. Maybe I reach out to PCBway for a sponsorship or something. Ugh, I don’t know. Anyways, peep the cool render....
|
1792644910.7178156
|
1793249710.7178156
|
|
14575
|
health thingy by @anshulm1669 | Stardance
|
anshulm1669
|
0
|
2.54
|
0
|
[]
|
[{"post_id": 7861, "ts": "2026 [{"post_id": 7861, "ts": "2026-06-13T03:27:51Z", "hours": 2.5392, "text": "80% of doctors calendar done"}]...
|
Title: health thingy by @anshulm1669 | Stardance
Title: health thingy by @anshulm1669 | Stardance
Devlogs:
80% of doctors calendar done...
|
1792662921.76903
|
1793267721.76903
|
|
4852
|
Public Transportation Map by @ray120424 | Stardanc Public Transportation Map by @ray120424 | Stardance...
|
ray120424
|
1
|
0.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-03T05:34:11Z", "hours": 0.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I just create taichung, kaohsiung MRT and Taiwan High Speed Rail in my map.", "repo": "https://github.com/HaKexva/public_transportation_map", "demo": "https://public-transportation-map.up.railway.app/"}]...
|
[{"post_id": 786, "ts": "2026- [{"post_id": 786, "ts": "2026-06-02T13:35:31Z", "hours": 0.4342, "text": "Create Taichung and Kaohsiung MRT"}]...
|
Title: Public Transportation Map by @ray120424 | S Title: Public Transportation Map by @ray120424 | Stardance
Devlogs:
Create Taichung and Kaohsiung MRT
Ships:
I just create taichung, kaohsiung MRT and Taiwan High Speed Rail in my map....
|
1793249763.3407092
|
1793336163.3407092
|
|
51156
|
Fleeting by @Cret | Stardance
|
Cret
|
1
|
10.48
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-26T15:14:18Z", "hours": 10.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I make a quick note app for ADHD. By using this app, you can just forget to organize your notes. When you suddenly remember, you can directly do a vague search. When you are about to forget, it can remind you just right.", "repo": "https://gitlab.com/IHateGitHub/fleeting-prev", "demo": "https://testflight.apple.com/join/sJhN18r4"}]...
|
[{"post_id": 78532, "ts": "202 [{"post_id": 78532, "ts": "2026-10-11T03:37:02Z", "hours": 0.4814, "text": "rewrote the readme file"}, {"post_id": 50759, "ts": "2026-08-20T03:40:40Z", "hours": 9.8222, "text": "This project is designed specifically for individuals with ADHD. Research indicates that the ADHD population faces physiologically unique and severe cognitive challenges: First, their working memory bandwidth—responsible for holding fleeting thoughts—is extremely narrow and exceptionally prone to collapse. While a neurotypical brain typically retains working memory for 10 to 15 seconds, an ADHD brain often loses it in just a few seconds. Abnormalities in prefrontal dopamine pathways render their attention extraordinarily fragile. Any minor external stimulus—such as unlocking a screen, a 0.5-second app cold-start delay, or cumbersome “New Note” buttons and categorization workflows—acts like a disruptive sensory intrusion. It instantly shatters and dissolves newly formed neural circuits, causing brilliant sparks of inspiration to vanish forever. What is most devastating is knowing they just had a brilliant idea, yet it has been permanently erased. This “acute thought evaporation” frequently triggers deep self-blame and mental exhaustion. Second, they struggle with severe executive dysfunction and “initiation paralysis.” The vast majority of productivity and note-taking apps on the market are built around neurotypical prefrontal logic, forcing users through preliminary steps like titling, choosing folders, manual tagging, and formatting before they can even begin recording. While simple to neurotypicals, these prerequisites are instantly amplified in the ADHD brain into an overwhelming, suffocating decision-making load, inevitably leading to executive overload and abandonment of the task. Furthermore, individuals with ADHD suffer profoundly from “Object Permanence Failure” and “Retrieval Cue Failure.” Under the premise of “out of sight, out of mind,” content buried within nested folders quickly turns into a permanently forgotten “digital graveyard.” Conversely, keeping everything on the home screen triggers intense visual overload and avoidance anxiety. When attempting retrieval, they often struggle to recall exact keywords, rendering traditional keyword-dependent search completely useless. This is precisely why Fleeting abandons the conventional, counterproductive trap of feature bloat. Instead, it embraces neurodiversity through radical, physics-level reduction. By compressing the entire process into a single, intuitive “Launch-to-Record” action and silently attaching implicit spatio-temporal fingerprints (such as time and context) in the background, Fleeting shifts the burden from “active keyword recall” to “contextual reconstruction and visual recognition.” It serves as a secure, guilt-free external thought airbag for these fragile yet precious sparks of insight."}]...
|
Title: Fleeting by @Cret | Stardance
Devlogs:
Thi Title: Fleeting by @Cret | Stardance
Devlogs:
This project is designed specifically for individuals with ADHD. Research indicates that the ADHD population faces physiologically unique and severe cognitive challenges: First, their working memory bandwidth—responsible for holding fleeting thoughts—is extremely narrow and exceptionally prone to collapse. While a neurotypical brain typically retains working memory for 10 to 15 seconds, an ADHD brain often loses it in just a few seconds. Abnormalities in prefrontal dopamine pathways render their attention extraordinarily fragile. Any minor external stimulus—such as unlocking a screen, a 0.5-second app cold-start delay, or cumbersome “New Note” buttons and categorization workflows—acts like a disruptive sensory intrusion. It instantly shatters and dissolves newly formed neural circuits, causing brilliant sparks of inspiration to vanish forever. What is most devastating is knowing they just had a brilliant idea, yet it has been permanently erased. This “acute thought evaporation” frequently triggers deep self-blame and mental exhaustion. Second, they struggle with severe executive dysfunction and “initiation paralysis.” The vast majority of productivity and note-taking apps on the market are built around neurotypical prefrontal logic, forcing users through preliminary steps like titling, choosing folders, manual tagging, and formatting before they can even begin recording. While simple to neurotypicals, these prerequisites are instantly amplified in the ADHD brain into an overwhelming, suffocating decision-making load, inevitably leading to executive overload and abandonment of the task. Furthermore, individuals with ADHD suffer profoundly from “Object Permanence Failure” and “Retrieval Cue Failure.” Under the premise of “out of sight, out of mind,” content buried within nested folders quickly turns into a permanently forgotten “digital graveyard.” Conversely, keeping everything on the home screen triggers intense visual overload and avoidance anxiety. When attempting retrieval, they often struggle to recall exact keywords, rendering traditional keyword-dependent search completely useless. This is precisely why Fleeting abandons the conventional, counterproductive trap of feature bloat. Instead, it embraces neurodiversity through radical, physics-level reduction. By compressing the entire process into a single, intuitive “Launch-to-Record” action and silently attaching implicit spatio-temporal fingerprints (such as time and context) in the background, Fleeting shifts the burden from “active keyword recall” to “contextual reconstruction and visual recognition.” It serves as a secure, guilt-free external thought airbag for these fragile yet precious sparks of insight.
rewrote the readme file
Ships:
I make a quick note app for ADHD. By using this app, you can just forget to organize your notes. When you suddenly remember, you can directly do a vague search. When you are about to forget, it can remind you just right....
|
1793152071.8349056
|
1793238471.8349056
|
|
69059
|
My personal site! by @sisuisthebest | Stardance
|
sisuisthebest
|
0
|
1.75
|
0
|
[]
|
[{"post_id": 78529, "ts": "202 [{"post_id": 78529, "ts": "2026-10-11T03:29:57Z", "hours": 1.7531, "text": "Added simple home page and music recommendations, as well as some css files for styling."}]...
|
Title: My personal site! by @sisuisthebest | Stard Title: My personal site! by @sisuisthebest | Stardance
Devlogs:
Added simple home page and music recommendations, as well as some css files for styling....
|
1793130494.412919
|
1793735294.412919
|
|
68874
|
World's Most Annoying Alarm by @TheGeekachu | World's Most Annoying Alarm by @TheGeekachu | Stardance...
|
TheGeekachu
|
0
|
6.65
|
0
|
[]
|
[{"post_id": 78526, "ts": "202 [{"post_id": 78526, "ts": "2026-10-11T03:15:00Z", "hours": 0.57, "text": "I finished the firmware for the world’s most annoying alarm clock! It insults you every time the alarm blares, and you can optionally press the second key to get insulted on purpose. YAY ig."}, {"post_id": 78493, "ts": "2026-10-10T23:23:55Z", "hours": 6.0842, "text": "I finished the CAD work for the project, and also the PCB. LibrePCB is very different from KiCAD, so I spent a lot of time figuring out how to use the different tool, but it’s a lot less confusing than KiCAD, so I’m happy with the knowledge I gained. I then did Onshape. Uptil now, the most I’ve done in Onshape is make an incense stick holder, so it was a pleasant surprise to discover the capability and intuivitiveness of the tool. Thanks for the tutorial, BLARE!"}]...
|
Title: World's Most Annoying Alarm by @TheGeek Title: World's Most Annoying Alarm by @TheGeekachu | Stardance
Devlogs:
I finished the CAD work for the project, and also the PCB. LibrePCB is very different from KiCAD, so I spent a lot of time figuring out how to use the different tool, but it’s a lot less confusing than KiCAD, so I’m happy with the knowledge I gained. I then did Onshape. Uptil now, the most I’ve done in Onshape is make an incense stick holder, so it was a pleasant surprise to discover the capability and intuivitiveness of the tool. Thanks for the tutorial, BLARE!
I finished the firmware for the world’s most annoying alarm clock! It insults you every time the alarm blares, and you can optionally press the second key to get insulted on purpose. YAY ig....
|
1793127080.5302196
|
1793731880.5302196
|
|
60012
|
ReNova by @Nicormu | Stardance
|
Nicormu
|
1
|
21.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-24T16:49:23Z", "hours": 21.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "ReNova ReNova is a web app from Colombia where people give away or sell things they no longer use. Donation is the main idea: any product can be posted for free so it reaches someone who needs it. A seller posts a product, buyers send a request, and if the seller accepts it, both talk through an in-app chat to arrange the handoff. There are no payments in the app. We built it with Next.js, Firebase, and Cloudinary, and added email verification and an AI assistant called Helpy. It’s still a work in progress. Some buttons don’t do anything yet (like the search bar, category filters, and sorting), and there’s a lot left to improve. We’re planning to fix those and add user ratings next. Team of five: Juan Andres Granados, Nicolas Rojas, Santiago Hernandez, Paula Solano, and Mariana Castro.", "repo": "https://github.com/Combii0/ReNova", "demo": "https://renovacol.vercel.app"}]...
|
[{"post_id": 78520, "ts": "202 [{"post_id": 78520, "ts": "2026-10-11T02:33:32Z", "hours": 1.4092, "text": "Hi guyssss, I have been working in some thingssss, now you can publish your products with an image and you can send a request to a seller about a product. I hope you like the app :D"}, {"post_id": 76923, "ts": "2026-10-05T03:03:20Z", "hours": 3.7678, "text": "Finallyyyyyyyy, I connected correctly the app with the firebase. New features: -If you register manually, a code will be sent to your email for autentication. -Once registered for first time, your default role will be “Comprador” -To change to role “Socio” you have to be older than 15 years old (your age >= 16), have a valid colombian cellphone number and a valid address. (This last part is not fully implemente by now, I will have to push soon to add this feature JASKJAKS) -No more emojis when publishing the products, now you can add a picture of less than 5mb -Now there is a button to donate the product :D I will continue working on, I hope you like my progress. Any advice or suggestion is validd"}, {"post_id": 72015, "ts": "2026-09-22T00:39:33Z", "hours": 1.1525, "text": "Now you can see the changes in the webbbbb I do not recommend creating an user by now, I am talking to my partner to fix some bugs in vercel"}, {"post_id": 71449, "ts": "2026-09-20T20:48:09Z", "hours": 8.8925, "text": "This is the updateeeeeeee, I’m want to make more user features as changing the name, date of birth, authentication, cell phone number, address and so on. By now, I like how the web is going :D When I was doing the video I saw there were some problems with the product description :c I will continue working on"}, {"post_id": 64535, "ts": "2026-09-09T00:57:26Z", "hours": 5.8181, "text": "Hi, This is ReNova, a web page that wants to give items no longer in use a second life. By now, my task is users and products :D"}]...
|
Title: ReNova by @Nicormu | Stardance
Devlogs:
Hi Title: ReNova by @Nicormu | Stardance
Devlogs:
Hi, This is ReNova, a web page that wants to give items no longer in use a second life. By now, my task is users and products :D
This is the updateeeeeeee, I’m want to make more user features as changing the name, date of birth, authentication, cell phone number, address and so on. By now, I like how the web is going :D When I was doing the video I saw there were some problems with the product description :c I will continue working on
Now you can see the changes in the webbbbb I do not recommend creating an user by now, I am talking to my partner to fix some bugs in vercel
Finallyyyyyyyy, I connected correctly the app with the firebase. New features: -If you register manually, a code will be sent to your email for autentication. -Once registered for first time, your default role will be “Comprador” -To change to role “Socio” you have to be older than 15 years old (your age >= 16), have a valid colombian cellphone number and a valid address. (This last part is not fully implemente by now, I will have to push soon to add this feature JASKJAKS) -No more emojis when publishing the products, now you can add a picture of less than 5mb -Now there is a button to donate the product :D I will continue working on, I hope you like my progress. Any advice or suggestion is validd
Hi guyssss, I have been working in some thingssss, now you can publish your products with an image and you can send a request to a seller about a product. I hope you like the app :D
Ships:
ReNova ReNova is a web app from Colombia where people give away or sell things they no longer use. Donation is the main idea: any product can be posted for free so it reaches someone who needs it. A seller posts a product, buyers send a request, and if the seller accepts it, both talk through an in-app chat to arrange the handoff. There are no payments in the app. We built it with Next.js, Firebase, and Cloudinary, and added email verification and an AI assistant called Helpy. It’s still a work in progress. Some buttons don’t do anything yet (like the search bar, category filters, and sorting), and there’s a lot left to improve. We’re planning to fix those and add user ratings next. Team of five: Juan Andres Granados, Nicolas Rojas, Santiago Hernandez, Paula Solano, and Mariana Castro....
|
1793180860.7798238
|
1793267260.7798238
|
|
69080
|
Questions by @syedakhter | Stardance
|
syedakhter
|
1
|
2.0
|
1
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-11T01:49:03Z", "hours": 2.0, "multiplier": 1.0, "payout": 1, "blessing": "neutral", "text": "This projects name is questions it has questions about math Ela and some general questions", "repo": "https://github.com/8051987-eng/-Questions", "demo": "https://8051987-eng.github.io/-Questions/"}]...
|
[{"post_id": 78515, "ts": "202 [{"post_id": 78515, "ts": "2026-10-11T01:47:37Z", "hours": 2.3153, "text": "Questions amth ela and general"}]...
|
Title: Questions by @syedakhter | Stardance
Devlo Title: Questions by @syedakhter | Stardance
Devlogs:
Questions amth ela and general
Ships:
This projects name is questions it has questions about math Ela and some general questions...
|
1793217338.5039794
|
1793303738.5039794
|
|
68898
|
playground by @michelabrahamvarghese | Stardance
|
michelabrahamvarghese
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-17T06:43:29Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "It was vey easy", "repo": "https://github.com/Peonix1/My-desktop-pet", "demo": "https://peonix1.itch.io/cat-pet"}]...
|
[{"post_id": 78514, "ts": "202 [{"post_id": 78514, "ts": "2026-10-11T01:44:25Z", "hours": 1.4742, "text": "Code"}]...
|
Title: playground by @michelabrahamvarghese | Star Title: playground by @michelabrahamvarghese | Stardance
Devlogs:
Code
Ships:
It was vey easy...
|
1793155877.2277062
|
1793242277.2277062
|
|
69078
|
Random Password Generator by @KevinW | Stardance
|
KevinW
|
1
|
11.0
|
62
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-11T01:47:52Z", "hours": 11.0, "multiplier": 6.19, "payout": 62, "blessing": "neutral", "text": "I learned how to use HTML, JavaScript, and CSS to create a random password generator. I learned how to generate random passwords and use different settings tocustomize them. For me, the most challenging was using Javascript to make random passswords and making sure the code worked correctly. Connecting the HTML, CSS, and javascript together was also a challenge. I am proud that I created a random password generator from scratch considering this was my very first project. People should open the project in a web browser and try generating passwords using the different settings I created. They can change the password length, select which types of characters to include, and generate multiple passwords to see how it changes.", "repo": "https://github.com/wujunfan0/Password-Generator", "demo": "https://wujunfan0.github.io/Password-Generator/"}]...
|
[{"post_id": 78510, "ts": "202 [{"post_id": 78510, "ts": "2026-10-11T01:29:44Z", "hours": 10.5742, "text": "I just finished creating my very first website using HTML, Javascript, and CSS. I wanted to learn how to make something that is useful and practical so I decided to create a random password generator as I always have trouble thinking of passwords. This is my first webpage and I made it through countless hours of trial and error. Because of helpful articles and tutorials online, I was able to successfully complete this project. When you enter the webpage, you are met with a box in the middle of the screen displaying various different selections as well as a password strength bar. You are able to check off elements that you want the password generator to include as well as adjusting the length of it. Below the password, there is a password strength bar that automatically adjusts the level of strength it determines for your password corresponding to the length."}]...
|
Title: Random Password Generator by @KevinW | Star Title: Random Password Generator by @KevinW | Stardance
Devlogs:
I just finished creating my very first website using HTML, Javascript, and CSS. I wanted to learn how to make something that is useful and practical so I decided to create a random password generator as I always have trouble thinking of passwords. This is my first webpage and I made it through countless hours of trial and error. Because of helpful articles and tutorials online, I was able to successfully complete this project. When you enter the webpage, you are met with a box in the middle of the screen displaying various different selections as well as a password strength bar. You are able to check off elements that you want the password generator to include as well as adjusting the length of it. Below the password, there is a password strength bar that automatically adjusts the level of strength it determines for your password corresponding to the length.
Ships:
I learned how to use HTML, JavaScript, and CSS to create a random password generator. I learned how to generate random passwords and use different settings tocustomize them. For me, the most challenging was using Javascript to make random passswords and making sure the code worked correctly. Connecting the HTML, CSS, and javascript together was also a challenge. I am proud that I created a random password generator from scratch considering this was my very first project. People should open the project in a web browser and try generating passwords using the different settings I created. They can change the password length, select which types of characters to include, and generate multiple passwords to see how it changes....
|
1793008390.061616
|
1793872390.061616
|
|
25890
|
SkyExtendo by @wxie223 | Stardance
|
wxie223
|
0
|
35.12
|
0
|
[]
|
[{"post_id": 78505, "ts": "202 [{"post_id": 78505, "ts": "2026-10-11T00:42:50Z", "hours": 11.8364, "text": "CAD! lots of cad, and finished a couple more stages of the extension."}, {"post_id": 68857, "ts": "2026-09-15T21:43:42Z", "hours": 13.1703, "text": "Cad- some more cad, lots of cad. Expect slow progress"}, {"post_id": 53498, "ts": "2026-08-24T02:24:13Z", "hours": 4.8022, "text": "FINISHED BUILDING FIRST 3 STAGES. As you can see, the first stages are already taller than me. I am bout 5’7. There will be 10-12 stages to reach 2 floors the retracted length is about 25.5 inches. As for cad, I am done up to the 6th stage. (Yes I’m building in the closet) sadly the decoy won’t let me post the video of it extending but it is around 6’4 I would say"}, {"post_id": 45001, "ts": "2026-08-11T04:15:34Z", "hours": 4.9008, "text": "Second cad stages done. finished the primary cad, now moving on to designing the 10 other stages."}, {"post_id": 41545, "ts": "2026-08-05T20:31:57Z", "hours": 0.4142, "text": "3d printed box tube extension. Based off of offset robotics 3 stage box tube extension but edited to fit the 3d printer. Full 3d printed and string driven. Plan on scaling it up to human size."}]...
|
Title: SkyExtendo by @wxie223 | Stardance
Devlogs Title: SkyExtendo by @wxie223 | Stardance
Devlogs:
3d printed box tube extension. Based off of offset robotics 3 stage box tube extension but edited to fit the 3d printer. Full 3d printed and string driven. Plan on scaling it up to human size.
Second cad stages done. finished the primary cad, now moving on to designing the 10 other stages.
FINISHED BUILDING FIRST 3 STAGES. As you can see, the first stages are already taller than me. I am bout 5’7. There will be 10-12 stages to reach 2 floors the retracted length is about 25.5 inches. As for cad, I am done up to the 6th stage. (Yes I’m building in the closet) sadly the decoy won’t let me post the video of it extending but it is around 6’4 I would say
Cad- some more cad, lots of cad. Expect slow progress
CAD! lots of cad, and finished a couple more stages of the extension....
|
1792623044.3668416
|
1793487044.3668416
|
|
69054
|
portfolio by @anarc | Stardance
|
anarc
|
0
|
1.85
|
0
|
[]
|
[{"post_id": 78504, "ts": "202 [{"post_id": 78504, "ts": "2026-10-11T00:33:40Z", "hours": 1.8456, "text": "im working on this website’s contents."}]...
|
Title: portfolio by @anarc | Stardance
Devlogs:
i Title: portfolio by @anarc | Stardance
Devlogs:
im working on this website’s contents....
|
1793130485.1203616
|
1793735285.1203616
|
|
16010
|
A simple pygame creation by @CharlesTang | Stardan A simple pygame creation by @CharlesTang | Stardance...
|
CharlesTang
|
1
|
27.07
|
35
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-22T23:57:44Z", "hours": 26.0, "multiplier": 1.36, "payout": 35, "blessing": "neutral", "text": "What we have here is a simple little game you can play with one, or two players. It is made with pygame, so it isn’t fancy, but thats all part of the process. While designing, I found this philosophy useful: “Keep it simple, Stupid” I think this project is very important because it taught me github, and how to use A*. This is the first of many programming projects I will attempt to create, and I worked all summer on this. It doesn’t really matter if it doesn’t do bad, I improved at programming, thats what matters.", "repo": "https://github.com/Tupolev114/Square_game", "demo": "https://github.com/Tupolev114/Square_game/releases/tag/V1.5"}]...
|
[{"post_id": 78500, "ts": "202 [{"post_id": 78500, "ts": "2026-10-11T00:17:25Z", "hours": 1.0694, "text": "Chapter II: Square Game Reborn has officially started! based on some feedback given by others, I decided to take square game to the next level by added more UI, visual effects, and increase Playability. Hope you all enjoy! Square Game reborn is essentially just the original square game, but better."}, {"post_id": 71264, "ts": "2026-09-20T15:26:57Z", "hours": 2.0075, "text": "Houston we have landed! Its been a great journey and I learned how to use github, its not a complex project but I like it."}, {"post_id": 62236, "ts": "2026-09-05T14:39:50Z", "hours": 8.1878, "text": "Release 1.3 is out! No more lag and I fixed many bugs, website also updated."}, {"post_id": 48985, "ts": "2026-08-17T15:58:18Z", "hours": 4.6469, "text": "Release 1.2 is officially out! I added shields, and cooldown displays for UI, as well as fixed dashing. Stay tuned for 1.3, where the PvE mode will feel more human!"}, {"post_id": 44140, "ts": "2026-08-09T18:19:45Z", "hours": 2.2258, "text": "After many weeks, I now have a reliable, working navigation system for PvE. it even works on diagonals (red squares were for debugging)"}, {"post_id": 41603, "ts": "2026-08-05T22:08:15Z", "hours": 3.2619, "text": "Houston, I now officially have a website to play the game on! It took me a while to figure out Github and everything else but I learned that patience is more important than knowing Github. Overall it was a learning experience."}, {"post_id": 37576, "ts": "2026-07-30T12:24:43Z", "hours": 0.8433, "text": "I learned A* with the help of AI and made a semi-working A* algorithm. Its not perfect but its getting somewhere"}, {"post_id": 36047, "ts": "2026-07-27T21:27:26Z", "hours": 3.0744, "text": "I spent a bit of time debugging, and made some progress on A*, but there are still things that need to be fixed"}, {"post_id": 35225, "ts": "2026-07-26T15:01:54Z", "hours": 1.5647, "text": "Devlog #1: Houston we are ready for liftoff! I got my documents verified and time tracked, so now I will work on A* for PvE mode."}]...
|
Title: A simple pygame creation by @CharlesTang | Title: A simple pygame creation by @CharlesTang | Stardance
Devlogs:
Devlog #1: Houston we are ready for liftoff! I got my documents verified and time tracked, so now I will work on A* for PvE mode.
I spent a bit of time debugging, and made some progress on A*, but there are still things that need to be fixed
I learned A* with the help of AI and made a semi-working A* algorithm. Its not perfect but its getting somewhere
Houston, I now officially have a website to play the game on! It took me a while to figure out Github and everything else but I learned that patience is more important than knowing Github. Overall it was a learning experience.
After many weeks, I now have a reliable, working navigation system for PvE. it even works on diagonals (red squares were for debugging)
Release 1.2 is officially out! I added shields, and cooldown displays for UI, as well as fixed dashing. Stay tuned for 1.3, where the PvE mode will feel more human!
Release 1.3 is out! No more lag and I fixed many bugs, website also updated.
Houston we have landed! Its been a great journey and I learned how to use github, its not a complex project but I like it.
Chapter II: Square Game Reborn has officially started! based on some feedback given by others, I decided to take square game to the next level by added more UI, visual effects, and increase Playability. Hope you all enjoy! Square Game reborn is essentially just the original square game, but better.
Ships:
What we have here is a simple little game you can play with one, or two players. It is made with pygame, so it isn’t fancy, but thats all part of the process. While designing, I found this philosophy useful: “Keep it simple, Stupid” I think this project is very important because it taught me github, and how to use A*. This is the first of many programming projects I will attempt to create, and I worked all summer on this. It doesn’t really matter if it doesn’t do bad, I improved at programming, thats what matters....
|
1793148543.8374584
|
1793234943.8374584
|
|
65302
|
RScience by @Bananon | Stardance
|
Bananon
|
0
|
10.7
|
0
|
[]
|
[{"post_id": 78498, "ts": "202 [{"post_id": 78498, "ts": "2026-10-11T00:08:32Z", "hours": 3.9486, "text": "Devlog #4 Hiii, new changes! Different Planet Types: these planet types changes their color and radius, the following types are: rocky, gas giant, ice, lava, desert, ocean, toxic, barren, and crystal Space Objects: added space objects such as: stars, moons, asteroid fields, black holes and nebula clouds Mouse Movement: now to control the rocket you can use mouse motions 4. UI: now when starting the program a title screen appears 5. Particles: when the rocket moves particles spawn Bugfixes The gravity from planets far away no longer affects the rocket When the rocket lands no longer gets stuck in the planet surface without the ability to takeoff Working on Finishing the title screen Adding achievements Adding more obstacles"}, {"post_id": 76023, "ts": "2026-10-02T02:52:38Z", "hours": 3.6436, "text": "Devlog #3 Hello world! new stuff!!1!1 Randomly generated planets (color, size and position, still not fully random, they are the same 3D Sphere) Stars! These stars were made using procedural shader functions, basically using a PanoramaSkyMaterial with a shader that generates stars randomly using noise Chunks, similar to minecraft it just loads few chunks instead of the whole world, in this case the chunks are cubes. What I’m working rn Polishing the gravity system. The gravity from planets who are far away are still affecting the rocket. Actual random 3D models for planets, it’s just random color and size rn Better movement, the controls are sketchy, i would prefer a dragging and clicking experience rather than the complicated controls"}, {"post_id": 74315, "ts": "2026-09-27T05:20:50Z", "hours": 2.3981, "text": "Functioning Movement After being inactive for a while there’s new changes!! New stuff: 3D models made using Blender Basic rocket movement Camera controls (zoom and camera movement)"}, {"post_id": 73027, "ts": "2026-09-24T07:23:25Z", "hours": 0.7117, "text": "First time using Godot, just made some basic shapes and learned basic code functions"}]...
|
Title: RScience by @Bananon | Stardance
Devlogs:
Title: RScience by @Bananon | Stardance
Devlogs:
First time using Godot, just made some basic shapes and learned basic code functions
Functioning Movement After being inactive for a while there’s new changes!! New stuff: 3D models made using Blender Basic rocket movement Camera controls (zoom and camera movement)
Devlog #3 Hello world! new stuff!!1!1 Randomly generated planets (color, size and position, still not fully random, they are the same 3D Sphere) Stars! These stars were made using procedural shader functions, basically using a PanoramaSkyMaterial with a shader that generates stars randomly using noise Chunks, similar to minecraft it just loads few chunks instead of the whole world, in this case the chunks are cubes. What I’m working rn Polishing the gravity system. The gravity from planets who are far away are still affecting the rocket. Actual random 3D models for planets, it’s just random color and size rn Better movement, the controls are sketchy, i would prefer a dragging and clicking experience rather than the complicated controls
Devlog #4 Hiii, new changes! Different Planet Types: these planet types changes their color and radius, the following types are: rocky, gas giant, ice, lava, desert, ocean, toxic, barren, and crystal Space Objects: added space objects such as: stars, moons, asteroid fields, black holes and nebula clouds Mouse Movement: now to control the rocket you can use mouse motions 4. UI: now when starting the program a title screen appears 5. Particles: when the rocket moves particles spawn Bugfixes The gravity from planets far away no longer affects the rocket When the rocket lands no longer gets stuck in the planet surface without the ability to takeoff Working on Finishing the title screen Adding achievements Adding more obstacles...
|
1793084261.5575366
|
1793689061.5575366
|
|
24188
|
Habitat Simulator by @SleepyTerrencee | Stardance
|
SleepyTerrencee
|
1
|
6.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-10T23:48:55Z", "hours": 6.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a web-page of astronaut habitation. Basically you choose a difficulty, buy your modules, then start your simulation. Your goal is to obtain a certain amount of research while keeping your station alive. I used AI to create most of the simulation functionality but I’m still happy I was able to contribute to it! This is my first actual project I’ve ever presented to people so please try it!", "repo": "https://github.com/SleepyTerrence1/HabitatSimulator", "demo": "https://sleepyterrence1.github.io/HabitatSimulator/"}]...
|
[{"post_id": 78496, "ts": "202 [{"post_id": 78496, "ts": "2026-10-10T23:42:07Z", "hours": 2.8211, "text": "Working Station So after a couple of iterations along with using AI, the simulation is finally done! Here are the list of features in the semi-final version: -Summary Page All difficulties work Finished Information Page Thats it, thanks!"}, {"post_id": 66949, "ts": "2026-09-12T22:30:35Z", "hours": 2.4639, "text": "Semi-Working Simulation So I have been working on this for a bit and giving up a lot but I now have a working prototype. All you can do is buy Modules and see the station update, there is no crew, no food, no uncertainty. It works tho. Here are the list of current Modules I have added: Small Habitat Module Medium Habitat Module Large Habitat Module Solar Array Nuclear Power Unit Basic Lab Unit Basic Storage Unit Currently, only easy mode works so if you want to test it out and give feedback, please do. Thanks! Link to website: https://sleepyterrence1.github.io/HabitatSimulator/"}, {"post_id": 18052, "ts": "2026-06-29T00:59:00Z", "hours": 0.3772, "text": "Habitat Simulator first looks! Hello Everyone, I just started this project and it’s called “Habitat Simulator”. You kinda just Simulate astronauts in space as you can tell with the picture. Mind you this is the only thing I have really finished… Nevertheless, I’m really excited for the end results of this thing, sooo stay tuned I suppose!"}]...
|
Title: Habitat Simulator by @SleepyTerrencee | Sta Title: Habitat Simulator by @SleepyTerrencee | Stardance
Devlogs:
Habitat Simulator first looks! Hello Everyone, I just started this project and it’s called “Habitat Simulator”. You kinda just Simulate astronauts in space as you can tell with the picture. Mind you this is the only thing I have really finished… Nevertheless, I’m really excited for the end results of this thing, sooo stay tuned I suppose!
Semi-Working Simulation So I have been working on this for a bit and giving up a lot but I now have a working prototype. All you can do is buy Modules and see the station update, there is no crew, no food, no uncertainty. It works tho. Here are the list of current Modules I have added: Small Habitat Module Medium Habitat Module Large Habitat Module Solar Array Nuclear Power Unit Basic Lab Unit Basic Storage Unit Currently, only easy mode works so if you want to test it out and give feedback, please do. Thanks! Link to website: https://sleepyterrence1.github.io/HabitatSimulator/
Working Station So after a couple of iterations along with using AI, the simulation is finally done! Here are the list of features in the semi-final version: -Summary Page All difficulties work Finished Information Page Thats it, thanks!
Ships:
I made a web-page of astronaut habitation. Basically you choose a difficulty, buy your modules, then start your simulation. Your goal is to obtain a certain amount of research while keeping your station alive. I used AI to create most of the simulation functionality but I’m still happy I was able to contribute to it! This is my first actual project I’ve ever presented to people so please try it!...
|
1793155729.2318356
|
1793242129.2318356
|
|
67794
|
TeenyTinyStories by @yf | Stardance
|
yf
|
0
|
30.16
|
0
|
[]
|
[{"post_id": 78495, "ts": "202 [{"post_id": 78495, "ts": "2026-10-10T23:27:58Z", "hours": 4.4483, "text": "Evals are done Finally, after two days of tweaking values and rewriting evaluation prompts, the eval is all done. As per the original paper I employed a GPT-Eval adjacent score (albeit with Ministral-14B) as the LLM judge) and an Elo system (with GPT 5.6 Luna as the judge). The results did significantly corroborate with each other, which validates our conclusion that TTS-1M did as well or exceeded (slightly) as TS-1M whilst TTS-33M was poorer in performance compared to TS-33M though still competitive. Both the 33M models significantly outcompeted the 1M models, as expected and serves as an auxiliary validation."}, {"post_id": 77963, "ts": "2026-10-09T00:54:28Z", "hours": 4.7397, "text": "While we’re waiting…"}, {"post_id": 77744, "ts": "2026-10-08T04:38:53Z", "hours": 4.0003, "text": "Models are finished The models have officially been fully trained and are ready for evaluation. I trained a 1M and a 33M (nominal) parameter model on the TTS dataset; at validation, shows much promise. I also drafted the Methods section and the Related Works section. I will continue to work on the evaluation section and the discussion section, before writing the final paper."}, {"post_id": 77443, "ts": "2026-10-07T00:58:48Z", "hours": 4.3611, "text": "On the Models The 1M model is finished training with tts 1.9870 / 7.29 (4.02M tok), ts_cap 2.3691 / 10.69, ts_full 2.3852 / 10.86 . It cost me around 10 USD but I am happy with its results. The 33M model is now undergoing training with ETA in around 10 hours. The models themselves use a GPT-Neo architecture with the EleutherAI/GPT-Neo-125M tokenizer, as per the original paper. I also worked on the paper, namely the methodology section. I don’t know if I can do the 3/9/28M models however due to budget constraints but I will try."}, {"post_id": 76948, "ts": "2026-10-05T05:10:19Z", "hours": 3.3178, "text": "Devlog 3 Full corpus generation finished ASAP on 4090. You can find the TTS corpus on ableian/teenytinystories on Huggingface. Now, I followed the architecture specified by Eldan and Li and started training the 1M/3M and 9M models. Will finish in 16 hours, so I’m excited!"}, {"post_id": 76665, "ts": "2026-10-04T09:26:41Z", "hours": 3.1161, "text": "Devlog 2 In here, I introduce you to the official generation pipeline.I used the TinyStories-Instruct-33M checkpoint as the progenitor model. It accepts a structured header as follows: Words: verb, noun, adjective Features: X, Y [optional] Story: The words were chosen from the original TS word list from TinyStories-Instruct-valid.txt . The features were derived from an optional feature set, sampled from the empirical distributions in the same TinyStories-Instruct data. Quality control was also enforced by rejecting incomplete stories and stories that were too long or too short. I wrote an .ipynb and began generating stories in batches of 1024 on a rented 4090 (CUDA) and my M1 MacBook Pro (MPS)! Should be ready in around 8 hours."}, {"post_id": 76587, "ts": "2026-10-04T02:34:54Z", "hours": 6.1778, "text": "1 On TinyStories TinyStories (Eldan & Li, 2023) represented a significant breakthrough in the field of language model training, providing evidence that an synthetic (i.e. LLM-generated) corpus could be used to efficiently train a Small Language Model (SLM) fluent in English and basic story generation. The pipeline is direct: Eldan and Li seeded ChatGPT (3.5 and 4) with story generation prompts, generating over 470 M tokens (~2.1 million stories), before training a 1, 3, 9, 28 and 33M SLM. Through a range of evaluation metrics, they demonstrated that these models could output fluent English, and for larger and more layered models, could generate semi-coherent stories. 2 On TeenyTinyStories Now, I propose a step further: what happens if we take the Instruct variant of the official checkpoint, TinyStories-Instruct-33M instead of a frontier model like the GPT series, to generate a new corpus of data and train the same models on this corpus instead? This is the core of this project.Note: I understand that this is fundamentally a research project rather than produce-a-usable-software type thing you see on Stardance, so I will produce a bunch of usables, including a conversation-tuned instruct variant of the 33M which you can chat with in your browser in the form of a website. The core results, however, will be in the form of an ArXiV preprint before I submit to NHSJS. What I did After I skimmed through the 2023 paper, I summarised their corpus generation pipeline as follows:The generator used GPT-3.5 and GPT-4 via the OpenAI APIPrompt composition composed of a list of required words (one verb, one noun, one adjective), and an (optional) story feature (i.e. dialogue, bad ending, moral value, plot twist…) to generate a story. Example: “Write a short story (3-5 paragraphs) which only uses very simple words that a 3 year old child would likely understand.The story should use the verb “decorate”,the noun “thunder”and the adjective “ancient”.The story should have the following features:the story should contain at least one dialogue,the story has a bad ending.Remember to only use simple words!”Accordingly, I wrote the draft introduction and the Related Works section, and planned the Methodology."}]...
|
Title: TeenyTinyStories by @yf | Stardance
Devlog Title: TeenyTinyStories by @yf | Stardance
Devlogs:
1 On TinyStories TinyStories (Eldan & Li, 2023) represented a significant breakthrough in the field of language model training, providing evidence that an synthetic (i.e. LLM-generated) corpus could be used to efficiently train a Small Language Model (SLM) fluent in English and basic story generation. The pipeline is direct: Eldan and Li seeded ChatGPT (3.5 and 4) with story generation prompts, generating over 470 M tokens (~2.1 million stories), before training a 1, 3, 9, 28 and 33M SLM. Through a range of evaluation metrics, they demonstrated that these models could output fluent English, and for larger and more layered models, could generate semi-coherent stories. 2 On TeenyTinyStories Now, I propose a step further: what happens if we take the Instruct variant of the official checkpoint, TinyStories-Instruct-33M instead of a frontier model like the GPT series, to generate a new corpus of data and train the same models on this corpus instead? This is the core of this project.Note: I understand that this is fundamentally a research project rather than produce-a-usable-software type thing you see on Stardance, so I will produce a bunch of usables, including a conversation-tuned instruct variant of the 33M which you can chat with in your browser in the form of a website. The core results, however, will be in the form of an ArXiV preprint before I submit to NHSJS. What I did After I skimmed through the 2023 paper, I summarised their corpus generation pipeline as follows:The generator used GPT-3.5 and GPT-4 via the OpenAI APIPrompt composition composed of a list of required words (one verb, one noun, one adjective), and an (optional) story feature (i.e. dialogue, bad ending, moral value, plot twist…) to generate a story. Example: “Write a short story (3-5 paragraphs) which only uses very simple words that a 3 year old child would likely understand.The story should use the verb “decorate”,the noun “thunder”and the adjective “ancient”.The story should have the following features:the story should contain at least one dialogue,the story has a bad ending.Remember to only use simple words!”Accordingly, I wrote the draft introduction and the Related Works section, and planned the Methodology.
Devlog 2 In here, I introduce you to the official generation pipeline.I used the TinyStories-Instruct-33M checkpoint as the progenitor model. It accepts a structured header as follows: Words: verb, noun, adjective Features: X, Y [optional] Story: The words were chosen from the original TS word list from TinyStories-Instruct-valid.txt . The features were derived from an optional feature set, sampled from the empirical distributions in the same TinyStories-Instruct data. Quality control was also enforced by rejecting incomplete stories and stories that were too long or too short. I wrote an .ipynb and began generating stories in batches of 1024 on a rented 4090 (CUDA) and my M1 MacBook Pro (MPS)! Should be ready in around 8 hours.
Devlog 3 Full corpus generation finished ASAP on 4090. You can find the TTS corpus on ableian/teenytinystories on Huggingface. Now, I followed the architecture specified by Eldan and Li and started training the 1M/3M and 9M models. Will finish in 16 hours, so I’m excited!
On the Models The 1M model is finished training with tts 1.9870 / 7.29 (4.02M tok), ts_cap 2.3691 / 10.69, ts_full 2.3852 / 10.86 . It cost me around 10 USD but I am happy with its results. The 33M model is now undergoing training with ETA in around 10 hours. The models themselves use a GPT-Neo architecture with the EleutherAI/GPT-Neo-125M tokenizer, as per the original paper. I also worked on the paper, namely the methodology section. I don’t know if I can do the 3/9/28M models however due to budget constraints but I will try.
Models are finished The models have officially been fully trained and are ready for evaluation. I trained a 1M and a 33M (nominal) parameter model on the TTS dataset; at validation, shows much promise. I also drafted the Methods section and the Related Works section. I will continue to work on the evaluation section and the discussion section, before writing the final paper.
While we’re waiting…
Evals are done Finally, after two days of tweaking values and rewriting evaluation prompts, the eval is all done. As per the original paper I employed a GPT-Eval adjacent score (albeit with Ministral-14B) as the LLM judge) and an Elo system (with GPT 5.6 Luna as the judge). The results did significantly corroborate with each other, which validates our conclusion that TTS-1M did as well or exceeded (slightly) as TS-1M whilst TTS-33M was poorer in performance compared to TS-33M though still competitive. Both the 33M models significantly outcompeted the 1M models, as expected and serves as an auxiliary validation....
|
1793116047.1217725
|
1793720847.1217725
|
|
43430
|
Succend App by @Ashishdantinapalli | Stardance
|
Ashishdantinapalli
|
1
|
10.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-12T13:48:34Z", "hours": 5.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I have just started to make my landing site. I had used AI to make me an initial foundation, but I didn’t like a few of those components, so I decided to exchange that base code of my own code to make a landing site that appears more like a landing site for a good web application. As of right now none of the navbar links seem to work, but I’m as of right now coding them, so soon those links will start to work. If any of you are trying to test my landing site and try to login, it is probably not recommended as I don’t have a database or a backend yet, I have started with the frontend first. So once I’m done with my frontend, I will move onto my backend and database. The logo and the theme in the landing site, were by me, I spent a long time creating and deciding on a logo that would be ideal for me and my app Succend. But I’m still in the starting phases only, once I complete my web application which would be my MVP version, but later I will make a mobile version of it.", "repo": "https://github.com/ashishdantinapalli-star/succend-web", "demo": "https://succend-web.vercel.app/"}]...
|
[{"post_id": 78494, "ts": "202 [{"post_id": 78494, "ts": "2026-10-10T23:26:51Z", "hours": 4.9967, "text": "Succend Landing Site Welcome back to Succend. So basically last time I had used an AI generated base for building my landing site, so I don’t have to take too long to build everything from scratch. So as you can see here, I’ve successfully accomplished a few things like the background, and light and dark mode. I made a liquid-like background that has blobs that will slowly follow the mouse. I made this background to make the landing site look better, and overall more cool for a game-like app. I have also added a dark and light mode, so users that view my landing site can change the color to their liking. I did have a lot of errors, meaning at a point the liquid-background only worked on the header or the footer, or the cards in the other sections wouldn’t show up. I did use a little bit of AI to do some of the frontend, since I was a little confused about how I can make a proper flowlike background, and I also used it to debug anything I wasn’t sure how to. After this devpost, I will go back to coding, and add a few more features. I was actually designing the ranks that will appear on the leaderboard on the landing site, and I happen to decide on creating 42 entire ranks. So once I’m done designing at least 20 of those ranks, then I’ll proceed to recreate the leveling cards that appear on the homescreen, to better fit my app’s theme. Thank you for following along with my devpost!"}, {"post_id": 62965, "ts": "2026-09-06T15:12:03Z", "hours": 4.8697, "text": "I’m building my app called Succend. Succend is supposed to be a gamified experience where a user gets levels if they complete their everyday goals. I used a little bit of AI to build me a bit of the initial foundation for my web application so I can build my actual app on top of it. I used Typescript for the application code, React for building the UI. I had several errors that I came across while I was trying to make the navigation bar more animated, and to make it move while we scroll down the page. Working on such errors helped me understand how different components of the application interact better. The other links that can be seen on the navigation bar are as of now, not functioning yet, as I need to add components to each of those pages to make them functional. I believe in the next few days I’ll be able to make my entire landing site functional, and be able to get started on my actual web application where we sign up, and get an account, and make goals, where we can gain xp and levels."}]...
|
Title: Succend App by @Ashishdantinapalli | Starda Title: Succend App by @Ashishdantinapalli | Stardance
Devlogs:
I’m building my app called Succend. Succend is supposed to be a gamified experience where a user gets levels if they complete their everyday goals. I used a little bit of AI to build me a bit of the initial foundation for my web application so I can build my actual app on top of it. I used Typescript for the application code, React for building the UI. I had several errors that I came across while I was trying to make the navigation bar more animated, and to make it move while we scroll down the page. Working on such errors helped me understand how different components of the application interact better. The other links that can be seen on the navigation bar are as of now, not functioning yet, as I need to add components to each of those pages to make them functional. I believe in the next few days I’ll be able to make my entire landing site functional, and be able to get started on my actual web application where we sign up, and get an account, and make goals, where we can gain xp and levels.
Succend Landing Site Welcome back to Succend. So basically last time I had used an AI generated base for building my landing site, so I don’t have to take too long to build everything from scratch. So as you can see here, I’ve successfully accomplished a few things like the background, and light and dark mode. I made a liquid-like background that has blobs that will slowly follow the mouse. I made this background to make the landing site look better, and overall more cool for a game-like app. I have also added a dark and light mode, so users that view my landing site can change the color to their liking. I did have a lot of errors, meaning at a point the liquid-background only worked on the header or the footer, or the cards in the other sections wouldn’t show up. I did use a little bit of AI to do some of the frontend, since I was a little confused about how I can make a proper flowlike background, and I also used it to debug anything I wasn’t sure how to. After this devpost, I will go back to coding, and add a few more features. I was actually designing the ranks that will appear on the leaderboard on the landing site, and I happen to decide on creating 42 entire ranks. So once I’m done designing at least 20 of those ranks, then I’ll proceed to recreate the leveling cards that appear on the homescreen, to better fit my app’s theme. Thank you for following along with my devpost!
Ships:
I have just started to make my landing site. I had used AI to make me an initial foundation, but I didn’t like a few of those components, so I decided to exchange that base code of my own code to make a landing site that appears more like a landing site for a good web application. As of right now none of the navbar links seem to work, but I’m as of right now coding them, so soon those links will start to work. If any of you are trying to test my landing site and try to login, it is probably not recommended as I don’t have a database or a backend yet, I have started with the frontend first. So once I’m done with my frontend, I will move onto my backend and database. The logo and the theme in the landing site, were by me, I spent a long time creating and deciding on a logo that would be ideal for me and my app Succend. But I’m still in the starting phases only, once I complete my web application which would be my MVP version, but later I will make a mobile version of it....
|
1793148491.7761319
|
1793234891.7761319
|
|
67992
|
Discord chatting buddy by @robboach | Stardance
|
robboach
|
0
|
12.9
|
0
|
[]
|
[{"post_id": 78492, "ts": "202 [{"post_id": 78492, "ts": "2026-10-10T23:22:38Z", "hours": 1.2228, "text": "The bot can now have a “real” conversation with people. It maintains context throughout the entire conversation. Currently, it only responds if you ping it, so I need to handle all the other cases, like if you’re already in a conversation or someone replies to the bot, or someone mentions the “Pip” (name!)"}, {"post_id": 78417, "ts": "2026-10-10T18:43:47Z", "hours": 3.6942, "text": "Memories are now working. When the bot isn’t being talked to/whatever, the bot will collect messages in the background. Then, the bot, every 10 minutes, will summarize what happened in between and assign a memory to each person. (If i say I like ice cream, it’ll remember that ). Also, i can say stuff that’ll replace memories. If i say “i no longer like ice cream and actually like steak”, it’ll replace the “like ice cream” memory with “like steak” memory."}, {"post_id": 76895, "ts": "2026-10-04T23:54:45Z", "hours": 1.1836, "text": "added a really quick way to test if the summarizing capabilities is good. next i shall make a prompt that makes the bot summarize it better and for each user. (for memory)"}, {"post_id": 76829, "ts": "2026-10-04T19:02:29Z", "hours": 6.7956, "text": "Currently working on getting the AI API endpoint working.. can have a “conversation” (but doens’t remmeber anything about it. only the current message mentioning it)"}]...
|
Title: Discord chatting buddy by @robboach | Stard Title: Discord chatting buddy by @robboach | Stardance
Devlogs:
Currently working on getting the AI API endpoint working.. can have a “conversation” (but doens’t remmeber anything about it. only the current message mentioning it)
added a really quick way to test if the summarizing capabilities is good. next i shall make a prompt that makes the bot summarize it better and for each user. (for memory)
Memories are now working. When the bot isn’t being talked to/whatever, the bot will collect messages in the background. Then, the bot, every 10 minutes, will summarize what happened in between and assign a memory to each person. (If i say I like ice cream, it’ll remember that ). Also, i can say stuff that’ll replace memories. If i say “i no longer like ice cream and actually like steak”, it’ll replace the “like ice cream” memory with “like steak” memory.
The bot can now have a “real” conversation with people. It maintains context throughout the entire conversation. Currently, it only responds if you ping it, so I need to handle all the other cases, like if you’re already in a conversation or someone replies to the bot, or someone mentions the “Pip” (name!)...
|
1793116313.6337957
|
1793721113.6337957
|
|
68849
|
WarioGame by @reaue | Stardance
|
reaue
|
1
|
7.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-10T23:17:50Z", "hours": 7.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "What did you make ? I created a godot game composed of two mini-games, one platformer and one clicker, both are limited by a timer, you have three lives, and the goal it’s to finish bot mini-games before you lose all your hearts. What was challenging? The challenging part, was the coding in GDscript, it was my first time on it. So I used a lot of google research to help me on fixing bug or adding nex features. What are you proud of? I’m proud of learning a new programing language. It’s every time a great and enriching experience. What should people know so they can test your project? The project is published here , so let’s test it !", "repo": "https://github.com/reaue/WarioWareGame", "demo": "https://reaue.itch.io/minigame"}]...
|
[{"post_id": 78489, "ts": "202 [{"post_id": 78489, "ts": "2026-10-10T23:09:32Z", "hours": 2.4797, "text": "Devlog 3 - The final one ! I added the death and winning screen, for the winnig one, I created from zero two different animated fireworks ! Then I also wrote the README file to ship this project."}, {"post_id": 78375, "ts": "2026-10-10T16:31:22Z", "hours": 1.0819, "text": "Devlog 2 - Adding the second miniGame ! I implemented the second game where you need to click on each orbs, in less than 5 seconds, to win the game. Now, I still need to implement the wining and losing screen and then write the README file for the shipping."}, {"post_id": 78333, "ts": "2026-10-10T14:01:09Z", "hours": 3.2128, "text": "Devlog 1 - Working on the first minigame of my WarioWareGame ! I started following the tuto and add some nice 2D pixel art found on internet. I’m very happy with the actual artistic direction."}]...
|
Title: WarioGame by @reaue | Stardance
Devlogs:
D Title: WarioGame by @reaue | Stardance
Devlogs:
Devlog 1 - Working on the first minigame of my WarioWareGame ! I started following the tuto and add some nice 2D pixel art found on internet. I’m very happy with the actual artistic direction.
Devlog 2 - Adding the second miniGame ! I implemented the second game where you need to click on each orbs, in less than 5 seconds, to win the game. Now, I still need to implement the wining and losing screen and then write the README file for the shipping.
Devlog 3 - The final one ! I added the death and winning screen, for the winnig one, I created from zero two different animated fireworks ! Then I also wrote the README file to ship this project.
Ships:
What did you make ? I created a godot game composed of two mini-games, one platformer and one clicker, both are limited by a timer, you have three lives, and the goal it’s to finish bot mini-games before you lose all your hearts. What was challenging? The challenging part, was the coding in GDscript, it was my first time on it. So I used a lot of google research to help me on fixing bug or adding nex features. What are you proud of? I’m proud of learning a new programing language. It’s every time a great and enriching experience. What should people know so they can test your project? The project is published here , so let’s test it !...
|
1793217299.884835
|
1793303699.884835
|
|
68467
|
WebOS1 by @brunalp | Stardance
|
brunalp
|
0
|
20.44
|
0
|
[]
|
[{"post_id": 78488, "ts": "202 [{"post_id": 78488, "ts": "2026-10-10T22:59:12Z", "hours": 9.2853, "text": "DEVLOG 6 : So this afternoon till now I was building my advanced app. I coded a lot today to be able to finish this app and it came whit a lot of challenges for example setting the images to be able so if fitted the cube, I also made a wheel and it was really difficult whit the random settings… but I manage to do it all. I add an idea in mind, did a sketch and build it. I think it can still be better but as a beginner project I think/hope I did really good.(sorry couldn’t upload a video demonstrating it was to must space)"}, {"post_id": 78294, "ts": "2026-10-10T10:13:45Z", "hours": 1.3042, "text": "Hello!! DEVLOG 5: This morning I reorganized my app page so It’s way more interactive now and colorful, I found it easy doing this changes even though it took me an hour and a half but making what I had in my imagination into reality was really fun and the sensation of achievement is the best feeling in the world."}, {"post_id": 78211, "ts": "2026-10-09T23:50:41Z", "hours": 4.1781, "text": "Hi everyone hope you are doing great. So today I spent hours working fixing some small problems but especially working on my app build, so I recommend the content you decide to put on it is something you like cause because of that I really enjoyed building mine. However I had some troubles putting my subjects on my side bar and still haven’t figured it out so hopefully tomorrow whit more brainstorming I’ll get it cause I wanted to make 4 buttons so you can read the text form my different projects it still works but to make it more clean it should me on the side bar. I am still thinking about ideas for the background of the app text so if you have any ideas fell free to say thanks."}, {"post_id": 77944, "ts": "2026-10-08T21:54:15Z", "hours": 2.2392, "text": "Hiiii everybody so today I did the movement of the window so now I can drag wherever I want, by holding the header and moving it but when I made this I could move were I couldn’t see the header anymore by the sides , up and down was the worst part as each time I tried to go forward down it allowed me so it was like endles and that took a lot of time to figure out how. I also added the close button to close the window and the open button in the top bar to open the window, however I created the style.css file and I am going to add some things tomorow but I find it really complicating because I started it but it’s so confusing as I have to remove a lot of things in my html and put on the css … and I am starting to get lost but tomorow I’ll put all my energy into it and manage to do it."}, {"post_id": 77798, "ts": "2026-10-08T10:50:59Z", "hours": 2.3642, "text": "Hi everyone, today I finished my welcome page and turned it into a window I also added the top bar which I had some dificulis to how to make it more original but managed to find a solution. I also tried to challenge myself by adding a gif as the background but it took me a lot of time to figure how to make it fit into the screen. Finally I added the live clock which cause a little problem to figure out how to make the five line command into tree challenge, those how are in the same project know hahah good luck I know wall can make it ."}, {"post_id": 77690, "ts": "2026-10-07T22:18:33Z", "hours": 1.0661, "text": "Today I started working on my first project of the stardance program. I decided to start by making my WebOS page and had some dificulty at first cause i knew nothing about html so I had to do quit some reaserch by seeing a lot of videos and explanation. So I also saw the guide and started whit the part one, making my welcome page, i didnt wet finish cause i have some struggles but i have a really good idea on mind but for now i just did a quick description."}]...
|
Title: WebOS1 by @brunalp | Stardance
Devlogs:
To Title: WebOS1 by @brunalp | Stardance
Devlogs:
Today I started working on my first project of the stardance program. I decided to start by making my WebOS page and had some dificulty at first cause i knew nothing about html so I had to do quit some reaserch by seeing a lot of videos and explanation. So I also saw the guide and started whit the part one, making my welcome page, i didnt wet finish cause i have some struggles but i have a really good idea on mind but for now i just did a quick description.
Hi everyone, today I finished my welcome page and turned it into a window I also added the top bar which I had some dificulis to how to make it more original but managed to find a solution. I also tried to challenge myself by adding a gif as the background but it took me a lot of time to figure how to make it fit into the screen. Finally I added the live clock which cause a little problem to figure out how to make the five line command into tree challenge, those how are in the same project know hahah good luck I know wall can make it .
Hiiii everybody so today I did the movement of the window so now I can drag wherever I want, by holding the header and moving it but when I made this I could move were I couldn’t see the header anymore by the sides , up and down was the worst part as each time I tried to go forward down it allowed me so it was like endles and that took a lot of time to figure out how. I also added the close button to close the window and the open button in the top bar to open the window, however I created the style.css file and I am going to add some things tomorow but I find it really complicating because I started it but it’s so confusing as I have to remove a lot of things in my html and put on the css … and I am starting to get lost but tomorow I’ll put all my energy into it and manage to do it.
Hi everyone hope you are doing great. So today I spent hours working fixing some small problems but especially working on my app build, so I recommend the content you decide to put on it is something you like cause because of that I really enjoyed building mine. However I had some troubles putting my subjects on my side bar and still haven’t figured it out so hopefully tomorrow whit more brainstorming I’ll get it cause I wanted to make 4 buttons so you can read the text form my different projects it still works but to make it more clean it should me on the side bar. I am still thinking about ideas for the background of the app text so if you have any ideas fell free to say thanks.
Hello!! DEVLOG 5: This morning I reorganized my app page so It’s way more interactive now and colorful, I found it easy doing this changes even though it took me an hour and a half but making what I had in my imagination into reality was really fun and the sensation of achievement is the best feeling in the world.
DEVLOG 6 : So this afternoon till now I was building my advanced app. I coded a lot today to be able to finish this app and it came whit a lot of challenges for example setting the images to be able so if fitted the cube, I also made a wheel and it was really difficult whit the random settings… but I manage to do it all. I add an idea in mind, did a sketch and build it. I think it can still be better but as a beginner project I think/hope I did really good.(sorry couldn’t upload a video demonstrating it was to must space)...
|
1792471907.388018
|
1793335907.388018
|
|
65137
|
CHESS 2.0 by @OrderDanie | Stardance
|
OrderDanie
|
0
|
4.59
|
0
|
[]
|
[{"post_id": 78485, "ts": "202 [{"post_id": 78485, "ts": "2026-10-10T22:36:27Z", "hours": 1.0089, "text": "forgor to make main.ts , BLODDY 400 LINES OF CODE FOR THE SHOP AND CHESS PIECES, im sure there is a better optimized way and that im just dum, but hey at least i try right?"}, {"post_id": 75935, "ts": "2026-10-01T17:25:49Z", "hours": 0.9681, "text": "added all pieces price, desc, type, ability, and much more"}, {"post_id": 74108, "ts": "2026-09-26T18:09:30Z", "hours": 0.8222, "text": "some o these are just messed up, but hey i think they look good so idgf"}, {"post_id": 73125, "ts": "2026-09-24T13:19:20Z", "hours": 0.3692, "text": "working on transforming math functions to drawings, by stacking up layers, and making the lines thicker and more woblly, so they look drawen"}, {"post_id": 72898, "ts": "2026-09-23T23:49:29Z", "hours": 0.7286, "text": "prototype now works,yay"}, {"post_id": 72724, "ts": "2026-09-23T16:23:19Z", "hours": 0.6925, "text": "HEAR ME OUT,What if chess,was a tbs tactical war game? Yeaaaa that’s chess 2"}]...
|
Title: CHESS 2.0 by @OrderDanie | Stardance
Devlo Title: CHESS 2.0 by @OrderDanie | Stardance
Devlogs:
HEAR ME OUT,What if chess,was a tbs tactical war game? Yeaaaa that’s chess 2
prototype now works,yay
working on transforming math functions to drawings, by stacking up layers, and making the lines thicker and more woblly, so they look drawen
some o these are just messed up, but hey i think they look good so idgf
added all pieces price, desc, type, ability, and much more
forgor to make main.ts , BLODDY 400 LINES OF CODE FOR THE SHOP AND CHESS PIECES, im sure there is a better optimized way and that im just dum, but hey at least i try right?...
|
1793083964.4334393
|
1793688764.4334393
|
|
68694
|
Percent tracker by @MariaC | Stardance
|
MariaC
|
0
|
0.78
|
0
|
[]
|
[{"post_id": 78477, "ts": "202 [{"post_id": 78477, "ts": "2026-10-10T22:07:43Z", "hours": 0.7775, "text": "I’m working on a progress ring to track different data from the user"}]...
|
Title: Percent tracker by @MariaC | Stardance
Dev Title: Percent tracker by @MariaC | Stardance
Devlogs:
I’m working on a progress ring to track different data from the user...
|
1793123596.9231665
|
1793728396.9231665
|
|
35978
|
Quick, Timer's UP! by @ishanmeher09 | Stardanc Quick, Timer's UP! by @ishanmeher09 | Stardance...
|
ishanmeher09
|
2
|
31.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-10T22:25:11Z", "hours": 11.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a collection of fast paced minigames. And this is my second version. The first version had two minigames, a platformer game and a clicker game, but for my second version, I added two more, and they’re a bit more interesting. I added a seesaw game, and it has blocks that randomly spawn at different locations on the plank, and the player has to select a weight and click at different spots to balance it out. Before there was a way to exploit how it works, and click below the plank so the plank would never hit the ground, but you can’t do that anymore. Basically the plank can’t touch the ground until the timer ends. I then added a launcher game, and it has a target that moves back and forth, and the player needs to click and hold or hold spacebar to settle on a power for the shot, and use the mouse to aim the barrel. They need to hit the target before the timer ends. Also, now the timer doesn’t start until the one word instructions on each game fade. Those are the main differences, along with the pause menu, and yeah!", "repo": "https://github.com/whatisupyo12/WarioWareGame/", "demo": "https://2002-2.itch.io/quick-timers-up"}, {"ship_num": 2, "ts": "2026-09-29T23:41:25Z", "hours": 20.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a collection of fast paced minigames, but added my own personal design choices and sprites I made too. It took me a while, because I had a lot of bugs that needed fixing, but it works now. I added a player sprite that has animations, and also worked on my finished screen so it has confetti (yay). My death screen’s pretty basic though. In general for now, it works, and I’ll probably be adding more soon.", "repo": "https://github.com/whatisupyo12/WarioWareGame/", "demo": "https://2002-2.itch.io/quick-timers-up"}]...
|
[{"post_id": 78475, "ts": "202 [{"post_id": 78475, "ts": "2026-10-10T21:59:29Z", "hours": 7.7939, "text": "I finished my fourth minigame and final, a launcher minigame, where the player has to hold down click or space while aiming the cannon, in order to hit the target and win. I also completed third minigame too, the balancing one (I forgot to devlog it, oops). It’s a seesaw minigame, and basically weights fall and how have to balance the seesaw by selecting different weights and dropping them. It now has weight labels which it didnt have earlier, and weights automatically spawn now, when initially it just had two blocks that would cause a tilt."}, {"post_id": 77117, "ts": "2026-10-05T17:43:48Z", "hours": 2.83, "text": "Worked on a functional pause screen that goes back to menu or can resume game, took a while since I wasnt able to figure out why I couldn’t do some of the functions to hide the pause panel within one function, but if it works, it works."}, {"post_id": 75403, "ts": "2026-09-29T23:37:30Z", "hours": 1.675, "text": "I finished tweaking all the bugs, and my game is ready to ship with my two current minigames."}, {"post_id": 75222, "ts": "2026-09-29T14:43:25Z", "hours": 7.9036, "text": "Finished an ending/lose scene, and finished all minigames, I’m probably just going to start working on more minigames now."}, {"post_id": 74906, "ts": "2026-09-28T15:57:57Z", "hours": 7.665, "text": "Finished both minigames and now I’ll be working on the final ending scene as in a custom win/loss"}, {"post_id": 73432, "ts": "2026-09-25T02:33:21Z", "hours": 2.5306, "text": "Working on Game UI, and its functional and works now, also made sprites"}]...
|
Title: Quick, Timer's UP! by @ishanmeher09 | S Title: Quick, Timer's UP! by @ishanmeher09 | Stardance
Devlogs:
Working on Game UI, and its functional and works now, also made sprites
Finished both minigames and now I’ll be working on the final ending scene as in a custom win/loss
Finished an ending/lose scene, and finished all minigames, I’m probably just going to start working on more minigames now.
I finished tweaking all the bugs, and my game is ready to ship with my two current minigames.
Worked on a functional pause screen that goes back to menu or can resume game, took a while since I wasnt able to figure out why I couldn’t do some of the functions to hide the pause panel within one function, but if it works, it works.
I finished my fourth minigame and final, a launcher minigame, where the player has to hold down click or space while aiming the cannon, in order to hit the target and win. I also completed third minigame too, the balancing one (I forgot to devlog it, oops). It’s a seesaw minigame, and basically weights fall and how have to balance the seesaw by selecting different weights and dropping them. It now has weight labels which it didnt have earlier, and weights automatically spawn now, when initially it just had two blocks that would cause a tilt.
Ships:
I made a collection of fast paced minigames, but added my own personal design choices and sprites I made too. It took me a while, because I had a lot of bugs that needed fixing, but it works now. I added a player sprite that has animations, and also worked on my finished screen so it has confetti (yay). My death screen’s pretty basic though. In general for now, it works, and I’ll probably be adding more soon.
I made a collection of fast paced minigames. And this is my second version. The first version had two minigames, a platformer game and a clicker game, but for my second version, I added two more, and they’re a bit more interesting. I added a seesaw game, and it has blocks that randomly spawn at different locations on the plank, and the player has to select a weight and click at different spots to balance it out. Before there was a way to exploit how it works, and click below the plank so the plank would never hit the ground, but you can’t do that anymore. Basically the plank can’t touch the ground until the timer ends. I then added a launcher game, and it has a target that moves back and forth, and the player needs to click and hold or hold spacebar to settle on a power for the shot, and use the mouse to aim the barrel. They need to hit the target before the timer ends. Also, now the timer doesn’t start until the one word instructions on each game fade. Those are the main differences, along with the pause menu, and yeah!...
|
1793148871.5041335
|
1793235271.5041335
|
|
20767
|
Gatecrash by @Nutties | Stardance
|
Nutties
|
0
|
18.93
|
0
|
[]
|
[{"post_id": 78463, "ts": "202 [{"post_id": 78463, "ts": "2026-10-10T21:01:49Z", "hours": 10.4275, "text": "Gatecrash - Devlog 3 Wow, a lot of time has passed, it’s already school time so time for coding is always limited but I’ve been working on this a bit and plan to ship this ASAP! This time around I implemented probably the coolest thing I’ve programmed in my life which is the ball projectile that blinds you! Made a cool custom trail for it too! (it took a lot of time) Things I did: Custom entity bounce logic Blindside projectile Custom entity trail renderer Basic Clone entity As always, building things one block at a time ."}, {"post_id": 29436, "ts": "2026-07-16T11:48:15Z", "hours": 3.0594, "text": "Gatecrash - Devlog 2 After making the Dimensional Drift ability I decided to tackle the blinding orb. Since it’s mostly just Post Processing it was a pain to work with, I’m really bad at rendering and especially shaders. However the end result came out decent enough that I can consider moving to the next features. Things I did: Custom shader As always, building things one block at a time ."}, {"post_id": 13065, "ts": "2026-06-21T11:31:46Z", "hours": 5.4472, "text": "Gatecrash - Devlog 1 Setting up a multiloader project with the Lodestone library dependency was pain but I managed to do it. Started working on the “easiest” part of the project which is the ultimate ability Dimensional Drift . Things I did: Basic post processing Custom status effect As always, building things one block at a time ."}]...
|
Title: Gatecrash by @Nutties | Stardance
Devlogs: Title: Gatecrash by @Nutties | Stardance
Devlogs:
Gatecrash - Devlog 1 Setting up a multiloader project with the Lodestone library dependency was pain but I managed to do it. Started working on the “easiest” part of the project which is the ultimate ability Dimensional Drift . Things I did: Basic post processing Custom status effect As always, building things one block at a time .
Gatecrash - Devlog 2 After making the Dimensional Drift ability I decided to tackle the blinding orb. Since it’s mostly just Post Processing it was a pain to work with, I’m really bad at rendering and especially shaders. However the end result came out decent enough that I can consider moving to the next features. Things I did: Custom shader As always, building things one block at a time .
Gatecrash - Devlog 3 Wow, a lot of time has passed, it’s already school time so time for coding is always limited but I’ve been working on this a bit and plan to ship this ASAP! This time around I implemented probably the coolest thing I’ve programmed in my life which is the ball projectile that blinds you! Made a cool custom trail for it too! (it took a lot of time) Things I did: Custom entity bounce logic Blindside projectile Custom entity trail renderer Basic Clone entity As always, building things one block at a time ....
|
1793188082.5007257
|
1793792882.5007257
|
|
29670
|
Eiffel tower by @B754a | Stardance
|
B754a
|
1
|
9.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-11T03:27:56Z", "hours": 9.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This is my project Eiffel Tower!!! What is this project about? This project is about my journey from making my project Eiffel tower, This was a very cool project it took me a lot of time to learn about the Eiffel tower like how to Eiffel tower used to be a different color that it actually is. But it was fun to learn about the Eiffel tower and also learning more Onshape controls. Why did I want to make this? I wanted to make this project because I want more stardust so I can buy the keyboard in the shop, I’m very close so I thought that I could finish this before the deadline (before the deadline expanded) How hard was it to make? It was pretty hard to make, Ill give you some examples like the actual shape of the Eiffel tower. The shape is very hard to perfect like the beams ; there is the triangle pattern to make the beams stronger . The next one was color because the color did not match, but I will follow it up more in challenges. Challenges Some of the challenges where colors (follow up) the colors where very hard to do because I wasn’t sure what the Eiffel tower looked like (color) so I colored it all grey but when I looed it up it was a copper color so I had to change it back that took me 40 minutes to do but now it looks very nice. Another challenge was the shape of the structure. The Eiffel tower has a very unique shape it has all theses curves sharp edges and little details I had to implement I didn’t add all the little details but I did the best I could and I think it looks pretty realistic. Conclusion In all, this was one of the funniest projects I made! I really enjoyed working on it and it make me learn about real structures like the Eiffel tower. so in conclusion I think this was a great learning experience and a fun experience! The pictures at the bottom is the finished result.", "repo": "https://github.com/B754a-Dev/Eiffel-Tower", "demo": "https://makerworld.com/en/models/3421357-eiffel-tower"}]...
|
[{"post_id": 78458, "ts": "202 [{"post_id": 78458, "ts": "2026-10-10T20:48:30Z", "hours": 0.6908, "text": "Eiffel Tower done!!!!! This is what the Eiffel Tower looks like now . I fixed the colors of the Eiffel Tower to be more realistic like the real thing. Challenges The one challenge that I had was coloring everything because some of the colors did not look realistic at all compared to the real Eiffel Tower, so I had to change the colors like halfway through, but I got it to work out! Conclusion This was super fun and exciting to make. I really liked learning all the features of Onshape, and I had a really good time doing this . I would recommend this."}, {"post_id": 74598, "ts": "2026-09-27T18:38:23Z", "hours": 3.3272, "text": "Hello, I’m currently making the Eiffel tower with onshape. This is what its looking like right now! What I’m working on rn I’m trying to improve the detail of the Eiffel tower such as the supports and the Gard rails. I also want to improve the top of the Eiffel tower as that is the most detailed part of it What has been done(new list) -All 3 layers -crossbeams -beams (up and down) Challenges I have had many challenges such as the Eiffel tower had 4 floors instead of 3 so I had to make the beams bigger to close it off. The size was hard to do because some pillars have to be the same size exactly so that was a challenge. Conclusion this project is very fun and I’m almost done I can wait to keep you guys updated!"}, {"post_id": 41696, "ts": "2026-08-06T02:39:22Z", "hours": 3.3167, "text": "Hi, I am making the Eiffel tower with onshape, this is what it looks like right now! this part was painful but worth it! Challenges There was many challenges such as the Corner Column (The green part) This one was very hard, because I couldn’t extrude it to make it filled in so it wasn’t paper thin but it didn’t work so I had to work around it by making a box then extruding it then cutting off the access pieces I didn’t need (such as the pieces that hang out) so I had to make a sketch to outline and cut it the final result looks very clean now! I also did have troubles on the Decorative Arch (Arch Rib / Spandrel Arch and the yellow one) This was hard because it was such a unique shape that I had to sketch something new for each one then the cutouts didn’t work on each side (It didn’t fit correctly) so I had to make it custom for each one this was one of the longer edits. Then I did have to shrink the Decorative Arch because it didn’t fit correctly (this piece was thin) the pattern was also hard but all I did was did a quick sketch to make it looks like the real thing. My last thing was the Rivet (The red circle) the rivet mirrored good but it didn’t mirror in the right spot so I had to transform it so it would move then I had to mirror it one the other side, this was the real challenge because it didn’t rotate correct. What I had to do to fix it was easy. All I had to do was make a sketch and make it vertical this way I could make it rotate properly. Process What I will do is add the detail first this will make it so when I change it its better to fix all the errors first then later on because you might forget some. I will go layer by layer for detail (fist layer ill try to do as much detail as I can). What I need to work on I will also not have the same amount of Rivet that the Eiffel tower has just because the Eiffel tower has about 2.5 million Rivets. More Detail I will need some work on the truss Platforms (1st, 2nd, and 3rd Levels) Railings Observation Deck Tower Shaft Broadcast Antenna adding more Rivets Conclusion I cant wait to show your more on this project I feel really happy on how this turned out and exited to see how it will turn out."}, {"post_id": 36802, "ts": "2026-07-29T02:59:40Z", "hours": 1.7331, "text": "I’m working on the Eiffel tower right now, I need to add more to it but these are the thing I have right now What I’ve added Foundation (the foundation is the blue part) The main legs or the Pylons (4 large angled pieces) Arched Braces / Arches (Curved pieces between legs) Rim / Guard Rail / Trim (The yellow strip at the top, and blue, and orange) Support Beams / Columns ( Vertical pieces supporting the platform) Cross Braces ( Small pieces connecting the legs) Corner Cap / Connector (The blue, yellow, light blue and white pieces on the corner) What I Want to add (veg) More details to the body such as the grid support, also have the guardrail have holes in it adding the rest of the base and and coloring it to the correct color. Some of the challenges was making the arches because the arch has such a weird shape to it and this was hard to sketch it out but eventually I found the right tool. Another problem was when I tried to mirror it, it wasn’t faced the right way, I overcame this challenge by using the transform tool to rotate it into place then used the same tool to move it into place. this will be a very fun project to make, This is my second cad project and of course I will try to make it look more alike the real thing but so far its looking good!"}]...
|
Title: Eiffel tower by @B754a | Stardance
Devlogs Title: Eiffel tower by @B754a | Stardance
Devlogs:
I’m working on the Eiffel tower right now, I need to add more to it but these are the thing I have right now What I’ve added Foundation (the foundation is the blue part) The main legs or the Pylons (4 large angled pieces) Arched Braces / Arches (Curved pieces between legs) Rim / Guard Rail / Trim (The yellow strip at the top, and blue, and orange) Support Beams / Columns ( Vertical pieces supporting the platform) Cross Braces ( Small pieces connecting the legs) Corner Cap / Connector (The blue, yellow, light blue and white pieces on the corner) What I Want to add (veg) More details to the body such as the grid support, also have the guardrail have holes in it adding the rest of the base and and coloring it to the correct color. Some of the challenges was making the arches because the arch has such a weird shape to it and this was hard to sketch it out but eventually I found the right tool. Another problem was when I tried to mirror it, it wasn’t faced the right way, I overcame this challenge by using the transform tool to rotate it into place then used the same tool to move it into place. this will be a very fun project to make, This is my second cad project and of course I will try to make it look more alike the real thing but so far its looking good!
Hi, I am making the Eiffel tower with onshape, this is what it looks like right now! this part was painful but worth it! Challenges There was many challenges such as the Corner Column (The green part) This one was very hard, because I couldn’t extrude it to make it filled in so it wasn’t paper thin but it didn’t work so I had to work around it by making a box then extruding it then cutting off the access pieces I didn’t need (such as the pieces that hang out) so I had to make a sketch to outline and cut it the final result looks very clean now! I also did have troubles on the Decorative Arch (Arch Rib / Spandrel Arch and the yellow one) This was hard because it was such a unique shape that I had to sketch something new for each one then the cutouts didn’t work on each side (It didn’t fit correctly) so I had to make it custom for each one this was one of the longer edits. Then I did have to shrink the Decorative Arch because it didn’t fit correctly (this piece was thin) the pattern was also hard but all I did was did a quick sketch to make it looks like the real thing. My last thing was the Rivet (The red circle) the rivet mirrored good but it didn’t mirror in the right spot so I had to transform it so it would move then I had to mirror it one the other side, this was the real challenge because it didn’t rotate correct. What I had to do to fix it was easy. All I had to do was make a sketch and make it vertical this way I could make it rotate properly. Process What I will do is add the detail first this will make it so when I change it its better to fix all the errors first then later on because you might forget some. I will go layer by layer for detail (fist layer ill try to do as much detail as I can). What I need to work on I will also not have the same amount of Rivet that the Eiffel tower has just because the Eiffel tower has about 2.5 million Rivets. More Detail I will need some work on the truss Platforms (1st, 2nd, and 3rd Levels) Railings Observation Deck Tower Shaft Broadcast Antenna adding more Rivets Conclusion I cant wait to show your more on this project I feel really happy on how this turned out and exited to see how it will turn out.
Hello, I’m currently making the Eiffel tower with onshape. This is what its looking like right now! What I’m working on rn I’m trying to improve the detail of the Eiffel tower such as the supports and the Gard rails. I also want to improve the top of the Eiffel tower as that is the most detailed part of it What has been done(new list) -All 3 layers -crossbeams -beams (up and down) Challenges I have had many challenges such as the Eiffel tower had 4 floors instead of 3 so I had to make the beams bigger to close it off. The size was hard to do because some pillars have to be the same size exactly so that was a challenge. Conclusion this project is very fun and I’m almost done I can wait to keep you guys updated!
Eiffel Tower done!!!!! This is what the Eiffel Tower looks like now . I fixed the colors of the Eiffel Tower to be more realistic like the real thing. Challenges The one challenge that I had was coloring everything because some of the colors did not look realistic at all compared to the real Eiffel Tower, so I had to change the colors like halfway through, but I got it to work out! Conclusion This was super fun and exciting to make. I really liked learning all the features of Onshape, and I had a really good time doing this . I would recommend this.
Ships:
This is my project Eiffel Tower!!! What is this project about? This project is about my journey from making my project Eiffel tower, This was a very cool project it took me a lot of time to learn about the Eiffel tower like how to Eiffel tower used to be a different color that it actually is. But it was fun to learn about the Eiffel tower and also learning more Onshape controls. Why did I want to make this? I wanted to make this project because I want more stardust so I can buy the keyboard in the shop, I’m very close so I thought that I could finish this before the deadline (before the deadline expanded) How hard was it to make? It was pretty hard to make, Ill give you some examples like the actual shape of the Eiffel tower. The shape is very hard to perfect like the beams ; there is the triangle pattern to make the beams stronger . The next one was color because the color did not match, but I will follow it up more in challenges. Challenges Some of the challenges where colors (follow up) the colors where very hard to do because I wasn’t sure what the Eiffel tower looked like (color) so I colored it all grey but when I looed it up it was a copper color so I had to change it back that took me 40 minutes to do but now it looks very nice. Another challenge was the shape of the structure. The Eiffel tower has a very unique shape it has all theses curves sharp edges and little details I had to implement I didn’t add all the little details but I did the best I could and I think it looks pretty realistic. Conclusion In all, this was one of the funniest projects I made! I really enjoyed working on it and it make me learn about real structures like the Eiffel tower. so in conclusion I think this was a great learning experience and a fun experience! The pictures at the bottom is the finished result....
|
1793152139.7215273
|
1793238539.7215273
|
|
66761
|
Openport by @xenoaitham | Stardance
|
xenoaitham
|
1
|
47.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-10T20:37:25Z", "hours": 47.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made OpenPorts, an attack surface monitor for small companies: you add a domain, prove you own it by publishing one TXT record at _openports.<yourdomain> , and a scanner that lives inside the web app itself sweeps the 100 most common TCP ports, has one short conversation with every open port, reads the TLS certificate on 443 and the mail ports, and checks SPF, DMARC, MX, HSTS, the http to https redirect and the server header. Every scan is diffed against the previous one, changes are held unconfirmed until a second scan agrees, and verified targets are rescanned every six hours without anyone pressing anything. The whole product is one process and one SQLite file: no redis, no docker, no queue service, two commands to run. The hardest bug was one I inflicted on myself. The scheduler’s due query used ORM column objects inside a raw SQL fragment, the ORM rendered them unqualified, and inside a correlated subquery a bare id resolved to the wrong table, so the query compared every scan against itself and concluded the target was due on every two second tick. The worker scanned the demo host seventeen times in three minutes before I noticed. The fix was hand qualifying the table names and pinning the generated SQL in tests, so the next person who makes that mistake fails a test instead of discovering it from a host’s point of view. The second hard part was honesty under a flapping network: the demo host’s port 80 gives different answers to different conversations seconds apart, so a naive monitor would cry wolf on every run. Changes now announce immediately, tagged unconfirmed, and only confirm when two of the last three scans agree. I am proud that nothing on screen is faked. Findings are never staged; every number in the report came off the wire, including the disagreements, which the report prints instead of hiding. And I am proud of the gate: nothing is ever scanned until ownership is proven, the worker rechecks verification before touching the network, and the single exception is scanme.nmap.org, which the Nmap project runs for exactly this purpose. To test: open https://emotions-finger-earthquake-hints.trycloudflare.com in a browser, nothing to install. Click run scan again on the target and watch a real scan finish in about four seconds, then expand raw scan output to see what actually came off the wire. Or run it locally: npm install, npm run dev, then open http://localhost:4310.", "repo": "https://github.com/xenoaitham/openports", "demo": "https://openports-live-xenoaitham.web.app/"}]...
|
[{"post_id": 78451, "ts": "202 [{"post_id": 78451, "ts": "2026-10-10T20:30:44Z", "hours": 3.3769, "text": "022: v1.0 stamped, the gap priced a fourteenth time One headline: stamp v1.0. Not new scope, just a clean stamp on what already works, so a stranger can clone, install, run, add a domain, publish one TXT record, and get real reports every six hours. The owner added one rule above everything else: commit nothing and push nothing until they say the word, so every git step is prepared and held. The box rebooted again, the fifth pickup like it, and both handoff processes died with it. Restoring them took one command each. The database wasn’t empty this time, since the owner had seeded two scans, and that led to the best surprise: the seed had made the target six hours stale, so on boot the scheduler enqueued a scan by itself. First scheduled rescan on the real clock since the cadence was proven, no rewind, no hand-inserted row, no request in the log before it. Four independent sightings of the due branch now. The scratch got cleared: four places, thirteen lines, all dead comments, a duplicate export and an unused constant, with the test count at 56 before and after. The README got read as a stranger would read it, every claim checked against the code, and none lied. One omission fixed: a single line naming the Node version. The domain question got priced again, and the baseline held on every corner. The cloud CLI lists thirteen projects, and every one answered that the DNS API is disabled. Enabling it and creating a zone is a billable action nobody takes on their own behalf, so two targets on one cadence and two scans at once stay pinned by a race test instead of watched live. A fresh set of twelve screenshots came out clean, though the browser cache was gone again and had to be refetched. The changes feed still has never shown a populated state on live data: seven done scans, every diff empty, nothing staged to force one. The release steps are queued in order, waiting for the word: scratch commit, README commit, version stamp, tag, push, release."}, {"post_id": 78295, "ts": "2026-10-10T10:14:48Z", "hours": 7.8275, "text": "007: the cadence on the real clock, and the gap that stands The oldest open question in the project closed: the six hour cadence fired on the real clock, no rewind, nothing inserted by hand. The scheduled scan appeared about a second after the mark, got claimed seven milliseconds later, finished in under four seconds, and stored the same empty diff as the one before it. Both feeds stayed honestly quiet. Every process watching it had died and the machine had been rebuilt around them, which didn’t matter, since the clock reads the database, not any process. One small decision along the way: the politeness check stays on one stored address per target. Matching every address would need an address history table inside the claim, real machinery for round-robin hosts a small company rarely has, and politeness is a courtesy, not a correctness property. Two lessons for the watching kit. Wiping the database with rm deafens any watcher, since it keeps polling the deleted file and the log just stops with no error, so restart it after every wipe, and after the migrate. And the production server doesn’t migrate, only dev does. The gap that stands: two owned targets sharing the cadence, and two scans running at once, still pinned by a race test instead of watched live. Two more runs checked, and the second went deeper. No DNS credentials anywhere, then a cloud CLI turned up with two accounts, one with a dead token and one that sees ten projects with the DNS service disabled on every one. There’s a difference between no panel and a panel one billable step away, and enabling it is a purchase on someone’s account, not something to do unprompted. Meanwhile the loop held every time: add the public test target, scan it, same four findings, port 80 splitting its personality between a 200 on the banner grab and a refused connection on the redirect check. It never flapped, so the populated changes feed has still never been seen on live data, and nothing was staged to force it."}, {"post_id": 78014, "ts": "2026-10-09T06:27:59Z", "hours": 6.2281, "text": "006: the pool, the bound, and the storm that never got to happen Three jobs landed: a small worker pool with an atomic claim, retention finally observed deleting past its bound on a real run, and a decision about targets that never succeed. Still no second owned domain, so two scans running at once is pinned by a race test instead of watched live. The pool is three workers, one plain constant. The whole design is the claim: one SQL statement picks a queued row and flips it to running in the same breath, so two workers can never take the same row. A test runs two real processes over one database file with twelve queued rows, and together they claimed all twelve, no duplicates. A politeness rule rides on top: a queued scan waits while any scan of the same target, or any target at the same address, is running, so one host never gets swept by two workers at once. Watched it live: a burst of four scans on one host ran strictly one at a time, each starting within a millisecond of the previous finish. Boot recovery marked several stranded running rows failed at once, and a real kill mid-sweep recovered cleanly, the next queued scan picking up seconds later. Retention had never deleted anything, since the real bound is a hundred. Lowered it to five for a soak, then restored it. The prune deleted exactly the five oldest done rows in the same instant, findings and diffs went with them through the cascade, failed rows were untouched, and neither feed noticed. The never-succeeded decision: a target whose scans always fail used to be requeued every two seconds, forever, hammering a host that’s already failing. Now any finished scan resets the cadence, so a failing target is retried once per cadence like a healthy one. Cost, written down: a failed manual scan delays the next scheduled one. One tooling incident: leftover watchers went deaf partway through, and my cleanup matched its own command line and killed a mix of shells and watchers. Watchers get a pidfile now."}, {"post_id": 77487, "ts": "2026-10-07T06:06:47Z", "hours": 9.1194, "text": "005: the window armed, and the run that went dark Planned three things: catch the scheduler firing against a real clock, get a photo of a populated changes feed, and if there was room, add a retention limit to the scans table. The retention part landed clean. The clock-watching part did not, since the whole attempt crashed unexpectedly partway through and came back much later with only a partial trail left behind. Retention is simple and real: keep the last hundred completed scans per target, prune right after a scan finishes, never let a failed cleanup corrupt a scan that actually succeeded. Deleting an old scan correctly drags its stored history with it, since nothing on screen ever looks back further than the limit already allows anyway. The near miss is worth writing down. A log line looked exactly like proof the real scheduler behavior had finally been caught live. It was not, a different unrelated row fired for an unrelated reason, and it nearly got written up as the real finding before a second look caught it. Worse, the machine’s own clock had been wrong for the entire stretch, quietly off by a meaningful margin, so no timing claim from that window can be trusted. Every timing tool now stamps both the wall clock and a separate monotonic clock side by side, so drift shows up honestly instead of lying silently. Someone else picked up the real observation properly, on a trustworthy clock, the same day. One real bug got caught and fixed regardless: a visual check of the live pages turned up literal broken source text rendering in production on every page, leftover from unrelated commits, plus a stray constant pasted into the middle of an unrelated import. Both fixed and disclosed rather than skipped past. The actual lesson: the product held up fine through all of it. The environment around it, crashes, clock errors, lost caches, was what actually failed this time."}, {"post_id": 77153, "ts": "2026-10-05T20:04:08Z", "hours": 5.2897, "text": "004: the feed and the clock Two real jobs this time, since a monitor that rescans itself is useless if nobody can see what changed without opening every target by hand. Gave the changes feed a real home across all targets at once, and then verified the scheduler against an actual running clock instead of just faking the passage of time. The feed now lives on the dashboard as one shared section instead of being buried per target. The part that actually matters: both the per-target view and the new dashboard view call the exact same underlying function with the same inputs, so there’s no way for them to ever quietly disagree, a test pins that guarantee directly. Then watched the scheduler live instead of trusting it on paper. Queued three scans back to back and watched a live monitor poll the database every tenth of a second: each one started within a millisecond of the previous finishing, strictly one at a time, exactly as claimed. Let the scheduler run untouched for a few minutes after and it correctly saw nothing was due yet, zero extra scans fired. Then did a real crash test, killed the server mid-scan for real, and on restart the interrupted scan correctly recorded itself as failed with an honest reason and a real timestamp, while the next queued scan picked up normally right after. Nothing stalled, nothing doubled up. Also added a small “last changed” column to the main table, reading how long ago a target last actually recorded a real change, falling back to an honest dash instead of a false zero when there’s simply no history to look back through. Honest gaps left standing: the scheduler’s actual auto-triggered scan path still hasn’t fired against a real clock, since nothing happened to go stale during this run, and the fully populated version of the new feed has never actually been seen live, since the test target just didn’t flap this time."}, {"post_id": 75862, "ts": "2026-10-01T11:37:09Z", "hours": 5.3144, "text": "003: the monitor runs on its own Three things landed, and one caught a real bug in the tool itself. Targets now get rescanned automatically on a fixed cadence instead of only when someone manually triggers one, with guards so a slow scan never piles another behind it and a crash-interrupted scan gets marked failed on restart instead of stalling the cadence forever. The bug lived in that scheduler. A raw SQL fragment had a column reference that wasn’t properly scoped, so inside a nested subquery it silently matched against the wrong table entirely, meaning every tick thought every target was already stale and due again. The worker rescanned the test target seventeen times in about three minutes before anyone noticed. Killed it, fixed the query by hand, and pinned the actual generated SQL in a test so the same mistake fails loudly next time instead of quietly hammering a shared target. That accidental storm also proved the flap-detection design works for real: the scheduled runs watched the flaky test port close three times, catch it opening once with exactly the single expected unconfirmed alert, then stay quiet through seven more scans that all agreed. One honest announcement, then silence, no crying wolf. Extended certificate checking from just the main port to the mail ports too, and testing it against a real mail server caught another real bug, the handshake was sending the resolved IP address as the server name instead of the actual domain, so every check failed with a false hostname mismatch on a certificate that was actually fine. Fixed to match what a real browser does, and the same server that falsely failed a minute earlier came back clean. Also did another full visual pass and caught a few smaller things left over: red still marking a normal state, a decorative pulsing dot next to text that already said the same thing, inconsistent spacing across tables, and a rare timing mismatch between server-rendered and client-rendered relative timestamps."}, {"post_id": 75721, "ts": "2026-09-30T21:06:20Z", "hours": 4.35, "text": "002: the ui rework The scanner works and the loop is honest, but the frontend read like it came off an assembly line. Screenshotted every page with real data and judged each one as a skeptical stranger: does one person’s point of view show here, or does it pattern-match a template. Verdict: every shot patterned. Terminal-cosplay monospace headline, a numbered marketing-style “how it works” section, prose before any real output, tinted pill badges doing what a plain word could do, a green accent spent purely on decoration. That same review caught two real bugs, not the code review. Findings rendered worst-last instead of worst-first, so the most important result sat at the bottom. And a completely expected, normal state rendered in alarm red, exactly the thing that trains people to ignore red. Rebuilt around one stance: paper, not a dashboard. Off-white background, no rounded corners, no shadows, no gradients. Tables are the interface. Monospace only for actual data, ports, tokens, timestamps. Color appears exactly once, for severity, nothing else. The landing page now shows a real report pulled live from the database instead of marketing copy. Shipped port banner grabbing too, so an open port says what’s listening instead of a bare number. One real security call won along the way: a first draft quietly disabled certificate validation to read self-signed certs, and that got reverted, since a self-signed cert is exactly what a monitoring tool should flag, not quietly read through. Also added a real diff feed between scans. A flaky test target’s port flips open and closed between runs, so announcing every change instantly would be worthless noise. Settled on showing a change immediately but marked unconfirmed until two of the last three scans agree, resolving a one-scan flap back to its real state too. Still missing: scheduled rescans, so the feed only moves when someone manually triggers a scan, and mail TLS ports are identified but not checked for certificate expiry yet."}, {"post_id": 75473, "ts": "2026-09-30T05:53:13Z", "hours": 5.0386, "text": "001: the first loop works OpenPorts watches a domain from the outside and reports what it exposes: open ports, TLS certificates on their way out, mail records that let anyone spoof you, headers that give away the stack. The first full loop went end to end: add a domain, publish one TXT record to prove you own it, then the scanner runs. No record, no scan, one exception for the public test target Nmap itself runs for scanner builders. The scanner stays deliberately modest: one connect sweep over the hundred most likely ports, a TLS handshake to read the certificate, a few DNS lookups for spoofing protection, and three small HTTP checks. Nothing sends a payload, nothing probes services. A full scan takes under three seconds. Two real bugs worth writing down. First, the hand-assembled port list was just wrong, missing port 3389 entirely, so the single highest-severity finding in the whole catalog could never actually fire. A boring test that just checks a list of numbers felt like pure ceremony right up until it caught exactly that. Second, the test target’s port 80 turned out flaky in the worst way for a monitoring product: sometimes it answers fully, sometimes the connection opens but the request just hangs until timeout, and reported findings silently change between runs though nothing on the customer’s end did anything. Now recording exactly what the network said instead of pretending every check came back clean; confirming a change twice before reporting it is next. Architecture choices so far: a simple embedded database instead of a separate one to babysit, and one plain interval-based worker in the main process instead of real job infrastructure, the least moving parts that still survives a restart without double-scanning. What doesn’t work yet: no service identification on open ports, TLS only checked when the main web port answers, and only one scan at a time. Next: naming what’s running on each open port, scheduled rescans, and diffing between scans, since “this port showed up since yesterday” is the real product."}]...
|
Title: Openport by @xenoaitham | Stardance
Devlog Title: Openport by @xenoaitham | Stardance
Devlogs:
001: the first loop works OpenPorts watches a domain from the outside and reports what it exposes: open ports, TLS certificates on their way out, mail records that let anyone spoof you, headers that give away the stack. The first full loop went end to end: add a domain, publish one TXT record to prove you own it, then the scanner runs. No record, no scan, one exception for the public test target Nmap itself runs for scanner builders. The scanner stays deliberately modest: one connect sweep over the hundred most likely ports, a TLS handshake to read the certificate, a few DNS lookups for spoofing protection, and three small HTTP checks. Nothing sends a payload, nothing probes services. A full scan takes under three seconds. Two real bugs worth writing down. First, the hand-assembled port list was just wrong, missing port 3389 entirely, so the single highest-severity finding in the whole catalog could never actually fire. A boring test that just checks a list of numbers felt like pure ceremony right up until it caught exactly that. Second, the test target’s port 80 turned out flaky in the worst way for a monitoring product: sometimes it answers fully, sometimes the connection opens but the request just hangs until timeout, and reported findings silently change between runs though nothing on the customer’s end did anything. Now recording exactly what the network said instead of pretending every check came back clean; confirming a change twice before reporting it is next. Architecture choices so far: a simple embedded database instead of a separate one to babysit, and one plain interval-based worker in the main process instead of real job infrastructure, the least moving parts that still survives a restart without double-scanning. What doesn’t work yet: no service identification on open ports, TLS only checked when the main web port answers, and only one scan at a time. Next: naming what’s running on each open port, scheduled rescans, and diffing between scans, since “this port showed up since yesterday” is the real product.
002: the ui rework The scanner works and the loop is honest, but the frontend read like it came off an assembly line. Screenshotted every page with real data and judged each one as a skeptical stranger: does one person’s point of view show here, or does it pattern-match a template. Verdict: every shot patterned. Terminal-cosplay monospace headline, a numbered marketing-style “how it works” section, prose before any real output, tinted pill badges doing what a plain word could do, a green accent spent purely on decoration. That same review caught two real bugs, not the code review. Findings rendered worst-last instead of worst-first, so the most important result sat at the bottom. And a completely expected, normal state rendered in alarm red, exactly the thing that trains people to ignore red. Rebuilt around one stance: paper, not a dashboard. Off-white background, no rounded corners, no shadows, no gradients. Tables are the interface. Monospace only for actual data, ports, tokens, timestamps. Color appears exactly once, for severity, nothing else. The landing page now shows a real report pulled live from the database instead of marketing copy. Shipped port banner grabbing too, so an open port says what’s listening instead of a bare number. One real security call won along the way: a first draft quietly disabled certificate validation to read self-signed certs, and that got reverted, since a self-signed cert is exactly what a monitoring tool should flag, not quietly read through. Also added a real diff feed between scans. A flaky test target’s port flips open and closed between runs, so announcing every change instantly would be worthless noise. Settled on showing a change immediately but marked unconfirmed until two of the last three scans agree, resolving a one-scan flap back to its real state too. Still missing: scheduled rescans, so the feed only moves when someone manually triggers a scan, and mail TLS ports are identified but not checked for certificate expiry yet.
003: the monitor runs on its own Three things landed, and one caught a real bug in the tool itself. Targets now get rescanned automatically on a fixed cadence instead of only when someone manually triggers one, with guards so a slow scan never piles another behind it and a crash-interrupted scan gets marked failed on restart instead of stalling the cadence forever. The bug lived in that scheduler. A raw SQL fragment had a column reference that wasn’t properly scoped, so inside a nested subquery it silently matched against the wrong table entirely, meaning every tick thought every target was already stale and due again. The worker rescanned the test target seventeen times in about three minutes before anyone noticed. Killed it, fixed the query by hand, and pinned the actual generated SQL in a test so the same mistake fails loudly next time instead of quietly hammering a shared target. That accidental storm also proved the flap-detection design works for real: the scheduled runs watched the flaky test port close three times, catch it opening once with exactly the single expected unconfirmed alert, then stay quiet through seven more scans that all agreed. One honest announcement, then silence, no crying wolf. Extended certificate checking from just the main port to the mail ports too, and testing it against a real mail server caught another real bug, the handshake was sending the resolved IP address as the server name instead of the actual domain, so every check failed with a false hostname mismatch on a certificate that was actually fine. Fixed to match what a real browser does, and the same server that falsely failed a minute earlier came back clean. Also did another full visual pass and caught a few smaller things left over: red still marking a normal state, a decorative pulsing dot next to text that already said the same thing, inconsistent spacing across tables, and a rare timing mismatch between server-rendered and client-rendered relative timestamps.
004: the feed and the clock Two real jobs this time, since a monitor that rescans itself is useless if nobody can see what changed without opening every target by hand. Gave the changes feed a real home across all targets at once, and then verified the scheduler against an actual running clock instead of just faking the passage of time. The feed now lives on the dashboard as one shared section instead of being buried per target. The part that actually matters: both the per-target view and the new dashboard view call the exact same underlying function with the same inputs, so there’s no way for them to ever quietly disagree, a test pins that guarantee directly. Then watched the scheduler live instead of trusting it on paper. Queued three scans back to back and watched a live monitor poll the database every tenth of a second: each one started within a millisecond of the previous finishing, strictly one at a time, exactly as claimed. Let the scheduler run untouched for a few minutes after and it correctly saw nothing was due yet, zero extra scans fired. Then did a real crash test, killed the server mid-scan for real, and on restart the interrupted scan correctly recorded itself as failed with an honest reason and a real timestamp, while the next queued scan picked up normally right after. Nothing stalled, nothing doubled up. Also added a small “last changed” column to the main table, reading how long ago a target last actually recorded a real change, falling back to an honest dash instead of a false zero when there’s simply no history to look back through. Honest gaps left standing: the scheduler’s actual auto-triggered scan path still hasn’t fired against a real clock, since nothing happened to go stale during this run, and the fully populated version of the new feed has never actually been seen live, since the test target just didn’t flap this time.
005: the window armed, and the run that went dark Planned three things: catch the scheduler firing against a real clock, get a photo of a populated changes feed, and if there was room, add a retention limit to the scans table. The retention part landed clean. The clock-watching part did not, since the whole attempt crashed unexpectedly partway through and came back much later with only a partial trail left behind. Retention is simple and real: keep the last hundred completed scans per target, prune right after a scan finishes, never let a failed cleanup corrupt a scan that actually succeeded. Deleting an old scan correctly drags its stored history with it, since nothing on screen ever looks back further than the limit already allows anyway. The near miss is worth writing down. A log line looked exactly like proof the real scheduler behavior had finally been caught live. It was not, a different unrelated row fired for an unrelated reason, and it nearly got written up as the real finding before a second look caught it. Worse, the machine’s own clock had been wrong for the entire stretch, quietly off by a meaningful margin, so no timing claim from that window can be trusted. Every timing tool now stamps both the wall clock and a separate monotonic clock side by side, so drift shows up honestly instead of lying silently. Someone else picked up the real observation properly, on a trustworthy clock, the same day. One real bug got caught and fixed regardless: a visual check of the live pages turned up literal broken source text rendering in production on every page, leftover from unrelated commits, plus a stray constant pasted into the middle of an unrelated import. Both fixed and disclosed rather than skipped past. The actual lesson: the product held up fine through all of it. The environment around it, crashes, clock errors, lost caches, was what actually failed this time.
006: the pool, the bound, and the storm that never got to happen Three jobs landed: a small worker pool with an atomic claim, retention finally observed deleting past its bound on a real run, and a decision about targets that never succeed. Still no second owned domain, so two scans running at once is pinned by a race test instead of watched live. The pool is three workers, one plain constant. The whole design is the claim: one SQL statement picks a queued row and flips it to running in the same breath, so two workers can never take the same row. A test runs two real processes over one database file with twelve queued rows, and together they claimed all twelve, no duplicates. A politeness rule rides on top: a queued scan waits while any scan of the same target, or any target at the same address, is running, so one host never gets swept by two workers at once. Watched it live: a burst of four scans on one host ran strictly one at a time, each starting within a millisecond of the previous finish. Boot recovery marked several stranded running rows failed at once, and a real kill mid-sweep recovered cleanly, the next queued scan picking up seconds later. Retention had never deleted anything, since the real bound is a hundred. Lowered it to five for a soak, then restored it. The prune deleted exactly the five oldest done rows in the same instant, findings and diffs went with them through the cascade, failed rows were untouched, and neither feed noticed. The never-succeeded decision: a target whose scans always fail used to be requeued every two seconds, forever, hammering a host that’s already failing. Now any finished scan resets the cadence, so a failing target is retried once per cadence like a healthy one. Cost, written down: a failed manual scan delays the next scheduled one. One tooling incident: leftover watchers went deaf partway through, and my cleanup matched its own command line and killed a mix of shells and watchers. Watchers get a pidfile now.
007: the cadence on the real clock, and the gap that stands The oldest open question in the project closed: the six hour cadence fired on the real clock, no rewind, nothing inserted by hand. The scheduled scan appeared about a second after the mark, got claimed seven milliseconds later, finished in under four seconds, and stored the same empty diff as the one before it. Both feeds stayed honestly quiet. Every process watching it had died and the machine had been rebuilt around them, which didn’t matter, since the clock reads the database, not any process. One small decision along the way: the politeness check stays on one stored address per target. Matching every address would need an address history table inside the claim, real machinery for round-robin hosts a small company rarely has, and politeness is a courtesy, not a correctness property. Two lessons for the watching kit. Wiping the database with rm deafens any watcher, since it keeps polling the deleted file and the log just stops with no error, so restart it after every wipe, and after the migrate. And the production server doesn’t migrate, only dev does. The gap that stands: two owned targets sharing the cadence, and two scans running at once, still pinned by a race test instead of watched live. Two more runs checked, and the second went deeper. No DNS credentials anywhere, then a cloud CLI turned up with two accounts, one with a dead token and one that sees ten projects with the DNS service disabled on every one. There’s a difference between no panel and a panel one billable step away, and enabling it is a purchase on someone’s account, not something to do unprompted. Meanwhile the loop held every time: add the public test target, scan it, same four findings, port 80 splitting its personality between a 200 on the banner grab and a refused connection on the redirect check. It never flapped, so the populated changes feed has still never been seen on live data, and nothing was staged to force it.
022: v1.0 stamped, the gap priced a fourteenth time One headline: stamp v1.0. Not new scope, just a clean stamp on what already works, so a stranger can clone, install, run, add a domain, publish one TXT record, and get real reports every six hours. The owner added one rule above everything else: commit nothing and push nothing until they say the word, so every git step is prepared and held. The box rebooted again, the fifth pickup like it, and both handoff processes died with it. Restoring them took one command each. The database wasn’t empty this time, since the owner had seeded two scans, and that led to the best surprise: the seed had made the target six hours stale, so on boot the scheduler enqueued a scan by itself. First scheduled rescan on the real clock since the cadence was proven, no rewind, no hand-inserted row, no request in the log before it. Four independent sightings of the due branch now. The scratch got cleared: four places, thirteen lines, all dead comments, a duplicate export and an unused constant, with the test count at 56 before and after. The README got read as a stranger would read it, every claim checked against the code, and none lied. One omission fixed: a single line naming the Node version. The domain question got priced again, and the baseline held on every corner. The cloud CLI lists thirteen projects, and every one answered that the DNS API is disabled. Enabling it and creating a zone is a billable action nobody takes on their own behalf, so two targets on one cadence and two scans at once stay pinned by a race test instead of watched live. A fresh set of twelve screenshots came out clean, though the browser cache was gone again and had to be refetched. The changes feed still has never shown a populated state on live data: seven done scans, every diff empty, nothing staged to force one. The release steps are queued in order, waiting for the word: scratch commit, README commit, version stamp, tag, push, release.
Ships:
I made OpenPorts, an attack surface monitor for small companies: you add a domain, prove you own it by publishing one TXT record at _openports.<yourdomain> , and a scanner that lives inside the web app itself sweeps the 100 most common TCP ports, has one short conversation with every open port, reads the TLS certificate on 443 and the mail ports, and checks SPF, DMARC, MX, HSTS, the http to https redirect and the server header. Every scan is diffed against the previous one, changes are held unconfirmed until a second scan agrees, and verified targets are rescanned every six hours without anyone pressing anything. The whole product is one process and one SQLite file: no redis, no docker, no queue service, two commands to run. The hardest bug was one I inflicted on myself. The scheduler’s due query used ORM column objects inside a raw SQL fragment, the ORM rendered them unqualified, and inside a correlated subquery a bare id resolved to the wrong table, so the query compared every scan against itself and concluded the target was due on every two second tick. The worker scanned the demo host seventeen times in three minutes before I noticed. The fix was hand qualifying the table names and pinning the generated SQL in tests, so the next person who makes that mistake fails a test instead of discovering it from a host’s point of view. The second hard part was honesty under a flapping network: the demo host’s port 80 gives different answers to different conversations seconds apart, so a naive monitor would cry wolf on every run. Changes now announce immediately, tagged unconfirmed, and only confirm when two of the last three scans agree. I am proud that nothing on screen is faked. Findings are never staged; every number in the report came off the wire, including the disagreements, which the report prints instead of hiding. And I am proud of the gate: nothing is ever scanned until ownership is proven, the worker rechecks verification before touching the network, and the single exception is scanme.nmap.org, which the Nmap project runs for exactly this purpose. To test: open https://emotions-finger-earthquake-hints.trycloudflare.com in a browser, nothing to install. Click run scan again on the target and watch a real scan finish in about four seconds, then expand raw scan output to see what actually came off the wire. Or run it locally: npm install, npm run dev, then open http://localhost:4310....
|
1793008387.6056929
|
1793872387.6056929
|
|
17010
|
RawOS by @wojtek | Stardance
|
wojtek
|
0
|
1.7
|
0
|
[]
|
[{"post_id": 7845, "ts": "2026 [{"post_id": 7845, "ts": "2026-06-13T02:45:25Z", "hours": 0.9983, "text": "I made entering (web)OS animation with autotyped login :3."}, {"post_id": 7237, "ts": "2026-06-12T02:25:53Z", "hours": 0.7003, "text": "I’ve made a simple landing page, instead of using css like in the tutorial, I went with tailwind cuz im more comfortable with it and i really dislike css"}]...
|
Title: RawOS by @wojtek | Stardance
Devlogs:
I’ve Title: RawOS by @wojtek | Stardance
Devlogs:
I’ve made a simple landing page, instead of using css like in the tutorial, I went with tailwind cuz im more comfortable with it and i really dislike css
I made entering (web)OS animation with autotyped login :3....
|
1792929024.2697852
|
1793793024.2697852
|
|
44009
|
Multiversal Remote by @antellij | Stardance
|
antellij
|
1
|
41.2
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-28T01:35:17Z", "hours": 39.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "A project aimed at replicating IR signals for media communication while also being able to act as a Bluetooth keyboard (Can do media controls and keystrokes), with the ability to be (fairly) easily extensible for more profiles and devices.", "repo": "https://github.com/antelliJ/Universal-Remote", "demo": ""}]...
|
[{"post_id": 78449, "ts": "202 [{"post_id": 78449, "ts": "2026-10-10T20:25:14Z", "hours": 0.725, "text": "Added a BOM and STEP file to the repository, so it should become a lot more clear on how to reproduce the project, and should help prepare for shipping."}, {"post_id": 64470, "ts": "2026-09-08T21:54:07Z", "hours": 1.4783, "text": "Actually started designing something to make it look nice in, and something to hold down the microcontroller and other components. That means you don’t need to touch the main board when plugging in power (novel). The wiring has been cleaned up a little (still looks terrible), so it should be far easier to repair / replace any parts that aren’t working. I have now actually been able to use the 8 buttons of the shift register due to this. I cut some grooves for necessary IO sensors and for the power, added a filet to the corners to make it more ergonomic and comfortable to hold. There is now also a back panel so you can rest your hands there instead of pulling out a wire. I also designed a 3d version of this just incase it was necessary."}, {"post_id": 56312, "ts": "2026-08-28T01:29:34Z", "hours": 1.6631, "text": "Devlog 7.1 Was just about to ship when I realized there was a bug that I somehow never noticed before that would mean you couldn’t functionally use more than a single page of profiles (4), which would be quite detrimental to anyone wishing to turn on more than a set of lights"}, {"post_id": 55369, "ts": "2026-08-27T04:50:28Z", "hours": 1.7567, "text": "Devlog 7 While I could at leas try to make something pretty, I’ll just say I’m a pragmatist and don’t need extra fluff. The casing is just a wooden frame that I drilled holes for the buttons and screen, and the final and basically only functional button is just taped on at the top, but with that being said, it does do what I want it to do, and I think that that is enough. I’ve decided this project has set its sail and is about to roam the open waters of the shipyard. I’ve taken some fine looking photos to attach to the top of the github repository, shined up the README to make proper installation instructions, and am just about ready to ship what I have."}, {"post_id": 54557, "ts": "2026-08-25T16:04:53Z", "hours": 6.6308, "text": "Devlog 6 I might just be the most oblivious person I know Since my shift register wasn’t registering, I went ahead to continuity check every connection from each input pin to the register, then form the register to the microcontroller, then to just about every other pin, and cross referencing with the schematic, fixing minor issues and repeat like 5 times, but to no avail. I seemed to believe I was Terry Davis or something because I was convinced it was a hardware issue and didn’t check any of the software, only the code that checks the inputs, which theoretically should have worked. I assumed at some point I catastrophically ruined the IC So I desoldered all register related components and just used a single button for debugging. Just for fun I tested the IC on another breadboard with an ESP32 that I know was working and it functioned properly. Odd. When I’m rewriting the code to work for a single button I was trying to alter the logic for the register setup, it was at this moment I realized the setup function wasn’t called - gasp one line – registerSetup(); would have made everything work. While I could put everything back together, I don’t want to deal with the glob just yet, I’ll wait to get a socket (in case the IC does actually break at some point) I’ll also begin writing the README for the project on github since the major parts of the project are done PS - I just realized I missed devlog 3 - welp there’s no going back now"}, {"post_id": 52768, "ts": "2026-08-23T03:32:44Z", "hours": 5.8708, "text": "Devlog 5 I’ve done a bit of soldering at this point, but I will say it is definitely not pretty. It is a rats nest of floating wires that probably won’t short or disconnect if I’m lucky, and all the power lines are held together with massive blobs of solder (or wires connecting the blobs since the blobs don’t stay together if they get too large) In all my genius I also used solid core wire, which means they are more stiff, and more likely to break off from my weak solder points than flex, so I had to do a lot of reattachment. Magically, it appears a lot of things are working, just not the shift register and its hard to say why. Perhaps I burned it and ruined the internal ICs, I’m not sure. I think I’ll disconnect it and reattach a singular button just to make sure everything else works (and I at least have some feasible product at the end of this)."}, {"post_id": 50723, "ts": "2026-08-20T02:04:22Z", "hours": 3.6953, "text": "Devlog 4 I’ve been working on some light soldering, but the most interesting part was the work on the woodwork for the actual remote chassis since I don’t have a 3d printer. I used an old wooden frame i had around. Maybe its the calm before the storm, but I found this part really relaxing. I would drill and chip away bit by bit, and eventually things would go in and fit flushly, and was really rewarding. During the timelapse you can see each hit as the camera moves, and I think its really satisfying cleaning the workbench, making progress, and the cleanup. Feeling the buttons and rotary encoder firmly in place made me realize I quite like the tactile feel, and I might want to implement some games, maybe like a memory game so I can use all the buttons or a space invaders replica."}, {"post_id": 49180, "ts": "2026-08-17T20:24:29Z", "hours": 7.9239, "text": "Devlog 2 Now that I have the bluetooth and IR functionality working together, the ir demo is attached in the video. I’ve also created a schematic, which was done as my first time ever using KiCad, so I first followed the web tutorial to get the basics, then went in. While I don’t need to get a pcb since I plan on just soldering everything directly, it does make visualizing the connections easier. That is especially imoprtant since I’m running very tight on applicable GPIO pins. I need 10 total IO pins for everything (screen I2C, shift register, rotary encoder, IR receiver and transmitter). The board I’m using (ESP32 C3 super-mini) has 16 pins, 13 for GPIO. But of that 13, 3 are strapping pins (required to be in particular states at boot), and 2 are for UART transmission. Leaving only 8 fully open pins. Theoretically I could just stack shift registers for everything input and only use like 5 pins, but that sounds overcomplicated, and I thought it would be a fun challenge to get everything to work. I went through the datasheets to figure out which state would be safest and would logically not be a worry, for instance pin 8 should be low at boot, but afterwards it acts an output to the internal LED, that meant I could safely connect that to the IR since it would never need to be pulled high unless it was being used, and having a visual indicator of when the IR was transmitting seemed like a fun inclusion. I’m sure the final schematic is not the most tidy thing, but I think it works for what it needs to be. I attached it to the end of the video"}, {"post_id": 45873, "ts": "2026-08-12T16:41:02Z", "hours": 3.1183, "text": "Devlog 1 I seem to be very good at getting lost. I realized that I couldn’t safely handle Bluetooth or IR commands since all the logic uses the base class (that makes switching between them easy). The only problem is when I actually have to use the specific properties of each. So I went into a rabbit hole trying to get variants, and implementing some of the bluetooth protocols as I passed by that file, and when I remembered what was actually trying to fix I realized I could just force it to recognize it based on the state (the property that I had set up at the start). At least working on the bluetooth media part did make me realize that I only had the foresight to add character presses into my structs, and not necessarily media keys. So I’ll need to figure that out… Since I’ll be getting my proper board with some other necessary components soon, I think I’ll also start to work on a schematic and readme as I’m getting closer to actually finishing (and shipping) this project"}, {"post_id": 44303, "ts": "2026-08-09T23:29:14Z", "hours": 8.5378, "text": "Devlog 0 yap yap A whole lot of things today are built on being convenient and therefore wireless, but sometimes things are too convenient that they end up creating an annoyance. Case being the amount of remotes that powers an LED strip at most once a month and then hides away collecting dust ready to be forgotten, and it being the only way to power these devices makes them quite necessary. I wanted to solve this by creating my own IR remote, which can read any signal and proceed to save it so that I only need one remote for LEDs, TVs, or other IR devices. Using the beloved ESP32, I also have bluetooth functionality and thought it would be good to bring the idea of a universal remote into a modern age by allowing it to also connect and give wireless commands through bluetooth. This allows it to pause/play/skip media, act as a shutter for a phone’s camera, become a macro pad, all through the various profiles that you can set up for your own needs. what I’ve actually done Now with all these lofty ideas requires a strong foundation, so after testing all the libraries and components individually I needed to bring these all together gracefully (at least to the best of my ability). So I started creating a framework for all of the components and how they will relate to each other without having the ability to cause direct harm to the other parts of the system should I mess up (which is likely). I’ve done enough coding to get my way around and find what I need, but I wouldn’t be able to name what approach I’m using at the top of my head, and maybe putting everything in header files isn’t the best idea long term but that’s a problem for later. Component wise I’m using an esp32-c3 with a standard OLED module, a rotary encoder, several buttons, and a shift register. Apparently the shift register is rated for 5v logic only, but it appears to be working during my tests so I’m assuming its fine. Anyways actually creating a derived class and propagating the values of the current state of the program was a bit more involved than I thought, so I needed to spend time debugging that while I was setting up the screen logic at the same time. It currently works by showing the title of the current profile, the available 8 commands (which would map to the 8 buttons), and whether there are more commands that can be scrolled to using the rotary encoder. Video stuff Attached is the video that shows the first 8 commands of a profile being drawn step by step. Afterwards is a showcase of some of the planning and code (terribly written I’m sure) that I’ve done so far"}]...
|
Title: Multiversal Remote by @antellij | Stardance Title: Multiversal Remote by @antellij | Stardance
Devlogs:
Devlog 0 yap yap A whole lot of things today are built on being convenient and therefore wireless, but sometimes things are too convenient that they end up creating an annoyance. Case being the amount of remotes that powers an LED strip at most once a month and then hides away collecting dust ready to be forgotten, and it being the only way to power these devices makes them quite necessary. I wanted to solve this by creating my own IR remote, which can read any signal and proceed to save it so that I only need one remote for LEDs, TVs, or other IR devices. Using the beloved ESP32, I also have bluetooth functionality and thought it would be good to bring the idea of a universal remote into a modern age by allowing it to also connect and give wireless commands through bluetooth. This allows it to pause/play/skip media, act as a shutter for a phone’s camera, become a macro pad, all through the various profiles that you can set up for your own needs. what I’ve actually done Now with all these lofty ideas requires a strong foundation, so after testing all the libraries and components individually I needed to bring these all together gracefully (at least to the best of my ability). So I started creating a framework for all of the components and how they will relate to each other without having the ability to cause direct harm to the other parts of the system should I mess up (which is likely). I’ve done enough coding to get my way around and find what I need, but I wouldn’t be able to name what approach I’m using at the top of my head, and maybe putting everything in header files isn’t the best idea long term but that’s a problem for later. Component wise I’m using an esp32-c3 with a standard OLED module, a rotary encoder, several buttons, and a shift register. Apparently the shift register is rated for 5v logic only, but it appears to be working during my tests so I’m assuming its fine. Anyways actually creating a derived class and propagating the values of the current state of the program was a bit more involved than I thought, so I needed to spend time debugging that while I was setting up the screen logic at the same time. It currently works by showing the title of the current profile, the available 8 commands (which would map to the 8 buttons), and whether there are more commands that can be scrolled to using the rotary encoder. Video stuff Attached is the video that shows the first 8 commands of a profile being drawn step by step. Afterwards is a showcase of some of the planning and code (terribly written I’m sure) that I’ve done so far
Devlog 1 I seem to be very good at getting lost. I realized that I couldn’t safely handle Bluetooth or IR commands since all the logic uses the base class (that makes switching between them easy). The only problem is when I actually have to use the specific properties of each. So I went into a rabbit hole trying to get variants, and implementing some of the bluetooth protocols as I passed by that file, and when I remembered what was actually trying to fix I realized I could just force it to recognize it based on the state (the property that I had set up at the start). At least working on the bluetooth media part did make me realize that I only had the foresight to add character presses into my structs, and not necessarily media keys. So I’ll need to figure that out… Since I’ll be getting my proper board with some other necessary components soon, I think I’ll also start to work on a schematic and readme as I’m getting closer to actually finishing (and shipping) this project
Devlog 2 Now that I have the bluetooth and IR functionality working together, the ir demo is attached in the video. I’ve also created a schematic, which was done as my first time ever using KiCad, so I first followed the web tutorial to get the basics, then went in. While I don’t need to get a pcb since I plan on just soldering everything directly, it does make visualizing the connections easier. That is especially imoprtant since I’m running very tight on applicable GPIO pins. I need 10 total IO pins for everything (screen I2C, shift register, rotary encoder, IR receiver and transmitter). The board I’m using (ESP32 C3 super-mini) has 16 pins, 13 for GPIO. But of that 13, 3 are strapping pins (required to be in particular states at boot), and 2 are for UART transmission. Leaving only 8 fully open pins. Theoretically I could just stack shift registers for everything input and only use like 5 pins, but that sounds overcomplicated, and I thought it would be a fun challenge to get everything to work. I went through the datasheets to figure out which state would be safest and would logically not be a worry, for instance pin 8 should be low at boot, but afterwards it acts an output to the internal LED, that meant I could safely connect that to the IR since it would never need to be pulled high unless it was being used, and having a visual indicator of when the IR was transmitting seemed like a fun inclusion. I’m sure the final schematic is not the most tidy thing, but I think it works for what it needs to be. I attached it to the end of the video
Devlog 4 I’ve been working on some light soldering, but the most interesting part was the work on the woodwork for the actual remote chassis since I don’t have a 3d printer. I used an old wooden frame i had around. Maybe its the calm before the storm, but I found this part really relaxing. I would drill and chip away bit by bit, and eventually things would go in and fit flushly, and was really rewarding. During the timelapse you can see each hit as the camera moves, and I think its really satisfying cleaning the workbench, making progress, and the cleanup. Feeling the buttons and rotary encoder firmly in place made me realize I quite like the tactile feel, and I might want to implement some games, maybe like a memory game so I can use all the buttons or a space invaders replica.
Devlog 5 I’ve done a bit of soldering at this point, but I will say it is definitely not pretty. It is a rats nest of floating wires that probably won’t short or disconnect if I’m lucky, and all the power lines are held together with massive blobs of solder (or wires connecting the blobs since the blobs don’t stay together if they get too large) In all my genius I also used solid core wire, which means they are more stiff, and more likely to break off from my weak solder points than flex, so I had to do a lot of reattachment. Magically, it appears a lot of things are working, just not the shift register and its hard to say why. Perhaps I burned it and ruined the internal ICs, I’m not sure. I think I’ll disconnect it and reattach a singular button just to make sure everything else works (and I at least have some feasible product at the end of this).
Devlog 6 I might just be the most oblivious person I know Since my shift register wasn’t registering, I went ahead to continuity check every connection from each input pin to the register, then form the register to the microcontroller, then to just about every other pin, and cross referencing with the schematic, fixing minor issues and repeat like 5 times, but to no avail. I seemed to believe I was Terry Davis or something because I was convinced it was a hardware issue and didn’t check any of the software, only the code that checks the inputs, which theoretically should have worked. I assumed at some point I catastrophically ruined the IC So I desoldered all register related components and just used a single button for debugging. Just for fun I tested the IC on another breadboard with an ESP32 that I know was working and it functioned properly. Odd. When I’m rewriting the code to work for a single button I was trying to alter the logic for the register setup, it was at this moment I realized the setup function wasn’t called - gasp one line – registerSetup(); would have made everything work. While I could put everything back together, I don’t want to deal with the glob just yet, I’ll wait to get a socket (in case the IC does actually break at some point) I’ll also begin writing the README for the project on github since the major parts of the project are done PS - I just realized I missed devlog 3 - welp there’s no going back now
Devlog 7 While I could at leas try to make something pretty, I’ll just say I’m a pragmatist and don’t need extra fluff. The casing is just a wooden frame that I drilled holes for the buttons and screen, and the final and basically only functional button is just taped on at the top, but with that being said, it does do what I want it to do, and I think that that is enough. I’ve decided this project has set its sail and is about to roam the open waters of the shipyard. I’ve taken some fine looking photos to attach to the top of the github repository, shined up the README to make proper installation instructions, and am just about ready to ship what I have.
Devlog 7.1 Was just about to ship when I realized there was a bug that I somehow never noticed before that would mean you couldn’t functionally use more than a single page of profiles (4), which would be quite detrimental to anyone wishing to turn on more than a set of lights
Actually started designing something to make it look nice in, and something to hold down the microcontroller and other components. That means you don’t need to touch the main board when plugging in power (novel). The wiring has been cleaned up a little (still looks terrible), so it should be far easier to repair / replace any parts that aren’t working. I have now actually been able to use the 8 buttons of the shift register due to this. I cut some grooves for necessary IO sensors and for the power, added a filet to the corners to make it more ergonomic and comfortable to hold. There is now also a back panel so you can rest your hands there instead of pulling out a wire. I also designed a 3d version of this just incase it was necessary.
Added a BOM and STEP file to the repository, so it should become a lot more clear on how to reproduce the project, and should help prepare for shipping.
Ships:
A project aimed at replicating IR signals for media communication while also being able to act as a Bluetooth keyboard (Can do media controls and keystrokes), with the ability to be (fairly) easily extensible for more profiles and devices....
|
1793138089.783648
|
1793224489.783648
|
|
69050
|
Old West Study Blog by @howdyysheriff | Stardance
|
howdyysheriff
|
0
|
0.32
|
0
|
[]
|
[{"post_id": 78447, "ts": "202 [{"post_id": 78447, "ts": "2026-10-10T20:20:02Z", "hours": 0.3214, "text": "first devlog! well, howdy Hack Club! this is my first devlog for my first H project for my first blog and first time coding with ZERO AI. yes, im challenging myself here XD. well, this was just a beggining, so it has the semantics, color pallete and a name. i still have a lot to figure tho lol. well, here is my first hello world in my new blog!"}]...
|
Title: Old West Study Blog by @howdyysheriff | Sta Title: Old West Study Blog by @howdyysheriff | Stardance
Devlogs:
first devlog! well, howdy Hack Club! this is my first devlog for my first H project for my first blog and first time coding with ZERO AI. yes, im challenging myself here XD. well, this was just a beggining, so it has the semantics, color pallete and a name. i still have a lot to figure tho lol. well, here is my first hello world in my new blog!...
|
1793130476.6725068
|
1793735276.6725068
|
|
27198
|
APT-Gcode by @karlo_ugrin | Stardance
|
karlo_ugrin
|
1
|
123.61
|
25
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-16T08:32:16Z", "hours": 4.0, "multiplier": 5.86, "payout": 25, "blessing": "neutral", "text": "CAM post processor, so far its only suitable for CatiaV5 intoISO 6983, it’s still in development, there are a few non finished commands, but since there is no actual documentation for CATIA APT1.0 it works really good. erm yeah. at some point im going to make work on the web the rest is pretty much written on Git.", "repo": "https://github.com/karlo-c277/ATP-Gcode", "demo": "http://karlougrin.com/apt_gcode-web/index-apt.html"}]...
|
[{"post_id": 78445, "ts": "202 [{"post_id": 78445, "ts": "2026-10-10T20:15:53Z", "hours": 9.4358, "text": "DEVLOG 24 NEW STUFF the parseline v3 is going relatively fast tomorrow it is probablly going to be finished currently the only left syntacs from v2 is to complete cycles, rawG, PSIS, INDIRV, MAXSPNDL, $$, CUTCOM, change tool rework on the SPINDLE syntacs is needed bc i compicated some stuff there and to make a value check by giving a +variable, then if it wasn’t a number it is going to be a NaN which is a false meaning i can make if (+variable) LEFTOVER STUFF (Not in the parseline v3) to do a guide on how to make your own output general overview on the program"}, {"post_id": 77376, "ts": "2026-10-06T18:19:18Z", "hours": 6.9919, "text": "DEVLOG 23 NEW STUFF so the parselinev2 build is working (not on the web but in the git) the parselinev3 build is on the way, why? Because I realized how much the v2 build is leaking the performance and optimisation, so it would be simpler to re-do and make it with more brain this time HOW WILL IT WORK simple, for each command in Catia, there will be a case (switch case stuff) then each switch case will call a function that will do all the work for that case that function will call other function do math etc. the user will simply select a document from which the function will get called therefore giving a different syntacs and thats pretty much it"}, {"post_id": 76514, "ts": "2026-10-03T19:46:21Z", "hours": 10.2128, "text": "DEVLOG 22 New stuff re edited the KK guide so it is written in .md and I SWEAR it looks so much better and it is easier to read rawG new command this one is to be written in the APT or added as an additional command and it bypasses both layers of translation rawKK new command this one is to be written in the APT and it bypasses the first layer of translation (line written in KK) Bug fixes I saw a few bugs in the rapto section of the goto and godlta pretty much all, still haven’t had time to test this changes but it seems to be working ok Leftover stuff make a guide on how to use Catia and CATIA.pptable make an explanation of this program how it works and other and i have written about 3 pages of stuff in catia that i have no idea what that meas and what does it do so research those improve with like code block suggestions for manual code writing BUGS for some reason now the costum panel wint show"}, {"post_id": 69275, "ts": "2026-09-16T18:30:53Z", "hours": 10.2019, "text": "DEVLOG 21 New stuff Catia PPTable so it turns out I can modify the APT output for some commands, which had not only helped in the post processor more accurate but now I understand more stuff so I made the PPtable and it seems to work more on that some other time Logic since I now know what is to be expected for some commands I was able to shave off roughly 200 lines of code which is great COMPENSATION defines what tool correction register is being redefined, what quadrant is the cutting end, xyz corrections, and nose radius END OF PROGRAM is now single meaning CIRCLE output looks like this kk(\"ARCH/CENTER, \"+centar_x+\", \"+centar_y+\", \"+centar_z); kk(\"ARCH/AXIS\"); kk(\"ARCH/TANGENT, \"+this.ls_i+\", \"+this.ls_j+\", \"+this.ls_k); kk(\"ARCH/INFO, \"+radius+\", \"+movement+\", \"+angle); kk(\"ARCH/END, \"+kraj_x+\", \"+kraj_y+\", \"+kraj_z); CYLINDR or sinusoidal movement like this kk(\"SINUS/CENTER, \"+centar_x+\", \"+centar_y+\", \"+centar_z); kk(\"SINUS/AXIS\"); kk(\"SINUS/INFO, \"+amplitude); kk(\"SINUS/TANGENT, \"+this.ls_i+\", \"+this.ls_j+\", \"+this.ls_k); kk(\"SINUS/END,\"+kraj_x+\", \"+kraj_y+\", \"+kraj_z); helix (in APT) HELICAL/CENTER, %MFG_HELICAL_X_CENTER, %MFG_HELICAL_Y_CENTER, %MFG_HELICAL_Z_CENTER HELICAL/TANGENT, %MFG_HELICAL_INDIRV_I, %MFG_HELICAL_INDIRV_J, %MFG_HELICAL_INDIRV_K HELICAL/AXIS, %MFG_HELICAL_I_AXIS, %MFG_HELICAL_J_AXIS, %MFG_HELICAL_K_AXIS HELICAL/INFO, %MFG_HELICAL_PITCH, %MFG_HELICAL_RADIUS, %MFG_HELICAL_HEIGHT, %MFG_HELICAL_ROUND HELICAL/END, %MFG_HELICAL_X_END, %MFG_HELICAL_Y_END, %MFG_HELICAL_Z_END SPINDL is now simply defined FEDRAT is now simply defined COOLANT on the other hand, apparently the coolant is set while defining the tool, which i have accounted on and then just coolant on off, but it seems a bit like it doesn’t make sense that way what if different coolant is wanted??, also the actual syntacs is quite unknown for the coolant sooo yeah DELAY is now simply defined CYCLE now got major upgrades by manipulating the APT lost like a 75 lines of code there spindle rotation limit is now settable CUTCOM pensation is now uncovered but I genuenly have no idea what the stuff means NORMDS or NORMPS, maybe normal to drive / prat surface God knows the answer that I am sure BUGS Yes - I haven’t had a chance to test it yet so I dunno I got the background loading path wrong so that is corrected STUFF LEFT TO DO Make a function for the line split into 3, 4, 5, 6 Rework G-coder to output accordingly to the reworked parser Play with the PPTable The rest of the TO-DO list SUM-UP Found out that I can modify the APT output via PPTable, made a PPTable, now I know much more about The APT, made the parser more precise and thus more correct"}, {"post_id": 62918, "ts": "2026-09-06T13:40:40Z", "hours": 3.5292, "text": "V1.0 is now DEVLOG 20 New stuff Logic now both APT reader and G-code output are in switch case this makes processing much faster, and takes less memory line splitting is now done before actually going into the switch case for both reader and writer, mainly because then element zero in this case is basically line.startsWith, and then later in code I shaved of like 14 line splits invalid cycles are now rejected and aren’t even translated into KK Bug fixes since I switched from line.startsWith I need only the word in the variable, and there is like a $$*CATIA0 in every file and I hadn’t put line split with * so it registered as and error I have had left the incomplete cycles to be completely written causing an undefined variable to be written in KK and forwarded into G-code What if’s? What if I was supposed to like make CYLINDR output 300 points in G-code I honestly don’t wanna do that?"}, {"post_id": 60226, "ts": "2026-09-02T13:46:14Z", "hours": 2.4911, "text": "DEVLOG 19 New stuff Logic helical interpolation in g-coder g-coder now remembers the last coordinate, because CATIA gives, the center, radius, direction, 2D vector for direction of movement, end point and pitch, but WinNC that reads the g-code takes end point center and number of full turns and cw or ccw, so number of turns is calculated speciffically inside the class Bug fixes yes What if’s??? No"}, {"post_id": 58937, "ts": "2026-08-31T14:35:08Z", "hours": 4.0992, "text": "DEVLOG 18 New stuff Input now the default value for APT input is CatiaV5 but only for development and it is not written that it is it just is default value for for G-code output is WinNC Sinumerik Logic added logic for CYLINDR which is essentially just a sinusoidal path, not just one period pr it but can be multiple or just a part of one logic for PSIS which is supposed to be like a sign that the CYLINDR is to be defined and that it starts at this coordinates and then some random vector that defines that the movement will be projected in a PLANE that does not contain that vector logic for ROTABL is incomplete but here I would need to look into it but it seems like it is used in MULTI axial machines, but only when it does 3 axis work idk it is a bit emptly defined TLON,GOFWD is now the new definition for circular movement, so it takes the line in the correct logic for both CIRCLE and CYLINDR I undiscovered what CUTTER with 7 tool data defines but for now it just outputs it as 7 comments Bug fixes for SWITCH or setting tool compensation had .trim instead of .trim() same thing happened on the g coder side for some reason maybe a bad commit, the text enter pop-up window didn’t pop-up, resolved What if’s??? What if the sinusoidal movement isn’t horizontal yet at an angle what would happen then? The angle isn’t specified, but I do have the circle center and the first point that is on that circle Note that the path is on the surface of the cylinder this is a sinusoide What if the sinusoide isn’t set in 2D? since 3D circular intepolation is off it should be just a set of close points What if there was no AI that could by pass the main page and end up to a sub-page that isn’t locked to me, unlike the main page? -Would I be ******?"}, {"post_id": 56696, "ts": "2026-08-28T15:40:08Z", "hours": 8.2294, "text": "NEW VERSION INCOMING once I get to it v0.9 is going to be official and running on my website DEVLOG 17 New stuff Visual re-organised quick settings fine tuned the spacing’s inside and between blocks Input now you can manually write code to test how output would look like mostly for me for developing so I can have some APT code loaded in keyboard cache for Ctrl + v comes with a pop-up text box for a nicer visual Solved bugs Rapid logic is renewed by hand I literally have a page in a notebook filled with possible logic combinations and solutions for it (in APT, RAPID is only for the next line, in G code however it is on until set to work in cutting motion ) some other issues where it would save CYCLE the wrong way, it would have saved 2 number with out spacing I have forgotten that x y z in cycle aren’t always saved as just numbers but rather 2 of em had X Y or Z before written so it would have double letters"}, {"post_id": 55447, "ts": "2026-08-27T09:09:44Z", "hours": 10.4814, "text": "DEVLOG 16 New stuff For Catia TLAXIS now defines which way does the tool need to go to complete the cutting motion MULTAX defines this is a multi axial process SWITCH defines a change in tool compensation *see under DOCUMENTATIONS - Images - Image.png Complete cycle support some cycles are excluded from support due to a possible bug causing to have incomplete information about the cycle GOTO/GODLTA between CYCLE start and the CYCLE/OFF log the coords in a variable CYCLE/ON activates the function to start collecting coords CYCLE/OFF puts out all of collected data for that cycle WinNC Sinum counting that you can set it in ISO-Mode Complete canned cycles for the cycles that are matching with Catias idea how the cycle should look like MULTAX support TLAXIS support Added a fall-back for CYCLES that are not matching, except this one can use any format of the given CYCLE Errors I did AI’s job, which is making sloppy code, and instead of sectioning Catias TLAXIS I replaced the commas, and replaced / with : causing mayhem, i got empty strings a string that contains double data I tought I could use Autodesk,s logic for parsing, They might be onto something but I have no idea what is going on there soo I made ChatGPT quit (I just wanted him to help me with finding out why was I getting bugged lines fed to my g-coder (it was magically fixed I still have no idea what had been happening))"}, {"post_id": 54420, "ts": "2026-08-25T12:57:05Z", "hours": 8.5297, "text": "DEVLOG 15 New stuff Nothing much just did some documentation on Catias apt output Added a few guides on how to set up the APT correctly very likely prone to changes SWITCH As it turns out SWITCH means a change on tools compensation look at image.png in DOCUMENTATIONS Completed output for the g-code on that switch but I think that it might cause problems bc in WinNC sinumerik it look like it doesn’t do that sooo yeah Fun fact, *picture, this is what you get when you set a random curve as a tool path Found out that https://archive.org/details/numericalcontrpol0000stan is tottaly right about every single bit of stuff that I tought wasn’t in Catia so yeah"}, {"post_id": 53297, "ts": "2026-08-23T19:14:03Z", "hours": 5.1833, "text": "I added a background So i have been tinkering with ChatGPT on what to do to up the looks on my project, and I had some ideas for the background but my CSS and JS skill are beyond wanted so he helped to find https://neat.firecms.co/ And it is a MUST have for any project, it just looks SOOO good. But with every edit there are bugs, so erm yeah. CYCLE SYNTACS It is going to be a long one since CATIA V5R21 likes to vary and I feel like an archeologist uncovering this secrets"}, {"post_id": 52268, "ts": "2026-08-22T11:31:00Z", "hours": 3.0536, "text": "Finished editing and preparations for a Ship and launched it on http://karlougrin.com/apt_gcode-web/index-apt.html"}, {"post_id": 39944, "ts": "2026-08-03T08:43:39Z", "hours": 1.72, "text": "Completed some needed bugs and excess output I should prolly add some fire background (any suggestions??)"}, {"post_id": 39569, "ts": "2026-08-02T17:01:22Z", "hours": 4.1064, "text": "Another 4 hours down the drain Pretty much just destroying my brains out why it didn’t want to make an output file, then why it didn’t write anything down<"}, {"post_id": 35418, "ts": "2026-07-26T20:11:41Z", "hours": 5.1631, "text": "DEBUGGING FOR 5 HOURS <(Writing code for +/-9min)>"}, {"post_id": 34642, "ts": "2026-07-25T15:16:16Z", "hours": 7.6756, "text": "I REVERSE ENGINEERED CAM APT CODE So basically what I needed to do was to like just make up my own kind of universal data tranfer standard via JSON so I can translate from different APT into different G-code, and so I made up KK (Karlov Kod). To make it a first ship just need to write another 400 lines but Hey!, this part at least has some documentation. (Unlike CATIA APT1.0)"}, {"post_id": 33534, "ts": "2026-07-23T15:55:30Z", "hours": 2.9978, "text": "Edited the CSS it looks so fire, just need to finish my website firstly. Then there goes the first ship!!"}, {"post_id": 32277, "ts": "2026-07-21T10:46:20Z", "hours": 8.9172, "text": "OH! MY! WORD! (it finnaly works after trouble shooting for 4 hours)"}, {"post_id": 31236, "ts": "2026-07-19T14:15:13Z", "hours": 6.5864, "text": "Made it to display ts, just left to translate like 600 pyhton lines into JavaScript. YAAY cant wait for allat.(lowkey hidden menus wont show up but its ok)"}, {"post_id": 28825, "ts": "2026-07-15T10:14:33Z", "hours": 1.1894, "text": "I did it, rapto comand now works!!>’*’<"}, {"post_id": 28521, "ts": "2026-07-14T20:41:00Z", "hours": 0.8669, "text": "adding code so i might get rapto to work"}, {"post_id": 28410, "ts": "2026-07-14T17:26:50Z", "hours": 1.1178, "text": "The last one before first shipping."}, {"post_id": 28349, "ts": "2026-07-14T15:39:43Z", "hours": 0.7244, "text": "I may or may not have renamed the git repo so i kinda lost some minor time but- a lot left to do"}, {"post_id": 28295, "ts": "2026-07-14T13:41:40Z", "hours": 0.3261, "text": "Yess, finnaly got the wakatime running, exept i have spent like 40hours of my life on this beafore i installed waka. And it says that i used more ai than actual code, not true (bc of those 40h)."}]...
|
Title: APT-Gcode by @karlo_ugrin | Stardance
Devl Title: APT-Gcode by @karlo_ugrin | Stardance
Devlogs:
Yess, finnaly got the wakatime running, exept i have spent like 40hours of my life on this beafore i installed waka. And it says that i used more ai than actual code, not true (bc of those 40h).
I may or may not have renamed the git repo so i kinda lost some minor time but- a lot left to do
The last one before first shipping.
adding code so i might get rapto to work
I did it, rapto comand now works!!>’*’<
Made it to display ts, just left to translate like 600 pyhton lines into JavaScript. YAAY cant wait for allat.(lowkey hidden menus wont show up but its ok)
OH! MY! WORD! (it finnaly works after trouble shooting for 4 hours)
Edited the CSS it looks so fire, just need to finish my website firstly. Then there goes the first ship!!
I REVERSE ENGINEERED CAM APT CODE So basically what I needed to do was to like just make up my own kind of universal data tranfer standard via JSON so I can translate from different APT into different G-code, and so I made up KK (Karlov Kod). To make it a first ship just need to write another 400 lines but Hey!, this part at least has some documentation. (Unlike CATIA APT1.0)
DEBUGGING FOR 5 HOURS <(Writing code for +/-9min)>
Another 4 hours down the drain Pretty much just destroying my brains out why it didn’t want to make an output file, then why it didn’t write anything down<
Completed some needed bugs and excess output I should prolly add some fire background (any suggestions??)
Finished editing and preparations for a Ship and launched it on http://karlougrin.com/apt_gcode-web/index-apt.html
I added a background So i have been tinkering with ChatGPT on what to do to up the looks on my project, and I had some ideas for the background but my CSS and JS skill are beyond wanted so he helped to find https://neat.firecms.co/ And it is a MUST have for any project, it just looks SOOO good. But with every edit there are bugs, so erm yeah. CYCLE SYNTACS It is going to be a long one since CATIA V5R21 likes to vary and I feel like an archeologist uncovering this secrets
DEVLOG 15 New stuff Nothing much just did some documentation on Catias apt output Added a few guides on how to set up the APT correctly very likely prone to changes SWITCH As it turns out SWITCH means a change on tools compensation look at image.png in DOCUMENTATIONS Completed output for the g-code on that switch but I think that it might cause problems bc in WinNC sinumerik it look like it doesn’t do that sooo yeah Fun fact, *picture, this is what you get when you set a random curve as a tool path Found out that https://archive.org/details/numericalcontrpol0000stan is tottaly right about every single bit of stuff that I tought wasn’t in Catia so yeah
DEVLOG 16 New stuff For Catia TLAXIS now defines which way does the tool need to go to complete the cutting motion MULTAX defines this is a multi axial process SWITCH defines a change in tool compensation *see under DOCUMENTATIONS - Images - Image.png Complete cycle support some cycles are excluded from support due to a possible bug causing to have incomplete information about the cycle GOTO/GODLTA between CYCLE start and the CYCLE/OFF log the coords in a variable CYCLE/ON activates the function to start collecting coords CYCLE/OFF puts out all of collected data for that cycle WinNC Sinum counting that you can set it in ISO-Mode Complete canned cycles for the cycles that are matching with Catias idea how the cycle should look like MULTAX support TLAXIS support Added a fall-back for CYCLES that are not matching, except this one can use any format of the given CYCLE Errors I did AI’s job, which is making sloppy code, and instead of sectioning Catias TLAXIS I replaced the commas, and replaced / with : causing mayhem, i got empty strings a string that contains double data I tought I could use Autodesk,s logic for parsing, They might be onto something but I have no idea what is going on there soo I made ChatGPT quit (I just wanted him to help me with finding out why was I getting bugged lines fed to my g-coder (it was magically fixed I still have no idea what had been happening))
NEW VERSION INCOMING once I get to it v0.9 is going to be official and running on my website DEVLOG 17 New stuff Visual re-organised quick settings fine tuned the spacing’s inside and between blocks Input now you can manually write code to test how output would look like mostly for me for developing so I can have some APT code loaded in keyboard cache for Ctrl + v comes with a pop-up text box for a nicer visual Solved bugs Rapid logic is renewed by hand I literally have a page in a notebook filled with possible logic combinations and solutions for it (in APT, RAPID is only for the next line, in G code however it is on until set to work in cutting motion ) some other issues where it would save CYCLE the wrong way, it would have saved 2 number with out spacing I have forgotten that x y z in cycle aren’t always saved as just numbers but rather 2 of em had X Y or Z before written so it would have double letters
DEVLOG 18 New stuff Input now the default value for APT input is CatiaV5 but only for development and it is not written that it is it just is default value for for G-code output is WinNC Sinumerik Logic added logic for CYLINDR which is essentially just a sinusoidal path, not just one period pr it but can be multiple or just a part of one logic for PSIS which is supposed to be like a sign that the CYLINDR is to be defined and that it starts at this coordinates and then some random vector that defines that the movement will be projected in a PLANE that does not contain that vector logic for ROTABL is incomplete but here I would need to look into it but it seems like it is used in MULTI axial machines, but only when it does 3 axis work idk it is a bit emptly defined TLON,GOFWD is now the new definition for circular movement, so it takes the line in the correct logic for both CIRCLE and CYLINDR I undiscovered what CUTTER with 7 tool data defines but for now it just outputs it as 7 comments Bug fixes for SWITCH or setting tool compensation had .trim instead of .trim() same thing happened on the g coder side for some reason maybe a bad commit, the text enter pop-up window didn’t pop-up, resolved What if’s??? What if the sinusoidal movement isn’t horizontal yet at an angle what would happen then? The angle isn’t specified, but I do have the circle center and the first point that is on that circle Note that the path is on the surface of the cylinder this is a sinusoide What if the sinusoide isn’t set in 2D? since 3D circular intepolation is off it should be just a set of close points What if there was no AI that could by pass the main page and end up to a sub-page that isn’t locked to me, unlike the main page? -Would I be ******?
DEVLOG 19 New stuff Logic helical interpolation in g-coder g-coder now remembers the last coordinate, because CATIA gives, the center, radius, direction, 2D vector for direction of movement, end point and pitch, but WinNC that reads the g-code takes end point center and number of full turns and cw or ccw, so number of turns is calculated speciffically inside the class Bug fixes yes What if’s??? No
V1.0 is now DEVLOG 20 New stuff Logic now both APT reader and G-code output are in switch case this makes processing much faster, and takes less memory line splitting is now done before actually going into the switch case for both reader and writer, mainly because then element zero in this case is basically line.startsWith, and then later in code I shaved of like 14 line splits invalid cycles are now rejected and aren’t even translated into KK Bug fixes since I switched from line.startsWith I need only the word in the variable, and there is like a $$*CATIA0 in every file and I hadn’t put line split with * so it registered as and error I have had left the incomplete cycles to be completely written causing an undefined variable to be written in KK and forwarded into G-code What if’s? What if I was supposed to like make CYLINDR output 300 points in G-code I honestly don’t wanna do that?
DEVLOG 21 New stuff Catia PPTable so it turns out I can modify the APT output for some commands, which had not only helped in the post processor more accurate but now I understand more stuff so I made the PPtable and it seems to work more on that some other time Logic since I now know what is to be expected for some commands I was able to shave off roughly 200 lines of code which is great COMPENSATION defines what tool correction register is being redefined, what quadrant is the cutting end, xyz corrections, and nose radius END OF PROGRAM is now single meaning CIRCLE output looks like this kk("ARCH/CENTER, "+centar_x+", "+centar_y+", "+centar_z); kk("ARCH/AXIS"); kk("ARCH/TANGENT, "+this.ls_i+", "+this.ls_j+", "+this.ls_k); kk("ARCH/INFO, "+radius+", "+movement+", "+angle); kk("ARCH/END, "+kraj_x+", "+kraj_y+", "+kraj_z); CYLINDR or sinusoidal movement like this kk("SINUS/CENTER, "+centar_x+", "+centar_y+", "+centar_z); kk("SINUS/AXIS"); kk("SINUS/INFO, "+amplitude); kk("SINUS/TANGENT, "+this.ls_i+", "+this.ls_j+", "+this.ls_k); kk("SINUS/END,"+kraj_x+", "+kraj_y+", "+kraj_z); helix (in APT) HELICAL/CENTER, %MFG_HELICAL_X_CENTER, %MFG_HELICAL_Y_CENTER, %MFG_HELICAL_Z_CENTER HELICAL/TANGENT, %MFG_HELICAL_INDIRV_I, %MFG_HELICAL_INDIRV_J, %MFG_HELICAL_INDIRV_K HELICAL/AXIS, %MFG_HELICAL_I_AXIS, %MFG_HELICAL_J_AXIS, %MFG_HELICAL_K_AXIS HELICAL/INFO, %MFG_HELICAL_PITCH, %MFG_HELICAL_RADIUS, %MFG_HELICAL_HEIGHT, %MFG_HELICAL_ROUND HELICAL/END, %MFG_HELICAL_X_END, %MFG_HELICAL_Y_END, %MFG_HELICAL_Z_END SPINDL is now simply defined FEDRAT is now simply defined COOLANT on the other hand, apparently the coolant is set while defining the tool, which i have accounted on and then just coolant on off, but it seems a bit like it doesn’t make sense that way what if different coolant is wanted??, also the actual syntacs is quite unknown for the coolant sooo yeah DELAY is now simply defined CYCLE now got major upgrades by manipulating the APT lost like a 75 lines of code there spindle rotation limit is now settable CUTCOM pensation is now uncovered but I genuenly have no idea what the stuff means NORMDS or NORMPS, maybe normal to drive / prat surface God knows the answer that I am sure BUGS Yes - I haven’t had a chance to test it yet so I dunno I got the background loading path wrong so that is corrected STUFF LEFT TO DO Make a function for the line split into 3, 4, 5, 6 Rework G-coder to output accordingly to the reworked parser Play with the PPTable The rest of the TO-DO list SUM-UP Found out that I can modify the APT output via PPTable, made a PPTable, now I know much more about The APT, made the parser more precise and thus more correct
DEVLOG 22 New stuff re edited the KK guide so it is written in .md and I SWEAR it looks so much better and it is easier to read rawG new command this one is to be written in the APT or added as an additional command and it bypasses both layers of translation rawKK new command this one is to be written in the APT and it bypasses the first layer of translation (line written in KK) Bug fixes I saw a few bugs in the rapto section of the goto and godlta pretty much all, still haven’t had time to test this changes but it seems to be working ok Leftover stuff make a guide on how to use Catia and CATIA.pptable make an explanation of this program how it works and other and i have written about 3 pages of stuff in catia that i have no idea what that meas and what does it do so research those improve with like code block suggestions for manual code writing BUGS for some reason now the costum panel wint show
DEVLOG 23 NEW STUFF so the parselinev2 build is working (not on the web but in the git) the parselinev3 build is on the way, why? Because I realized how much the v2 build is leaking the performance and optimisation, so it would be simpler to re-do and make it with more brain this time HOW WILL IT WORK simple, for each command in Catia, there will be a case (switch case stuff) then each switch case will call a function that will do all the work for that case that function will call other function do math etc. the user will simply select a document from which the function will get called therefore giving a different syntacs and thats pretty much it
DEVLOG 24 NEW STUFF the parseline v3 is going relatively fast tomorrow it is probablly going to be finished currently the only left syntacs from v2 is to complete cycles, rawG, PSIS, INDIRV, MAXSPNDL, $$, CUTCOM, change tool rework on the SPINDLE syntacs is needed bc i compicated some stuff there and to make a value check by giving a +variable, then if it wasn’t a number it is going to be a NaN which is a false meaning i can make if (+variable) LEFTOVER STUFF (Not in the parseline v3) to do a guide on how to make your own output general overview on the program
Ships:
CAM post processor, so far its only suitable for CatiaV5 intoISO 6983, it’s still in development, there are a few non finished commands, but since there is no actual documentation for CATIA APT1.0 it works really good. erm yeah. at some point im going to make work on the web the rest is pretty much written on Git....
|
1793119819.3629115
|
1793206219.3629115
|
|
68324
|
Anamnesis by @Eclipse | Stardance
|
Eclipse
|
0
|
5.36
|
0
|
[]
|
[{"post_id": 78441, "ts": "202 [{"post_id": 78441, "ts": "2026-10-10T20:13:21Z", "hours": 2.0125, "text": "Anamnesis: Phase-1 (The Beginning) As the title suggests, I’m done with phase 0, aka some prep and basic backbone of the project. . Tho I tried adding a graph using matplotlib, but it looked quite bland n didn’t serve any useful purpose… so I’ve kept the UI for the end ( at least for now ), and removed the existing graph… . So, from now on, I shall be working on phase-1, which includes: Protein sequence collection Phylogenetic reconstruction Ancestral sequence reconstruction Evolutionary uncertainty Ancient protein candidates And that, ladies and gentlemen, is the real beginning of Anamnesis… . P.S. Till now development was slower as I needed to focus on my studies and stuff, but from now on, things should be swifter…. :)"}, {"post_id": 77799, "ts": "2026-10-08T10:54:36Z", "hours": 3.3478, "text": "Anamnesis: The Beginning This project shall serve as my endgame. . This idea of Anamnesis is simple: Reconstruct ancestral proteins from hundreds of millions of years ago, reconstruct their structures, simulate their molecular dynamics, and trace how mutations transformed their stability, flexibility, and function. Then extend the evolutionary framework to cancer: model how mutations reshape cellular dynamics and search for previously overlooked dynamical states that may make cancer cells unusually vulnerable. . And as you can tell by the time I’ve logged this, I’ve already started working on the basics, that is, I’m still a newbie at biology, and need to learn quite a few things while building it. . Either way, the program can now read the protein, its data and its individual amino acids while knowing which letter corresponds to which amino acid… . A weird incident, that is, I literally wrote my own parser start to end, to read the data related to protein,, only to then realize I could’ve used Biopython instead…. (genius Ik 🥀) . But yeah,, I’ll try to develop the project as fast as I can while learning the biology underneath it (a rare moment in life where you genuinely feel thankful for naturally being a really quick learner). . Soo… that’s it for today? Have a great evening..! 🕯️"}]...
|
Title: Anamnesis by @Eclipse | Stardance
Devlogs: Title: Anamnesis by @Eclipse | Stardance
Devlogs:
Anamnesis: The Beginning This project shall serve as my endgame. . This idea of Anamnesis is simple: Reconstruct ancestral proteins from hundreds of millions of years ago, reconstruct their structures, simulate their molecular dynamics, and trace how mutations transformed their stability, flexibility, and function. Then extend the evolutionary framework to cancer: model how mutations reshape cellular dynamics and search for previously overlooked dynamical states that may make cancer cells unusually vulnerable. . And as you can tell by the time I’ve logged this, I’ve already started working on the basics, that is, I’m still a newbie at biology, and need to learn quite a few things while building it. . Either way, the program can now read the protein, its data and its individual amino acids while knowing which letter corresponds to which amino acid… . A weird incident, that is, I literally wrote my own parser start to end, to read the data related to protein,, only to then realize I could’ve used Biopython instead…. (genius Ik 🥀) . But yeah,, I’ll try to develop the project as fast as I can while learning the biology underneath it (a rare moment in life where you genuinely feel thankful for naturally being a really quick learner). . Soo… that’s it for today? Have a great evening..! 🕯️
Anamnesis: Phase-1 (The Beginning) As the title suggests, I’m done with phase 0, aka some prep and basic backbone of the project. . Tho I tried adding a graph using matplotlib, but it looked quite bland n didn’t serve any useful purpose… so I’ve kept the UI for the end ( at least for now ), and removed the existing graph… . So, from now on, I shall be working on phase-1, which includes: Protein sequence collection Phylogenetic reconstruction Ancestral sequence reconstruction Evolutionary uncertainty Ancient protein candidates And that, ladies and gentlemen, is the real beginning of Anamnesis… . P.S. Till now development was slower as I needed to focus on my studies and stuff, but from now on, things should be swifter…. :)...
|
1792471801.0470006
|
1793335801.0470006
|
|
14480
|
emp by @ataullah154 | Stardance
|
ataullah154
|
0
|
5.84
|
0
|
[]
|
[{"post_id": 78437, "ts": "202 [{"post_id": 78437, "ts": "2026-10-10T20:02:46Z", "hours": 5.8358, "text": "i am working on a automatically closing door device"}]...
|
Title: emp by @ataullah154 | Stardance
Devlogs:
i Title: emp by @ataullah154 | Stardance
Devlogs:
i am working on a automatically closing door device...
|
1793253214.2864294
|
1793858014.2864294
|
|
55635
|
Silly macropad :3 by @Lawnard | Stardance
|
Lawnard
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-10T20:09:07Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This is just what i did for the macropad mission", "repo": "https://github.com/LawrnardKerman/mymacropad", "demo": ""}]...
|
[{"post_id": 78434, "ts": "202 [{"post_id": 78434, "ts": "2026-10-10T19:56:54Z", "hours": 1.9714, "text": "ITS ALIVE!!"}, {"post_id": 61181, "ts": "2026-09-03T23:57:25Z", "hours": 0.4561, "text": "gng, how long does it usually take for the people at hackclub hq to review a design, i really want to ship something during stardance(btw, my slack isnt working, thats why im posting here)(the image is of the final version of the pcb)"}, {"post_id": 58917, "ts": "2026-08-31T14:17:07Z", "hours": 1.0356, "text": "alr gng, i finished the firmware! yeppi yay :3"}, {"post_id": 58125, "ts": "2026-08-30T14:10:44Z", "hours": 1.2333, "text": "i set up the github page and made the BOM and CPL file because i am not going to hand solder those tiny smd componets"}, {"post_id": 58042, "ts": "2026-08-30T12:03:24Z", "hours": 1.805, "text": "i got done with the cad the final design has 5 cherry mx switched, 1 rotary encoder, and 1 led now i just have to make the firmware i redid the traces again because one of my friends called it “horrible” and they said it was so bad that they would “do it for me”"}, {"post_id": 57700, "ts": "2026-08-29T22:50:55Z", "hours": 2.2589, "text": "im having so much fun bro im gonna abandon all my other projects for like a week so i can actually ship something during stardance, im almost done with cad(pcb design is so fun) i also redid all the traces because it looked like spagetti. I’m DREADING the firmware though ps: rn i have no motivation for my other projects, im still riding the high from starting a new project"}, {"post_id": 57319, "ts": "2026-08-29T13:07:02Z", "hours": 2.1817, "text": "i finished the case & the pcb i have 6 switches and 3 leds i feel so much more motivation for this project tbh"}]...
|
Title: Silly macropad :3 by @Lawnard | Stardance
Title: Silly macropad :3 by @Lawnard | Stardance
Devlogs:
i finished the case & the pcb i have 6 switches and 3 leds i feel so much more motivation for this project tbh
im having so much fun bro im gonna abandon all my other projects for like a week so i can actually ship something during stardance, im almost done with cad(pcb design is so fun) i also redid all the traces because it looked like spagetti. I’m DREADING the firmware though ps: rn i have no motivation for my other projects, im still riding the high from starting a new project
i got done with the cad the final design has 5 cherry mx switched, 1 rotary encoder, and 1 led now i just have to make the firmware i redid the traces again because one of my friends called it “horrible” and they said it was so bad that they would “do it for me”
i set up the github page and made the BOM and CPL file because i am not going to hand solder those tiny smd componets
alr gng, i finished the firmware! yeppi yay :3
gng, how long does it usually take for the people at hackclub hq to review a design, i really want to ship something during stardance(btw, my slack isnt working, thats why im posting here)(the image is of the final version of the pcb)
ITS ALIVE!!
Ships:
This is just what i did for the macropad mission...
|
1793148840.8900254
|
1793235240.8900254
|
|
68269
|
PyMaster by @Siyam | Stardance
|
Siyam
|
2
|
3.0
|
7
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-13T20:04:28Z", "hours": 2.0, "multiplier": 2.32, "payout": 6, "blessing": "neutral", "text": "PyMaster is a sleek, web-based quiz game designed to make practicing Python fun, fast, and interactive. Built using pure HTML5, Tailwind CSS, and vanilla JavaScript, it features dark-mode aesthetics, custom particle animations, and syntax-highlighted code snippets to help you master Python concepts through real-time challenges.", "repo": "https://github.com/Tanzil-Alam/PyMaster", "demo": "https://tanzil-alam.github.io/PyMaster/"}, {"ship_num": 2, "ts": "2026-10-06T17:13:03Z", "hours": 1.0, "multiplier": 1.07, "payout": 1, "blessing": "neutral", "text": "PyMaster is a sleek, web-based quiz game designed to make practicing Python fun, fast, and interactive. Built using pure HTML5, Tailwind CSS, and vanilla JavaScript, it features dark-mode aesthetics, custom particle animations, and syntax-highlighted code snippets to help you master Python concepts through real-time challenges.", "repo": "https://github.com/Tanzil-Alam/PyMaster", "demo": "https://tanzil-alam.github.io/PyMaster/"}]...
|
[{"post_id": 78433, "ts": "202 [{"post_id": 78433, "ts": "2026-10-10T19:54:15Z", "hours": 0.2758, "text": "Swapped out the background visual and updated the button labels to give the navigation a more conversational feel. Key updates include renaming “START” to “Try to do it”, “Quiet” to “Leave”, and “Next question” to “Let’s Go”."}, {"post_id": 78107, "ts": "2026-10-09T15:59:48Z", "hours": 0.3111, "text": "Re-writed the CSS and added Comments in every css line to prove that, i writed it…."}, {"post_id": 77663, "ts": "2026-10-07T19:23:09Z", "hours": 1.3247, "text": "Re-Writed the code, because old code was not accepted. here is what i changed, *The Background Image *Removed Particle animation *Made the Py Card transparent *Keept Simple Javascript"}, {"post_id": 77541, "ts": "2026-10-07T12:07:43Z", "hours": 0.5339, "text": "I changed the README and The button color to blue. Now i Will Ship the Project."}, {"post_id": 77349, "ts": "2026-10-06T17:09:57Z", "hours": 1.4381, "text": "PyMaster is a sleek, web-based quiz game designed to make practicing Python fun, fast, and interactive. Built using pure HTML5, Tailwind CSS, and vanilla JavaScript, it features dark-mode aesthetics, custom particle animations, and syntax-highlighted code snippets to help you master Python concepts through real-time challenges. You all can play it here = Click Me"}]...
|
Title: PyMaster by @Siyam | Stardance
Devlogs:
Py Title: PyMaster by @Siyam | Stardance
Devlogs:
PyMaster is a sleek, web-based quiz game designed to make practicing Python fun, fast, and interactive. Built using pure HTML5, Tailwind CSS, and vanilla JavaScript, it features dark-mode aesthetics, custom particle animations, and syntax-highlighted code snippets to help you master Python concepts through real-time challenges. You all can play it here = Click Me
I changed the README and The button color to blue. Now i Will Ship the Project.
Re-Writed the code, because old code was not accepted. here is what i changed, *The Background Image *Removed Particle animation *Made the Py Card transparent *Keept Simple Javascript
Re-writed the CSS and added Comments in every css line to prove that, i writed it….
Swapped out the background visual and updated the button labels to give the navigation a more conversational feel. Key updates include renaming “START” to “Try to do it”, “Quiet” to “Leave”, and “Next question” to “Let’s Go”.
Ships:
PyMaster is a sleek, web-based quiz game designed to make practicing Python fun, fast, and interactive. Built using pure HTML5, Tailwind CSS, and vanilla JavaScript, it features dark-mode aesthetics, custom particle animations, and syntax-highlighted code snippets to help you master Python concepts through real-time challenges.
PyMaster is a sleek, web-based quiz game designed to make practicing Python fun, fast, and interactive. Built using pure HTML5, Tailwind CSS, and vanilla JavaScript, it features dark-mode aesthetics, custom particle animations, and syntax-highlighted code snippets to help you master Python concepts through real-time challenges....
|
1793220898.9323223
|
1793307298.9323223
|
|
54651
|
Warren’s Sci-Fi & Pop Culture Archive by @PXLS Warren’s Sci-Fi & Pop Culture Archive by @PXLS | Stardance...
|
PXLS
|
2
|
33.0
|
341
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-14T14:16:54Z", "hours": 3.0, "multiplier": 5.17, "payout": 15, "blessing": "neutral", "text": "I made some updates to Warren’s Sci-Fi and Pop-Culture Archive, such as changing the background and adding a new font. My goal was to enhance the Frutiger Aero aesthetic, which fits much better with the new design. Overall, the project combines music, movies, sci-fi, and plenty of Easter eggs. Hope you guys enjoy it!", "repo": "https://github.com/PXLS-png/stardance-archive", "demo": "https://pxls-png.github.io/stardance-archive/"}, {"ship_num": 2, "ts": "2026-10-09T13:10:53Z", "hours": 30.0, "multiplier": 10.91, "payout": 326, "blessing": "neutral", "text": "“For every action, there’s a reaction.” That’s a line from Life is Strange, and honestly it’s the best way to describe how this project started: one obsession led to another, and somehow I ended up building a whole website about it. Over the last few months, I’ve been working on a project that truly fascinates me: Warren’s Sci-Fi & Pop Culture Archive. My main source of inspiration was my love for the video game Life is Strange, which contains a character, Warren, who is totally obsessed with sci-fi and science. That made me wonder: how could I create a website that combines movies with in-game references, a cool aesthetic, and easter eggs? In the end, this aspiration turned into the archive I’m proud to present. This is my first project for Hack Club, and even though I ran into a few bugs, especially with the timezone logic, I’m glad I made it this far. Feel free to test my project on desktop or mobile, just open the webpage!", "repo": "https://github.com/PXLS-png/stardance-archive", "demo": "https://pxls-png.github.io/stardance-archive/"}]...
|
[{"post_id": 78427, "ts": "202 [{"post_id": 78427, "ts": "2026-10-10T19:38:24Z", "hours": 2.9583, "text": "Hey, today I rewrote README with project background and credits, rewrote description and declaration, deleted and rewrote code sections, added a background image with license attribution (Public Domain Mark 1.0) and a new font that fits the Frutiger Aero aesthetic better. I also added a Curator’s Note in the code documenting the manual curation process for the 400+ movie list, cleaned up text, code and added a full legal disclaimer, and updated the screenshot link in README"}, {"post_id": 78064, "ts": "2026-10-09T12:51:02Z", "hours": 7.6728, "text": "Over the last few days, I’ve been working on the final version of the archive. I looked for duplicates in the movie list, did some debugging, made my repo public, tested the live URL, deleted some movies, cleaned up the code, made the top 5 cards keyboard-accessible, and tested the website on different browsers and devices. I also finished the README, checked for typos, checked the movie selection logic, activated GitHub Pages, refined some features, added easter eggs, added comments, and made sure the favicon works. I think I’m ready to ship!"}, {"post_id": 71914, "ts": "2026-09-21T19:19:09Z", "hours": 8.5761, "text": "Hey guys! This is gonna be a lot, because I had to lock in and the Stardance Challenge is slowly coming to an end. Here’s what I’ve been working on: -I created a “Warren’s Top 5 Picks” section consisting of glossy movie cards that open the IMDb page of the movie it’s about when clicked -I did some research on in game quotes from various characters with movie and/or pop culture references and added quotes to the movies that matched them. -In the end, I chose the following 5 movies: Planet of the Apes, LOTR, Blade Runner, Back to the Future, Twilight -I made sure that every card has a real IMDb link that opens in a brand new tab -I created “The Dual Clock” which is basically a glassy clock widget in the bottom-right corner with two timelines -Warren’s time (Oregon) and the user’s time (wherever you are) -I thought of this as a small nod to the time-travel theme of the game -I made sure that it updates every second -I created “The Eclipse Easter Egg” -Now this is one of my favorite features, consisting of an animated eclipse that only appears on October 8th (the day it happens in game in the end of Episode 2) -The Moon slides across the sun in an 8-second loop -If you click it you’ll be directed to a window with a Warren quote (quite literally what he says when he sees the eclipse before the episode ends) and a YouTube link to the song that was playing during that scene -After some debugging this works seamlessly now! -I cleaned up my repo and deleted my old messy prototype file -I added a disclaimer in the top-left (fan-project, all rights to Dontnod/Square Enix) -I added more movies (for the huge list the “Movie of the Day” is randomly chosen from) -Pushed to git ofc -Fixed some CSS typos If you read all of this, thanks for sticking around :) That’s it for now!"}, {"post_id": 63155, "ts": "2026-09-06T20:05:29Z", "hours": 2.7878, "text": "Hey guys! Here’s what I’ve been working on: -Built an Easter Egg that reveals secret messages (see down below) -Tested and polished the Easter egg -Debugged and fixed typos -Fixed heading readability (white font on a white background wasn’t my brightest idea, quite literally) -Added glass reflections -Added Aero window controls -Added a top glass glow -Adjusted shadows -Cleaned up my code That’s it for now :)"}, {"post_id": 61792, "ts": "2026-09-04T21:27:41Z", "hours": 1.3478, "text": "Unfortunately, I was kinda busy over the last few days, but here’s a quick update: I’ve been adding more movies to the Movie of The Day section! Here’s a sneak peek at the latest additions:"}, {"post_id": 59806, "ts": "2026-09-01T19:10:28Z", "hours": 3.5353, "text": "Hey guys! Quick update about the project! Since my last devlog, I’ve been working on the following: -Enhancing the Frutiger Aero style -Finishing the Movie of the Day movie list -Adding release years to the movies -Making the Movie of the Day change every 24h based on Pacific Time (since the game it’s inspired by takes place in OR) -Adding a well-hidden Easter egg -Making floating bubbles interactive + a pop effect anytime the bubbles are clicked! That’s all for today :)"}, {"post_id": 56857, "ts": "2026-08-28T20:18:24Z", "hours": 2.0628, "text": "Okay… my second devlog, and I somewhat changed the plan. Lol. While working on the website, I realized it became way more complicated than I initially expected, and seemed to drift away from my original design and the project I genuinely wanted to create. Since the vibe felt off, but I wanted the core idea to stay, I aimed for something more whimsical, nostalgic, playful, and fun. You might’ve guessed it, yes, I’m moving toward a Frutiger Aero-inspired look, and this definitely increased my overall fun and excitement about the project! Today, I mainly redesigned the front page (pic attached below)! Stay tuned for the next update :)"}, {"post_id": 56192, "ts": "2026-08-27T20:44:36Z", "hours": 3.9069, "text": "Welcome to my first devlog! I’ve been working on Warrens Sci-Fi & Pop Culture Archive, a project inspired by the Life is Strange character Warren Graham! I’ve recently added an interactive flash drive interface, an animated spiral loading screen with interesting (and random) science facts, and my first classic movie to the collection: Planet of the Apes. I’ve also added metadata and fan-made review notes written from his POV, along with a pixel-art grid system. Ironically, for someone named PXLS, the pixel-art grid isn’t looking quite right yet. I’m planning to fix that issue soon!"}]...
|
Title: Warren’s Sci-Fi & Pop Culture Archive b Title: Warren’s Sci-Fi & Pop Culture Archive by @PXLS | Stardance
Devlogs:
Welcome to my first devlog! I’ve been working on Warrens Sci-Fi & Pop Culture Archive, a project inspired by the Life is Strange character Warren Graham! I’ve recently added an interactive flash drive interface, an animated spiral loading screen with interesting (and random) science facts, and my first classic movie to the collection: Planet of the Apes. I’ve also added metadata and fan-made review notes written from his POV, along with a pixel-art grid system. Ironically, for someone named PXLS, the pixel-art grid isn’t looking quite right yet. I’m planning to fix that issue soon!
Okay… my second devlog, and I somewhat changed the plan. Lol. While working on the website, I realized it became way more complicated than I initially expected, and seemed to drift away from my original design and the project I genuinely wanted to create. Since the vibe felt off, but I wanted the core idea to stay, I aimed for something more whimsical, nostalgic, playful, and fun. You might’ve guessed it, yes, I’m moving toward a Frutiger Aero-inspired look, and this definitely increased my overall fun and excitement about the project! Today, I mainly redesigned the front page (pic attached below)! Stay tuned for the next update :)
Hey guys! Quick update about the project! Since my last devlog, I’ve been working on the following: -Enhancing the Frutiger Aero style -Finishing the Movie of the Day movie list -Adding release years to the movies -Making the Movie of the Day change every 24h based on Pacific Time (since the game it’s inspired by takes place in OR) -Adding a well-hidden Easter egg -Making floating bubbles interactive + a pop effect anytime the bubbles are clicked! That’s all for today :)
Unfortunately, I was kinda busy over the last few days, but here’s a quick update: I’ve been adding more movies to the Movie of The Day section! Here’s a sneak peek at the latest additions:
Hey guys! Here’s what I’ve been working on: -Built an Easter Egg that reveals secret messages (see down below) -Tested and polished the Easter egg -Debugged and fixed typos -Fixed heading readability (white font on a white background wasn’t my brightest idea, quite literally) -Added glass reflections -Added Aero window controls -Added a top glass glow -Adjusted shadows -Cleaned up my code That’s it for now :)
Hey guys! This is gonna be a lot, because I had to lock in and the Stardance Challenge is slowly coming to an end. Here’s what I’ve been working on: -I created a “Warren’s Top 5 Picks” section consisting of glossy movie cards that open the IMDb page of the movie it’s about when clicked -I did some research on in game quotes from various characters with movie and/or pop culture references and added quotes to the movies that matched them. -In the end, I chose the following 5 movies: Planet of the Apes, LOTR, Blade Runner, Back to the Future, Twilight -I made sure that every card has a real IMDb link that opens in a brand new tab -I created “The Dual Clock” which is basically a glassy clock widget in the bottom-right corner with two timelines -Warren’s time (Oregon) and the user’s time (wherever you are) -I thought of this as a small nod to the time-travel theme of the game -I made sure that it updates every second -I created “The Eclipse Easter Egg” -Now this is one of my favorite features, consisting of an animated eclipse that only appears on October 8th (the day it happens in game in the end of Episode 2) -The Moon slides across the sun in an 8-second loop -If you click it you’ll be directed to a window with a Warren quote (quite literally what he says when he sees the eclipse before the episode ends) and a YouTube link to the song that was playing during that scene -After some debugging this works seamlessly now! -I cleaned up my repo and deleted my old messy prototype file -I added a disclaimer in the top-left (fan-project, all rights to Dontnod/Square Enix) -I added more movies (for the huge list the “Movie of the Day” is randomly chosen from) -Pushed to git ofc -Fixed some CSS typos If you read all of this, thanks for sticking around :) That’s it for now!
Over the last few days, I’ve been working on the final version of the archive. I looked for duplicates in the movie list, did some debugging, made my repo public, tested the live URL, deleted some movies, cleaned up the code, made the top 5 cards keyboard-accessible, and tested the website on different browsers and devices. I also finished the README, checked for typos, checked the movie selection logic, activated GitHub Pages, refined some features, added easter eggs, added comments, and made sure the favicon works. I think I’m ready to ship!
Hey, today I rewrote README with project background and credits, rewrote description and declaration, deleted and rewrote code sections, added a background image with license attribution (Public Domain Mark 1.0) and a new font that fits the Frutiger Aero aesthetic better. I also added a Curator’s Note in the code documenting the manual curation process for the 400+ movie list, cleaned up text, code and added a full legal disclaimer, and updated the screenshot link in README
Ships:
“For every action, there’s a reaction.” That’s a line from Life is Strange, and honestly it’s the best way to describe how this project started: one obsession led to another, and somehow I ended up building a whole website about it. Over the last few months, I’ve been working on a project that truly fascinates me: Warren’s Sci-Fi & Pop Culture Archive. My main source of inspiration was my love for the video game Life is Strange, which contains a character, Warren, who is totally obsessed with sci-fi and science. That made me wonder: how could I create a website that combines movies with in-game references, a cool aesthetic, and easter eggs? In the end, this aspiration turned into the archive I’m proud to present. This is my first project for Hack Club, and even though I ran into a few bugs, especially with the timezone logic, I’m glad I made it this far. Feel free to test my project on desktop or mobile, just open the webpage!
I made some updates to Warren’s Sci-Fi and Pop-Culture Archive, such as changing the background and adding a new font. My goal was to enhance the Frutiger Aero aesthetic, which fits much better with the new design. Overall, the project combines music, movies, sci-fi, and plenty of Easter eggs. Hope you guys enjoy it!...
|
1793155679.8043573
|
1793242079.8043573
|
|
9883
|
THE WEBB by @Synt-0 | Stardance
|
Synt-0
|
1
|
22.0
|
209
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-10T19:51:11Z", "hours": 22.0, "multiplier": 9.67, "payout": 209, "blessing": "neutral", "text": "I made an interactive website that shows the journey of the James Webb Space Telescope through the universe! I had a lot of trouble with alignment and other things, but at last, I finished it. This is actually my “first website”, and I learned everything through YouTube and other resources. I’m genuinely proud to have made something of my own and I’m happy to finally share it I recommend visiting the website on a computer *, as it is more optimized for desktop and offers a fuller experience.", "repo": "https://github.com/Synt-0/The-WEBB", "demo": "https://synt-0.github.io/The-WEBB/"}]...
|
[{"post_id": 78426, "ts": "202 [{"post_id": 78426, "ts": "2026-10-10T19:35:32Z", "hours": 2.7153, "text": "FINISHED THE WEBSITE! and will be deployed in a few mins i gave the star icon a api gave the webb a font and all"}, {"post_id": 78137, "ts": "2026-10-09T18:27:32Z", "hours": 5.9328, "text": "THE WEBSITE IS ALMOST OVER! I’ve worked on the popups, the timeline dots, and almost everything else, except for the random image button, the NASA api, and a few related things. But I think I’ll be able to ship it tmw! Honestly, I’m pretty happy with how it’s turning out so far. hopefully you all like it too . i still have to make it reactive and a few more things also can i use brittany font like i downloaded it from a site but it said its for personal use only so can i implement it ? . ANYWAYS YOU CAN SEE THE WEBSITE TMW I BELIEVE"}, {"post_id": 77116, "ts": "2026-10-05T17:42:00Z", "hours": 3.77, "text": "I did the stars , more like i got the code from this site (actually ) https://codepen.io/rkuai/pen/ExLbPWG/ had to do a bit of tweeking to the code to make it work with my own stuff but its good. thank rena (owner of the site ) . and i also am starting to make the popup box for the dots etc did some code for it and broke some things but fixed it . when i started to do js , i found it too complicated and stff . btw after 2 to 3 dev post i will finish the project hopefully i get a good amount of sd/h .. ( funfact - i first started of and aimed for the macbook neo cause my pc is a dell aio with Pentium5405U with 12gb ram <its ddr3 not 5 or 4 > now i have downgraded and downgraded to get mabe the huion tablet [idk why i want it i dont draw]i dont have much time so i am quiting after oct 10th cause i am in 10th and well got a lot to study and my internet access is also getting restricted sometimes ( since my pc use i very high so ya thats it ) . i do have to fix viewport stuff in css since i used px at first and its like calibrated to my screen (not reactive to other screens or brakes on other screens and stuff)"}, {"post_id": 71877, "ts": "2026-09-21T18:02:07Z", "hours": 1.2653, "text": "i worked on aligning the pictures of earth and the jwst . Now the site is actually coming along as like in my design and well still have some issues with the alignment but will figure it out tmw . the issue is there is excess vertical height and its scroll-able to the bottom which has nothing"}, {"post_id": 70208, "ts": "2026-09-18T18:19:47Z", "hours": 2.1378, "text": "This time i worked on the css and a bit in html and i have done the top controls now and need to do the rest tmw. when i did one thing like, formatting another thing breaks and so on .i think i spend 30min on on fixing the mistakes i made and well i have made some progress i have also fixed the top controls after a bit of struggle . i have also formatted the bottom parts a bit too .well thats for it now i guess."}, {"post_id": 66346, "ts": "2026-09-12T03:43:12Z", "hours": 0.8767, "text": "today i finished my html fully now i need to learn css and use it to style my website . i am not going to learn css properly cause i am having less time but i will study the basics from YT and go on with a AI to teach me what all code i need to study for doing my site specifically ."}, {"post_id": 65481, "ts": "2026-09-10T17:21:24Z", "hours": 0.835, "text": "so i worked on the main things of the website today from the dots to a bit of footer . i still have to implement imgs and some other things but it is enough for today i think .for data i am thinking of placing it in js"}, {"post_id": 64926, "ts": "2026-09-09T17:23:40Z", "hours": 2.7072, "text": "I learned a html (not fully) and a bit of css . since i am new to coding i am using AI to teach myself coding but the code above is a bit ai written the “span” code but it did it to make me understand . and i think the website i wanted to make is does getting a bit of its shape i think.."}, {"post_id": 7505, "ts": "2026-06-12T14:52:13Z", "hours": 1.355, "text": "I started learning HTML about a few day ago, and logged my hour. I am thinking to make a website which shows the Earth in the left side, and the James Webb Telescope in the right, and a line connecting both which has dots. Which, when pressed, show the picture that was taken on that day and a bit of info about the pic and other things. So, I am starting off with HTML , and it’s not much. I learned a bit. and here is a sample rough sketch done in canva"}]...
|
Title: THE WEBB by @Synt-0 | Stardance
Devlogs:
I Title: THE WEBB by @Synt-0 | Stardance
Devlogs:
I started learning HTML about a few day ago, and logged my hour. I am thinking to make a website which shows the Earth in the left side, and the James Webb Telescope in the right, and a line connecting both which has dots. Which, when pressed, show the picture that was taken on that day and a bit of info about the pic and other things. So, I am starting off with HTML , and it’s not much. I learned a bit. and here is a sample rough sketch done in canva
I learned a html (not fully) and a bit of css . since i am new to coding i am using AI to teach myself coding but the code above is a bit ai written the “span” code but it did it to make me understand . and i think the website i wanted to make is does getting a bit of its shape i think..
so i worked on the main things of the website today from the dots to a bit of footer . i still have to implement imgs and some other things but it is enough for today i think .for data i am thinking of placing it in js
today i finished my html fully now i need to learn css and use it to style my website . i am not going to learn css properly cause i am having less time but i will study the basics from YT and go on with a AI to teach me what all code i need to study for doing my site specifically .
This time i worked on the css and a bit in html and i have done the top controls now and need to do the rest tmw. when i did one thing like, formatting another thing breaks and so on .i think i spend 30min on on fixing the mistakes i made and well i have made some progress i have also fixed the top controls after a bit of struggle . i have also formatted the bottom parts a bit too .well thats for it now i guess.
i worked on aligning the pictures of earth and the jwst . Now the site is actually coming along as like in my design and well still have some issues with the alignment but will figure it out tmw . the issue is there is excess vertical height and its scroll-able to the bottom which has nothing
I did the stars , more like i got the code from this site (actually ) https://codepen.io/rkuai/pen/ExLbPWG/ had to do a bit of tweeking to the code to make it work with my own stuff but its good. thank rena (owner of the site ) . and i also am starting to make the popup box for the dots etc did some code for it and broke some things but fixed it . when i started to do js , i found it too complicated and stff . btw after 2 to 3 dev post i will finish the project hopefully i get a good amount of sd/h .. ( funfact - i first started of and aimed for the macbook neo cause my pc is a dell aio with Pentium5405U with 12gb ram <its ddr3 not 5 or 4 > now i have downgraded and downgraded to get mabe the huion tablet [idk why i want it i dont draw]i dont have much time so i am quiting after oct 10th cause i am in 10th and well got a lot to study and my internet access is also getting restricted sometimes ( since my pc use i very high so ya thats it ) . i do have to fix viewport stuff in css since i used px at first and its like calibrated to my screen (not reactive to other screens or brakes on other screens and stuff)
THE WEBSITE IS ALMOST OVER! I’ve worked on the popups, the timeline dots, and almost everything else, except for the random image button, the NASA api, and a few related things. But I think I’ll be able to ship it tmw! Honestly, I’m pretty happy with how it’s turning out so far. hopefully you all like it too . i still have to make it reactive and a few more things also can i use brittany font like i downloaded it from a site but it said its for personal use only so can i implement it ? . ANYWAYS YOU CAN SEE THE WEBSITE TMW I BELIEVE
FINISHED THE WEBSITE! and will be deployed in a few mins i gave the star icon a api gave the webb a font and all
Ships:
I made an interactive website that shows the journey of the James Webb Space Telescope through the universe! I had a lot of trouble with alignment and other things, but at last, I finished it. This is actually my “first website”, and I learned everything through YouTube and other resources. I’m genuinely proud to have made something of my own and I’m happy to finally share it I recommend visiting the website on a computer *, as it is more optimized for desktop and offers a fuller experience....
|
1793148763.7280834
|
1793235163.7280834
|
|
62132
|
Hermes by @Sreeni | Stardance
|
Sreeni
|
0
|
10.87
|
0
|
[]
|
[{"post_id": 78413, "ts": "202 [{"post_id": 78413, "ts": "2026-10-10T18:29:18Z", "hours": 2.0217, "text": "So Today I finalized my BOM and my cad, I tried out blender for a while and realized that I was just not made for it, I’ll try and learn it but it will take a while probably, for the pcb I was able to bring the cost down to around $250 which puts me within the budget and I also made a stencil on google slides which I will paint onto the rocket as like a livery to make it look nicer, Other than that I finished some small drc errors on the pcb and thats it I’m going to be submitting and hoping!"}, {"post_id": 72033, "ts": "2026-09-22T01:14:29Z", "hours": 3.7836, "text": "So today I mainly worked on my pcb and Bom, I first started by making the BOM for the project and finding the cost of everything I would need, The main cost for this project are for the main flight computer which is around $400 which is crazy but I have someone who works at jlcpcb who sponsored an old project of mine and could help me with this, Other than that I need around $270 for the main rocket but I think I can bring that cost down. Also after asking for help in a reddit rocketry channel I was recomended to use an off the shelf flight computer because it wouldn’t be a good idea to put a brand new flight computer in charge of pyrotechnics. For that I chose the Eggtimer Quantum which is a cheap $40 flight computer which will control the pyro charges. I also worked on the pcb and solved some drc errors, and finished routing some small resistors and whatnot, I still havent heard anything about the missing lapse for the pcb but we will see, For now the final things will be to finalize the BOM wrap everything up."}, {"post_id": 71569, "ts": "2026-09-21T02:16:41Z", "hours": 2.5836, "text": "I’m actually about to end it all, I began pcb design and routing, and I did around 3 days of work totalling 19 hours, But I being lazy did all the work on one lapse, and I finished this pcb work pretty late into the night, so I decided to save the lapse and journal everything in the morning. Next morning I wake up and I go to lapse to sync my lapse with the project but then something happens. I open lapse and normally the old lapse shows up automatically, but it didnt. I then start panicking and try searching around, I look through my old lapses on the Lookout app and couldn’t find it, I kept looking and never found it even though I remeber saving it in lookout the night before. I’ve asked for a help in the stardance help channel and I’m hoping we can find it? if not i quit. Other than I did work on my cad and layed out how everything will work. I’m going to use u bolts to hold all the parachute lines together, and for the avionics bay I’m going to use 3/8 threaded rods and 0.5in bulkhead made of wood. Other than that I just have to finalize the BOM for the project and then submit and hopefully fix the whole pcb issue."}, {"post_id": 69382, "ts": "2026-09-16T22:56:42Z", "hours": 1.2836, "text": "So today I mainly worked on the CAD model, I modeled all the body tubes centering rings and started work on the avionics bay , I’m going to use around 1/4in wood as bulkheads and use 3/8th threaded rods that hold everything together + 2x 3/8 steel u bolt to attach the parachute lines too. The main avionics sled will be 3d printed and will hold the flight computer. Now After though I decided to make a new flight computer for this rocket because the previous one is more tailored toward my TVC rocket and doesnt have things like telemetry which I need. I main reused a lot of the schematic from the first version of the computer but I switched to an STM32H743VIT6 which was a bunch more gpio pins which I need, I also added a Ra-02 for telemtry, and has an ATGM336 gps, the imu and barometer is still the same as my old one, and it has multiple pyro and servo channels. Other than that I’m going to start doing to routing tmrw and I might do some to today maybe? Other than that I’m going to start making the BOM and finalizing the Cad."}, {"post_id": 68425, "ts": "2026-09-15T03:04:33Z", "hours": 1.2003, "text": "So today I planned out my overall idea for my rocket, I named it Hermes and this rocket will be used for both my L1 and L2 certifications. It is 1.7m in length, has a 34mm motor mount to hold a variety of motors and uses a dual deploy system. A dual depoly system basically means that instead of releasing just on big parachute at apoggee and letting the rocket drift for that time, there initally is something called a drogue chute which is a small chute that only slow the rocket down adn minimzes drift, and after the rocket reaches a lower altitude it depolys the main parachutes(close to 100-120m). The parachutes will be deployed using pyrotechnics, and will be timed with an onboard flight computer. Now I already have built a flight computer in the past that I could use for this flight, But that computer is still in the testing stages, so in the coming day’s im going to decide wheter I should just use that flight computer or get another seperate flight computer for redundancy. The rocket will be made of a cardboard airframe and strengthened with an extra layer of fiberglass, This will probably be only for the main body and not the nose cone but I might also do it for the nose cone in the future. Beside that I’m going to have to figure out the flight computer dilema work more on bringing my stability caliber closer to 0 and beginning the Cad, and ya thats it."}]...
|
Title: Hermes by @Sreeni | Stardance
Devlogs:
So Title: Hermes by @Sreeni | Stardance
Devlogs:
So today I planned out my overall idea for my rocket, I named it Hermes and this rocket will be used for both my L1 and L2 certifications. It is 1.7m in length, has a 34mm motor mount to hold a variety of motors and uses a dual deploy system. A dual depoly system basically means that instead of releasing just on big parachute at apoggee and letting the rocket drift for that time, there initally is something called a drogue chute which is a small chute that only slow the rocket down adn minimzes drift, and after the rocket reaches a lower altitude it depolys the main parachutes(close to 100-120m). The parachutes will be deployed using pyrotechnics, and will be timed with an onboard flight computer. Now I already have built a flight computer in the past that I could use for this flight, But that computer is still in the testing stages, so in the coming day’s im going to decide wheter I should just use that flight computer or get another seperate flight computer for redundancy. The rocket will be made of a cardboard airframe and strengthened with an extra layer of fiberglass, This will probably be only for the main body and not the nose cone but I might also do it for the nose cone in the future. Beside that I’m going to have to figure out the flight computer dilema work more on bringing my stability caliber closer to 0 and beginning the Cad, and ya thats it.
So today I mainly worked on the CAD model, I modeled all the body tubes centering rings and started work on the avionics bay , I’m going to use around 1/4in wood as bulkheads and use 3/8th threaded rods that hold everything together + 2x 3/8 steel u bolt to attach the parachute lines too. The main avionics sled will be 3d printed and will hold the flight computer. Now After though I decided to make a new flight computer for this rocket because the previous one is more tailored toward my TVC rocket and doesnt have things like telemetry which I need. I main reused a lot of the schematic from the first version of the computer but I switched to an STM32H743VIT6 which was a bunch more gpio pins which I need, I also added a Ra-02 for telemtry, and has an ATGM336 gps, the imu and barometer is still the same as my old one, and it has multiple pyro and servo channels. Other than that I’m going to start doing to routing tmrw and I might do some to today maybe? Other than that I’m going to start making the BOM and finalizing the Cad.
I’m actually about to end it all, I began pcb design and routing, and I did around 3 days of work totalling 19 hours, But I being lazy did all the work on one lapse, and I finished this pcb work pretty late into the night, so I decided to save the lapse and journal everything in the morning. Next morning I wake up and I go to lapse to sync my lapse with the project but then something happens. I open lapse and normally the old lapse shows up automatically, but it didnt. I then start panicking and try searching around, I look through my old lapses on the Lookout app and couldn’t find it, I kept looking and never found it even though I remeber saving it in lookout the night before. I’ve asked for a help in the stardance help channel and I’m hoping we can find it? if not i quit. Other than I did work on my cad and layed out how everything will work. I’m going to use u bolts to hold all the parachute lines together, and for the avionics bay I’m going to use 3/8 threaded rods and 0.5in bulkhead made of wood. Other than that I just have to finalize the BOM for the project and then submit and hopefully fix the whole pcb issue.
So today I mainly worked on my pcb and Bom, I first started by making the BOM for the project and finding the cost of everything I would need, The main cost for this project are for the main flight computer which is around $400 which is crazy but I have someone who works at jlcpcb who sponsored an old project of mine and could help me with this, Other than that I need around $270 for the main rocket but I think I can bring that cost down. Also after asking for help in a reddit rocketry channel I was recomended to use an off the shelf flight computer because it wouldn’t be a good idea to put a brand new flight computer in charge of pyrotechnics. For that I chose the Eggtimer Quantum which is a cheap $40 flight computer which will control the pyro charges. I also worked on the pcb and solved some drc errors, and finished routing some small resistors and whatnot, I still havent heard anything about the missing lapse for the pcb but we will see, For now the final things will be to finalize the BOM wrap everything up.
So Today I finalized my BOM and my cad, I tried out blender for a while and realized that I was just not made for it, I’ll try and learn it but it will take a while probably, for the pcb I was able to bring the cost down to around $250 which puts me within the budget and I also made a stencil on google slides which I will paint onto the rocket as like a livery to make it look nicer, Other than that I finished some small drc errors on the pcb and thats it I’m going to be submitting and hoping!...
|
1793044219.9059665
|
1793649019.9059665
|
|
9850
|
Cadpad by @Alexx | Stardance
|
Alexx
|
1
|
4.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-10T20:33:42Z", "hours": 4.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Finished the Cadpad! had to debug the code to get it working properly, and it works amazingly.", "repo": "https://github.com/xuealex2010-blip/hackpad-alex", "demo": ""}]...
|
[{"post_id": 78411, "ts": "202 [{"post_id": 78411, "ts": "2026-10-10T18:16:17Z", "hours": 3.7167, "text": "Built and created the Cadpad! After waiting for what felt like way too long for everything to arrive, I got everything and built the design. Soldering was a bit tricky, but I got it all done."}, {"post_id": 56798, "ts": "2026-08-28T18:30:00Z", "hours": 1.0333, "text": "QMK code finally compiled. Hopefully when I get to flashing it will work. I spent a lot of time sorting through the compiling errors that I was being given, many of which did not make sense, but seemed to resolve themselves when other issues were fixed. After a few hours, I was able to get the code set up for the encoders and special tap dance features compiled, and hopefully functional."}, {"post_id": 56227, "ts": "2026-08-27T22:00:10Z", "hours": 1.6878, "text": "QMK troubles: I began creating the code for the cadpad and hit my first issue when the output was a .hex file rather than the .uf2 needed, I figured out that this was due to the controller or bootloader not being supported by uf2. I tried to create a new one to set my own configuration. However, when I tried to compile it, I got a bunch of errors that I still haven’t solved (File errors such as missing keyboard name). I have also read much of the documentation to figure out how to implement tap dance, and encoders to make the most use out of the cadpad. While I am not done, progress is moving."}, {"post_id": 54800, "ts": "2026-08-25T22:38:14Z", "hours": 0.85, "text": "Starting QMK code, I have never used QMK before, and I was really confused when the guide to set it up was seemingly not working, turns out it just takes a long time. I’m still not sure exactly what I am doing, but I hope that trial and error and maybe a few tutorials will get me there in the end."}, {"post_id": 53897, "ts": "2026-08-24T16:27:39Z", "hours": 2.3206, "text": "Updating 3D models for the Cadpad, added a cool decal on the top, and fixed some errors that I had with the PCB, and collisions between the case. I had some trouble with KiCad exports causing some errors, but they ended up being non-critical. Also made sure that the PCB is very versatile, implementing a dual SMD and THT footprint so that if I want to learn how to solder some SMD components, I will have a great way to practice and get another cadpad! (Makes a great gift)"}, {"post_id": 53478, "ts": "2026-08-24T01:35:24Z", "hours": 3.35, "text": "Refining the 3D Models, I made a few revisions to the PCB earlier to ensure it fits the switches nicely, which required me to update the 3d models, I also took the time to refine them and get close to a final candidate. I also think that a great use for the rotary encoder for cad will be to implement it for arrow key navigation. Since its a dual layer numpad / macropad, using the knob for text navigation gives the Cadpad even more features!"}, {"post_id": 51968, "ts": "2026-08-21T23:17:23Z", "hours": 2.95, "text": "Learned a bit into KiCad footprint editing, my plan is to make a footprint that supports 2 major keyswitch types, Choc and MX style. The hope for this is to be able to not have the 5 PCBs in a typical MOQ to go to waste. So far it looks good, I had some trouble with the initial Choc footprint not lining up, as well as clearance under the SEEED XIAO, but a few tweaks were able to get me into CAD to see how the switches fit."}, {"post_id": 51362, "ts": "2026-08-20T23:51:51Z", "hours": 2.8833, "text": "Initial Planning: My first devblog, I am experimenting with ways to make the PCB more reliable, since I dont want the other 4 from the set of 5 to go to waste! I am not sure if this will eventually turn out into something usable, but willing to try."}]...
|
Title: Cadpad by @Alexx | Stardance
Devlogs:
Init Title: Cadpad by @Alexx | Stardance
Devlogs:
Initial Planning: My first devblog, I am experimenting with ways to make the PCB more reliable, since I dont want the other 4 from the set of 5 to go to waste! I am not sure if this will eventually turn out into something usable, but willing to try.
Learned a bit into KiCad footprint editing, my plan is to make a footprint that supports 2 major keyswitch types, Choc and MX style. The hope for this is to be able to not have the 5 PCBs in a typical MOQ to go to waste. So far it looks good, I had some trouble with the initial Choc footprint not lining up, as well as clearance under the SEEED XIAO, but a few tweaks were able to get me into CAD to see how the switches fit.
Refining the 3D Models, I made a few revisions to the PCB earlier to ensure it fits the switches nicely, which required me to update the 3d models, I also took the time to refine them and get close to a final candidate. I also think that a great use for the rotary encoder for cad will be to implement it for arrow key navigation. Since its a dual layer numpad / macropad, using the knob for text navigation gives the Cadpad even more features!
Updating 3D models for the Cadpad, added a cool decal on the top, and fixed some errors that I had with the PCB, and collisions between the case. I had some trouble with KiCad exports causing some errors, but they ended up being non-critical. Also made sure that the PCB is very versatile, implementing a dual SMD and THT footprint so that if I want to learn how to solder some SMD components, I will have a great way to practice and get another cadpad! (Makes a great gift)
Starting QMK code, I have never used QMK before, and I was really confused when the guide to set it up was seemingly not working, turns out it just takes a long time. I’m still not sure exactly what I am doing, but I hope that trial and error and maybe a few tutorials will get me there in the end.
QMK troubles: I began creating the code for the cadpad and hit my first issue when the output was a .hex file rather than the .uf2 needed, I figured out that this was due to the controller or bootloader not being supported by uf2. I tried to create a new one to set my own configuration. However, when I tried to compile it, I got a bunch of errors that I still haven’t solved (File errors such as missing keyboard name). I have also read much of the documentation to figure out how to implement tap dance, and encoders to make the most use out of the cadpad. While I am not done, progress is moving.
QMK code finally compiled. Hopefully when I get to flashing it will work. I spent a lot of time sorting through the compiling errors that I was being given, many of which did not make sense, but seemed to resolve themselves when other issues were fixed. After a few hours, I was able to get the code set up for the encoders and special tap dance features compiled, and hopefully functional.
Built and created the Cadpad! After waiting for what felt like way too long for everything to arrive, I got everything and built the design. Soldering was a bit tricky, but I got it all done.
Ships:
Finished the Cadpad! had to debug the code to get it working properly, and it works amazingly....
|
1793148473.799607
|
1793234873.799607
|