|
10201
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1792943301.023413
|
1793807301.023413
|
|
10202
|
website by @onedrink | Stardance
|
onedrink
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: website by @onedrink | Stardance
|
1792770836.9739294
|
1793375636.9739294
|
|
10203
|
My first slack bot! by @Hawa | Stardance
|
Hawa
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @Hawa | Stardance
|
1793292687.1120172
|
1793897487.1120172
|
|
10204
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1792936250.8431625
|
1793800250.8431625
|
|
10205
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1792950800.1947868
|
1793814800.1947868
|
|
10206
|
recycle helper by @maruitus | Stardance
|
maruitus
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: recycle helper by @maruitus | Stardance
|
1793400759.319259
|
1794005559.319259
|
|
10207
|
Fake Chatbot by @bean | Stardance
|
bean
|
1
|
8.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-06T21:18:59Z", "hours": 8.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a fake chatbot for some information that probably would have worked better as a documentation/wiki type site. Alas, the client wants what the client wants, the client being my dad. If I was naming this project myself, it would be FakeGPT.", "repo": "https://github.com/CoolBeansStudioOfficial/GRDA-Assistant", "demo": "https://coolbeansstudioofficial.github.io/GRDA-Assistant/"}]...
|
[{"post_id": 3810, "ts": "2026 [{"post_id": 3810, "ts": "2026-06-06T21:16:46Z", "hours": 8.0047, "text": "Like I said in the description, my dad asked me to make him a chatbot for work, but he didn’t give me an API key. I could have asked him for one, but I decided to have a little fun with it instead. I manually typed out a bunch of potential prompts in a .json file, then made a few basic scripts to search through and display them as message bubbles. Biggest laugh I’ve had in a while XD"}]...
|
Title: Fake Chatbot by @bean | Stardance
Devlogs: Title: Fake Chatbot by @bean | Stardance
Devlogs:
Like I said in the description, my dad asked me to make him a chatbot for work, but he didn’t give me an API key. I could have asked him for one, but I decided to have a little fun with it instead. I manually typed out a bunch of potential prompts in a .json file, then made a few basic scripts to search through and display them as message bubbles. Biggest laugh I’ve had in a while XD
Ships:
I made a fake chatbot for some information that probably would have worked better as a documentation/wiki type site. Alas, the client wants what the client wants, the client being my dad. If I was naming this project myself, it would be FakeGPT....
|
1793292580.810914
|
1793378980.810914
|
|
10208
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1792889327.2521882
|
1793753327.2521882
|
|
10209
|
My awesome macropad! by @SamCuber | Stardance
|
SamCuber
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @SamCuber | Stardan Title: My awesome macropad! by @SamCuber | Stardance...
|
1793267353.313177
|
1793872153.313177
|
|
10210
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1792925672.4955359
|
1793789672.4955359
|
|
10211
|
Build An IntCa by @idraykova | Stardance
|
idraykova
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Build An IntCa by @idraykova | Stardance
|
1793195342.4576762
|
1793800142.4576762
|
|
10212
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1792925444.1802897
|
1793789444.1802897
|
|
10213
|
My first slack bot! by @dudeman | Stardance
|
dudeman
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @dudeman | Stardance
|
1793206126.1581872
|
1793810926.1581872
|
|
10214
|
My first slack bot! by @VibeSlayer | Stardance
|
VibeSlayer
|
0
|
0.34
|
0
|
[]
|
[{"post_id": 5073, "ts": "2026 [{"post_id": 5073, "ts": "2026-06-08T19:11:02Z", "hours": 0.3394, "text": "Hi Everyone I have started to make my slack bot called vibe. I have implemented some commands but this is not a complete project but a strong base right now. I m planning to expand this as a meme/fun bot and add fun commands which make group chats more fun!"}]...
|
Title: My first slack bot! by @VibeSlayer | Starda Title: My first slack bot! by @VibeSlayer | Stardance
Devlogs:
Hi Everyone I have started to make my slack bot called vibe. I have implemented some commands but this is not a complete project but a strong base right now. I m planning to expand this as a meme/fun bot and add fun commands which make group chats more fun!...
|
1792742087.3965104
|
1793346887.3965104
|
|
10215
|
Untitled by @makors | Stardance
|
makors
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @makors | Stardance
|
1793156190.5755765
|
1793760990.5755765
|
|
10216
|
Pendulum physics by @joebracken | Stardance
|
joebracken
|
1
|
9.01
|
38
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-13T01:04:56Z", "hours": 8.0, "multiplier": 4.52, "payout": 38, "blessing": "neutral", "text": "I made a simulation of a simple pendulum in python. I used newtonian physics and allow for initial velocity, initial radians and radius to be changed before simulation starts. I plot the pendulum on a matplotlib graph. This project was very hard as it was my first main project on python and I had to figure out the alpha = -g/lsintheta line. This was done by learning circular motion and simple pendulum physics; getting the relationship of tangential acceleration to angular acceleration and combining this with the -mgsintheta = ma (newtonian) to get a = -g/lsintheta. This was the main part of the project, however managing theta continued to be a big problem throughout the project. I did enjoy this and I will probably be sticking with python for a while now.", "repo": "https://github.com/madmanmr/PendulumSim2", "demo": "https://github.com/madmanmr/PendulumSim2/releases/download/PendSIm2/main.zip"}]...
|
[{"post_id": 10815, "ts": "202 [{"post_id": 10815, "ts": "2026-06-17T19:08:20Z", "hours": 1.0106, "text": "Fixed an error with the length of R not affecting the actual simulation."}, {"post_id": 7753, "ts": "2026-06-12T23:03:00Z", "hours": 8.4781, "text": "this may be my first devlog as i did not know of them, but here is the completed code"}]...
|
Title: Pendulum physics by @joebracken | Stardance Title: Pendulum physics by @joebracken | Stardance
Devlogs:
this may be my first devlog as i did not know of them, but here is the completed code
Fixed an error with the length of R not affecting the actual simulation.
Ships:
I made a simulation of a simple pendulum in python. I used newtonian physics and allow for initial velocity, initial radians and radius to be changed before simulation starts. I plot the pendulum on a matplotlib graph. This project was very hard as it was my first main project on python and I had to figure out the alpha = -g/lsintheta line. This was done by learning circular motion and simple pendulum physics; getting the relationship of tangential acceleration to angular acceleration and combining this with the -mgsintheta = ma (newtonian) to get a = -g/lsintheta. This was the main part of the project, however managing theta continued to be a big problem throughout the project. I did enjoy this and I will probably be sticking with python for a while now....
|
1793278094.219578
|
1793364494.219578
|
|
10217
|
My awesome macropad! by @safasomad | Stardance
|
safasomad
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @safasomad | Starda Title: My awesome macropad! by @safasomad | Stardance...
|
1793454724.188241
|
1794059524.188241
|
|
10218
|
Customizable Macropad by @Cunning07 | Stardance
|
Cunning07
|
0
|
34.06
|
0
|
[]
|
[{"post_id": 77203, "ts": "202 [{"post_id": 77203, "ts": "2026-10-06T02:41:45Z", "hours": 3.9433, "text": "Major Oversight when designing the pcb and case i forgot one key aspect about what a keyboard should do, the buttons have to move. See the button and screen sat on the same board with the screen being on top of the button and before hand i just attach wires to the screen to allow for it to have height which in theory should let it move. unfortunately when i actually tested it out on a protoboard with a mini case, the press felt inconsistent and uneven, and in some cases the screen would fall off the button. This together simply creates an unpleasant experience so i have spent the last week and a half to resolve this issue. For one the original design seperated a top and bottom half of the case with the bottom housing the pcb and the top essentially just going on top. the new design extends the top halfs circle to essentially lock the screen in place ensuring it is a consistent down press, in addition ive added 3 places for potential springs to be placed which can create an even more consistent press which does complicate manufacturing. As well as insert after the screen has been in place to further lock the motion of the screen press to be consistent motion. Below i will list the photos of the new case in addition i will adjust my repo to show the changes"}, {"post_id": 44350, "ts": "2026-08-10T01:46:03Z", "hours": 10.6711, "text": "This is exciting Accomplishments: Pc->Microcontroller transmission + synchronized queue Robust event handler allowing interrupts such as button activation command center control allowing user autonomy over decisions Next steps With a majority of the software design done to ensure that the system both does what i intended it to do while also ensuring it is future proof and handles interrupts while also allowing it to be complex, i can begin to finalize the PCB design while also designed a case it can go in. I will start by finishing the PCB design this should be fairly simple and quick, which afterwords i will first work on a case for my two display example as a prototype for pitching and then work on the actual case, from here i will hopefully get advise from some people here on making the design better or fundamental changes to the code. I know for a fact there is still many things i need to do on the software to truly make it customer proof, for one the image streaming is mad slow, Ive got ideas on ways to make it faster but im already like 20+ hours into the software. with the last step being to actually add the button effects this will likely be done by calling external user generated files from the pc which will execute whatever command is asked. i will put minimal effort into this as i think its best to allow users to have full control over what they want their system to do Media Content Video showing startup + command center pushing commands - https://drive.google.com/file/d/1EwXH8NIr_JrQyhY4JUQBOq_f5trCF-37/view?usp=sharing (couldnt link it here) Cool image of the display prototype Sneak peek of case design"}, {"post_id": 30384, "ts": "2026-07-17T21:19:15Z", "hours": 10.2625, "text": "Its been a long time Sorry for my absence i have been stuck in the hell that is queues. In this devlog i will cover how to communicate through serial I am by no means a good software dev but after many long nights of banging my head against the wall i think i have somewhat of a decent system and understanding of this topic Speaking Serial In my last devlog i mentioned the idea of running complex programs on toaster level components by using a wire and a computer, this wire is communicating through a serial bus, which is simply a pathway that communicates information or bits through a single channel, emphasize on the idea of the single channel. So first we have to establish the serial and how its gonna operate. During this entire log all info will be in c++ and python. Arduino Section(c++) #include <Arduino.h> #include <SPI.h> void setup() { Serial.begin(115200); } Pc Side(python) from serial import Serial import time def connect(port): try: serial = Serial(port.device, baudrate=115200, timeout=1) time.sleep(3) So some things to note, set the baud rate for both connections the exact same. Baudrate is essentially the speed of transfer a higher baudrate means faster communication, which in turn needs a stronger wire/cpu to process more info faster. in addition ensure on the pc side after opening the serial connection to add a delay you need to let the micro controller reset and settle its connection. Communication From here you need a way to actually communicate, say you have a simple keyboard and its connected to your computer and a user presses a button which is gonna open steam, unfortunately its not smart to just send a serial message to open steam as each character/Letter depending on the encoding can contain multiple bits which each need to be streamed through the serial and received by the pc. So its best to setup a pallet of commands both sides know what each command is and the command is simply just a single bit. Commands Arduino enum Command : uint8_t { CMD_HANDSHAKE = 0x00, CMD_HANDSHAKE_ACK = 0x01, CMD_HEARTBEAT = 0x02, CMD_DRAW_IMAGE = 0x03 }; To differentiate commands: void resolveCMD(uint8_t cmd, uint8_t display) { switch (cmd) { case CMD_DRAW_IMAGE: #code case CMD_HANDSHAKE: #code } } Commands can be expanded up to 256 different types, with each one still taking one byte. Now in this scope the computer or arduino send the command through the serial and the other side just does it, heavy lifting stuff is typically done on the pc for example loading and storing the images i want to display (here’s the snippet for that): from PIL import Image img = Image.open(base_dir / folder / img_filename) width, height = img.size pixels - img.load() while True: #check for arduino ready state packet = bytearray() #append display, width, height to packet self.manager.write(packet) buffer = bytearray() for y in range(height): for x in (width): r,g,b = pixels[x,y] rgb565 = (((r & 0xF8)<<8|((g & 0xFC) <<3\\(b >> 3)) buffer.extend(rgb565.to_bytes(2, \"big\") #when buffer is above 512 len send to arduino Unfortunately i am close to the character limit and i hate reading long stuff so i dont want to go on a yapathon. If this is the type of devlogs people like my next one will go heavy in to depth on running a good queue, which plays in turn with the serial, making it more efficient and allowing a more complex system. Check out my git hub ( https://github.com/Cunning077/HackPad ) as well, all the code for this project is there im terrible at documentation but if it can provide a example or help or if you want to help me i would be very grateful. Enjoy Summer"}, {"post_id": 20954, "ts": "2026-07-02T18:03:47Z", "hours": 6.1942, "text": "Weekly Devlog #3 Even a toaster can run minecraft This weeks primary focus was software and turning 2 blank display screens into actually functional and usable keypads. To start i need to define the limitations, for one in the final version of this project there will be 6 240x240 displays, each display having 57,600 pixels, which amounts to around about 1.105 Mib, for reference the Arduino Uno has 32Kb of flash. So i definitely cant just send raw c files for the pixels and simply load then through the Arduino, But why don’t i just load the c files onto a SD card and simply just have the Arduino stream the pixels from the SD card to the display, well i can but who wants to deal with the hassle of loading a SD card and putting it back into whatever contraption i come up with for a case, One of the main pillars of this project was to make it as easy as possible to customize what you want the hackpad to do and i find it to risky to assume anyone can find the SD card and load it properly without problem, i for one cant stand SD cards especially the breakout board readers. So here’s where i reveal the big solution, the world changing revolutionary problem solving out of this world solution: Im gonna stream the data through serial. Essentially the Arduino (or whatever micro controller i use) will simply be a receiver and the host computer will be a sender. Now this introduces some limitations for example you can only send data so fast especially when your wire is bad, additionally im not sure what type of strain this will put on the hosts computer, while im also not sure how im gonna handle multiple events, but indue time i will flush out these problems and implement something that will surely make sense. This Log is way shorter than my last and doesn’t really offer any insight or helpful information so i apologize but if you haven’t read my last one i attempted to instruct how to build the prototype displays i think its very informative and also maybe you can steal this project and actually make it good. I promise next week i wont disappoint :) Im late on this one because the displays refused to print images so it took me a day to get the image 😔 **"}, {"post_id": 13881, "ts": "2026-06-22T19:07:06Z", "hours": 2.2547, "text": "Weekly Devlog #2 This week i started prototyping the design decisions i had made with the PCB to ensure before manufacturing it works. So i wanted to simulate most of the important factors like the 74HC138 circuit i would use to control the 6 TFT display boards, while also checking whether 3.3v would properly power the board, in addition i plan to run tests to see in the current design how much power pull will be pulled from the computer to power the hackpad. Included in this is also instructions on how to build the full protoboard which can very easily be expanded to include up to 8 TFT displays. This prototype version doesnt include switches which will be next weeks addition including building the foundational code for the entire board. Instructions To begin i first put in each component of the board: 2x TFT 1.28 inch Display 1x 74HC138N circuit 1x Arduino Uno R3 Each component besides the Arduino can be found in the first accompanying image with the round board being the TFT display and the rectangle box being the 74HC138N circuit, not shown is the Arudino Uno i believe any mainstream microcontroller can be used for this, just follow the pins. Power Management From there its best to start on power management utilizing the rails on the breadboard i connect the Arduino Unos 3v3 pin and any gnd pin to the respective holes on the board. In total i use 5 positive wires and 6 negative wires. The TFT boards power management setup is straight forward follow the writing on the board, however the more difficult section is the 74HC138 which in total needs 4 separate power wires. To start wiring it find the tiny hole on the actual circuit itself its a little divot in the box, 3 pins down from the top pin on the side of the divot is E0, which the next two pins below it is E1 and E2. These control the setting of the controller, to achieve the setting we want we need to wire E0 as low or GND E1 as low and E2 as high or 3V3, from E2 skip the next pin going down from E2 and the final pin on the left side of the controller is the GND pin. Finally the last pin needed is the pin to the right of the little divot mentioned earlier this is the VCC. TFT Logic The next step is where the wiring gets almost unbearable (jumper cables am i right), this is the logic section where the tft boards pins will all be filled up. To start in a section of the breadboard where the is no other connections to the column of holes we need to create our own bus. We need 4: RST DC SDA (SCK) SCL (MOSI) To create the bus just connect 3 wires in the same column these wires will now share the same electrons. from there simply connect the the first wire of the column doesnt matter which direction it just is best to make sure its the first one in that column. The pin for the arduino is as follows: RST - Reset DC - 9 SDA - 11 SCL - 13 Make sure to connect the wires in that bus to the pin of the tft board it corresponds to 74HC138 Logic The final step is the logic for the 74HC138 circuit which requires 3 digital pins which handle the selection of the outgoing pin to the CS. To start the 2nd pin on the left of the divet in the circuit is A0 the next 2 pins are A1 and A2 each of these pins need to be given a digital pin i wired it to pin 7, 6 and 5 i believe any pin would do. Lastly the 6 pins below the VCC and the pin above GND are the actual output pins these can be wired to the cs of the tft displays to allow information to flow and commands. Simply wire Y0 and Y1 which are the first two pins below the VCC to one displays CS and the other to another CS. Conclusion Now you have a working multi display breadboard, in my GitHub i will link the code for the prototype board. In addition each section has picture linked which are shown in order of the instructions sections, if my instructions suck simply look at the photos and hopefully it will clear any confusion"}, {"post_id": 8853, "ts": "2026-06-14T18:48:20Z", "hours": 0.7333, "text": "Weekly Devblog #1 This week marked the beginning of the Hackpad project. The primary goal of the project is to expand my skills in hardware design and embedded systems development. Since I had no prior experience designing custom PCBs or working with CAD software, much of this week was spent learning the fundamentals and overcoming the challenges involved in creating a functional board layout. The main focus was PCB design, which proved to be one of the more difficult aspects of the project so far. Learning the workflow, component placement, routing, and design constraints required a significant amount of research and iteration, the final schematic linked is my 5th version. Despite the learning curve, I was able to make steady progress and gain a much better understanding of the PCB development process. In parallel, I began analyzing the bill of materials and estimating hardware costs. Based on current pricing, the prototype is expected to cost approximately $37 per unit. The largest contributor to this cost is the set of six TFT display modules. Since these displays are readily available in bulk quantities, there is potential to significantly reduce manufacturing costs, with projected per-unit costs falling below $25 in larger production runs. Overall, this week was focused on establishing the project’s foundation, learning new tools, and creating the initial hardware design while beginning to evaluate the project’s long-term production costs."}]...
|
Title: Customizable Macropad by @Cunning07 | Stard Title: Customizable Macropad by @Cunning07 | Stardance
Devlogs:
Weekly Devblog #1 This week marked the beginning of the Hackpad project. The primary goal of the project is to expand my skills in hardware design and embedded systems development. Since I had no prior experience designing custom PCBs or working with CAD software, much of this week was spent learning the fundamentals and overcoming the challenges involved in creating a functional board layout. The main focus was PCB design, which proved to be one of the more difficult aspects of the project so far. Learning the workflow, component placement, routing, and design constraints required a significant amount of research and iteration, the final schematic linked is my 5th version. Despite the learning curve, I was able to make steady progress and gain a much better understanding of the PCB development process. In parallel, I began analyzing the bill of materials and estimating hardware costs. Based on current pricing, the prototype is expected to cost approximately $37 per unit. The largest contributor to this cost is the set of six TFT display modules. Since these displays are readily available in bulk quantities, there is potential to significantly reduce manufacturing costs, with projected per-unit costs falling below $25 in larger production runs. Overall, this week was focused on establishing the project’s foundation, learning new tools, and creating the initial hardware design while beginning to evaluate the project’s long-term production costs.
Weekly Devlog #2 This week i started prototyping the design decisions i had made with the PCB to ensure before manufacturing it works. So i wanted to simulate most of the important factors like the 74HC138 circuit i would use to control the 6 TFT display boards, while also checking whether 3.3v would properly power the board, in addition i plan to run tests to see in the current design how much power pull will be pulled from the computer to power the hackpad. Included in this is also instructions on how to build the full protoboard which can very easily be expanded to include up to 8 TFT displays. This prototype version doesnt include switches which will be next weeks addition including building the foundational code for the entire board. Instructions To begin i first put in each component of the board: 2x TFT 1.28 inch Display 1x 74HC138N circuit 1x Arduino Uno R3 Each component besides the Arduino can be found in the first accompanying image with the round board being the TFT display and the rectangle box being the 74HC138N circuit, not shown is the Arudino Uno i believe any mainstream microcontroller can be used for this, just follow the pins. Power Management From there its best to start on power management utilizing the rails on the breadboard i connect the Arduino Unos 3v3 pin and any gnd pin to the respective holes on the board. In total i use 5 positive wires and 6 negative wires. The TFT boards power management setup is straight forward follow the writing on the board, however the more difficult section is the 74HC138 which in total needs 4 separate power wires. To start wiring it find the tiny hole on the actual circuit itself its a little divot in the box, 3 pins down from the top pin on the side of the divot is E0, which the next two pins below it is E1 and E2. These control the setting of the controller, to achieve the setting we want we need to wire E0 as low or GND E1 as low and E2 as high or 3V3, from E2 skip the next pin going down from E2 and the final pin on the left side of the controller is the GND pin. Finally the last pin needed is the pin to the right of the little divot mentioned earlier this is the VCC. TFT Logic The next step is where the wiring gets almost unbearable (jumper cables am i right), this is the logic section where the tft boards pins will all be filled up. To start in a section of the breadboard where the is no other connections to the column of holes we need to create our own bus. We need 4: RST DC SDA (SCK) SCL (MOSI) To create the bus just connect 3 wires in the same column these wires will now share the same electrons. from there simply connect the the first wire of the column doesnt matter which direction it just is best to make sure its the first one in that column. The pin for the arduino is as follows: RST - Reset DC - 9 SDA - 11 SCL - 13 Make sure to connect the wires in that bus to the pin of the tft board it corresponds to 74HC138 Logic The final step is the logic for the 74HC138 circuit which requires 3 digital pins which handle the selection of the outgoing pin to the CS. To start the 2nd pin on the left of the divet in the circuit is A0 the next 2 pins are A1 and A2 each of these pins need to be given a digital pin i wired it to pin 7, 6 and 5 i believe any pin would do. Lastly the 6 pins below the VCC and the pin above GND are the actual output pins these can be wired to the cs of the tft displays to allow information to flow and commands. Simply wire Y0 and Y1 which are the first two pins below the VCC to one displays CS and the other to another CS. Conclusion Now you have a working multi display breadboard, in my GitHub i will link the code for the prototype board. In addition each section has picture linked which are shown in order of the instructions sections, if my instructions suck simply look at the photos and hopefully it will clear any confusion
Weekly Devlog #3 Even a toaster can run minecraft This weeks primary focus was software and turning 2 blank display screens into actually functional and usable keypads. To start i need to define the limitations, for one in the final version of this project there will be 6 240x240 displays, each display having 57,600 pixels, which amounts to around about 1.105 Mib, for reference the Arduino Uno has 32Kb of flash. So i definitely cant just send raw c files for the pixels and simply load then through the Arduino, But why don’t i just load the c files onto a SD card and simply just have the Arduino stream the pixels from the SD card to the display, well i can but who wants to deal with the hassle of loading a SD card and putting it back into whatever contraption i come up with for a case, One of the main pillars of this project was to make it as easy as possible to customize what you want the hackpad to do and i find it to risky to assume anyone can find the SD card and load it properly without problem, i for one cant stand SD cards especially the breakout board readers. So here’s where i reveal the big solution, the world changing revolutionary problem solving out of this world solution: Im gonna stream the data through serial. Essentially the Arduino (or whatever micro controller i use) will simply be a receiver and the host computer will be a sender. Now this introduces some limitations for example you can only send data so fast especially when your wire is bad, additionally im not sure what type of strain this will put on the hosts computer, while im also not sure how im gonna handle multiple events, but indue time i will flush out these problems and implement something that will surely make sense. This Log is way shorter than my last and doesn’t really offer any insight or helpful information so i apologize but if you haven’t read my last one i attempted to instruct how to build the prototype displays i think its very informative and also maybe you can steal this project and actually make it good. I promise next week i wont disappoint :) Im late on this one because the displays refused to print images so it took me a day to get the image 😔 **
Its been a long time Sorry for my absence i have been stuck in the hell that is queues. In this devlog i will cover how to communicate through serial I am by no means a good software dev but after many long nights of banging my head against the wall i think i have somewhat of a decent system and understanding of this topic Speaking Serial In my last devlog i mentioned the idea of running complex programs on toaster level components by using a wire and a computer, this wire is communicating through a serial bus, which is simply a pathway that communicates information or bits through a single channel, emphasize on the idea of the single channel. So first we have to establish the serial and how its gonna operate. During this entire log all info will be in c++ and python. Arduino Section(c++) #include <Arduino.h> #include <SPI.h> void setup() { Serial.begin(115200); } Pc Side(python) from serial import Serial import time def connect(port): try: serial = Serial(port.device, baudrate=115200, timeout=1) time.sleep(3) So some things to note, set the baud rate for both connections the exact same. Baudrate is essentially the speed of transfer a higher baudrate means faster communication, which in turn needs a stronger wire/cpu to process more info faster. in addition ensure on the pc side after opening the serial connection to add a delay you need to let the micro controller reset and settle its connection. Communication From here you need a way to actually communicate, say you have a simple keyboard and its connected to your computer and a user presses a button which is gonna open steam, unfortunately its not smart to just send a serial message to open steam as each character/Letter depending on the encoding can contain multiple bits which each need to be streamed through the serial and received by the pc. So its best to setup a pallet of commands both sides know what each command is and the command is simply just a single bit. Commands Arduino enum Command : uint8_t { CMD_HANDSHAKE = 0x00, CMD_HANDSHAKE_ACK = 0x01, CMD_HEARTBEAT = 0x02, CMD_DRAW_IMAGE = 0x03 }; To differentiate commands: void resolveCMD(uint8_t cmd, uint8_t display) { switch (cmd) { case CMD_DRAW_IMAGE: #code case CMD_HANDSHAKE: #code } } Commands can be expanded up to 256 different types, with each one still taking one byte. Now in this scope the computer or arduino send the command through the serial and the other side just does it, heavy lifting stuff is typically done on the pc for example loading and storing the images i want to display (here’s the snippet for that): from PIL import Image img = Image.open(base_dir / folder / img_filename) width, height = img.size pixels - img.load() while True: #check for arduino ready state packet = bytearray() #append display, width, height to packet self.manager.write(packet) buffer = bytearray() for y in range(height): for x in (width): r,g,b = pixels[x,y] rgb565 = (((r & 0xF8)<<8|((g & 0xFC) <<3\(b >> 3)) buffer.extend(rgb565.to_bytes(2, "big") #when buffer is above 512 len send to arduino Unfortunately i am close to the character limit and i hate reading long stuff so i dont want to go on a yapathon. If this is the type of devlogs people like my next one will go heavy in to depth on running a good queue, which plays in turn with the serial, making it more efficient and allowing a more complex system. Check out my git hub ( https://github.com/Cunning077/HackPad ) as well, all the code for this project is there im terrible at documentation but if it can provide a example or help or if you want to help me i would be very grateful. Enjoy Summer
This is exciting Accomplishments: Pc->Microcontroller transmission + synchronized queue Robust event handler allowing interrupts such as button activation command center control allowing user autonomy over decisions Next steps With a majority of the software design done to ensure that the system both does what i intended it to do while also ensuring it is future proof and handles interrupts while also allowing it to be complex, i can begin to finalize the PCB design while also designed a case it can go in. I will start by finishing the PCB design this should be fairly simple and quick, which afterwords i will first work on a case for my two display example as a prototype for pitching and then work on the actual case, from here i will hopefully get advise from some people here on making the design better or fundamental changes to the code. I know for a fact there is still many things i need to do on the software to truly make it customer proof, for one the image streaming is mad slow, Ive got ideas on ways to make it faster but im already like 20+ hours into the software. with the last step being to actually add the button effects this will likely be done by calling external user generated files from the pc which will execute whatever command is asked. i will put minimal effort into this as i think its best to allow users to have full control over what they want their system to do Media Content Video showing startup + command center pushing commands - https://drive.google.com/file/d/1EwXH8NIr_JrQyhY4JUQBOq_f5trCF-37/view?usp=sharing (couldnt link it here) Cool image of the display prototype Sneak peek of case design
Major Oversight when designing the pcb and case i forgot one key aspect about what a keyboard should do, the buttons have to move. See the button and screen sat on the same board with the screen being on top of the button and before hand i just attach wires to the screen to allow for it to have height which in theory should let it move. unfortunately when i actually tested it out on a protoboard with a mini case, the press felt inconsistent and uneven, and in some cases the screen would fall off the button. This together simply creates an unpleasant experience so i have spent the last week and a half to resolve this issue. For one the original design seperated a top and bottom half of the case with the bottom housing the pcb and the top essentially just going on top. the new design extends the top halfs circle to essentially lock the screen in place ensuring it is a consistent down press, in addition ive added 3 places for potential springs to be placed which can create an even more consistent press which does complicate manufacturing. As well as insert after the screen has been in place to further lock the motion of the screen press to be consistent motion. Below i will list the photos of the new case in addition i will adjust my repo to show the changes...
|
1792785164.7077887
|
1793389964.7077887
|
|
10219
|
My awesome macropad! by @pzambranotercero | Starda My awesome macropad! by @pzambranotercero | Stardance...
|
pzambranotercero
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @pzambranotercero | Title: My awesome macropad! by @pzambranotercero | Stardance...
|
1793443888.1379402
|
1794048688.1379402
|
|
10220
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1792946990.4312956
|
1793810990.4312956
|
|
10221
|
STM32F103_Radio_Controller by @lj6218732 | Stardan STM32F103_Radio_Controller by @lj6218732 | Stardance...
|
lj6218732
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: STM32F103_Radio_Controller by @lj6218732 | Title: STM32F103_Radio_Controller by @lj6218732 | Stardance...
|
1793436648.2545583
|
1794041448.2545583
|
|
10222
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1792925548.834109
|
1793789548.834109
|
|
10223
|
My first slack bot! by @Beton | Stardance
|
Beton
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @Beton | Stardance
|
1793418519.6880484
|
1794023319.6880484
|
|
10224
|
My awesome macropad! by @leov47908 | Stardance
|
leov47908
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @leov47908 | Starda Title: My awesome macropad! by @leov47908 | Stardance...
|
1793267276.0093513
|
1793872076.0093513
|
|
10225
|
Mouniiii by @mounir | Stardance
|
mounir
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Mouniiii by @mounir | Stardance
|
1793390029.073712
|
1793994829.073712
|
|
10226
|
CatOS by @RandomDroid | Stardance
|
RandomDroid
|
1
|
14.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-29T10:30:06Z", "hours": 14.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "CatOS is a relatively simple website for the WebOS 1 project where you can log in (you don’t need the password or username, it autofills), and access a landing with 2 apps. One app is a map, and the other is the fishcounter. The new feature that the guide didn’t list is the login screen and loading screen (and maybe the fish counter, nothing can predict the fish counter) I struggled a lot with the CSS, especially at the start. For some reason I remembered flexbox being a lot more of a pain than it was, and was averse to using it (when I started using it, things were 100 times easier) Overall, this was my first return to coding after a few months of being swamped with schoolwork. I didn’t do everything perfectly the first time, but every mistake is an chance for improvement.", "repo": "https://github.com/RandomDroid1/CatOS", "demo": "https://randomdroid1.github.io/CatOS/"}]...
|
[{"post_id": 18241, "ts": "202 [{"post_id": 18241, "ts": "2026-06-29T09:55:14Z", "hours": 2.3364, "text": "CatOS Log 4 Added the fish app, you can click the fish to make the number go up. Fixed the CSS on the mock login page, it is now flexbox, it took a solid minute. fixed some funky bugs, there was one where the Map window didn’t want to go over the Fish window, but only when it was first opened Appreciated the Fish 5.Made it so the welcome window also could be moved forward by tapping Overall I am ready to ship pretty soon, I’ve put off a lot of the cool plans I have since this is a fixed payout, and am very excited for WebOS 2. I think I did fairly good here, and just took a while since I was rusty at basically everything (and should move a lot faster on WebOS 2 since I have a much clearer idea of where I want to go, and what I want to do) (I am adding a fun value to my website that activates random events) I will also fix the really niche bug where if you widen the website, stick a window really far out, and then narrow it back down, the window gets stuck. It’s not very important it just annoys me."}, {"post_id": 17077, "ts": "2026-06-27T18:45:39Z", "hours": 2.51, "text": "CatOS Log 3 Added a new app! It’s a little map of everywhere I’ve made a sale on my etsy shop, yay. Added and made it fairly easy to add more window icons onto the top bar, where they get a little highlight if the window is open I spent a lot of time with the css, but like I did it properly this time with flexbox so it shouldn’t be a problem in the future I have very little left to do, I just need to fix the css on the start screen, and add one more app"}, {"post_id": 16417, "ts": "2026-06-26T18:24:37Z", "hours": 5.0311, "text": "CatOS Devlog 2 Added a tooltip on the login page that tells you that you don’t need the username & password, and if you just start typing it will autofill Added main landing page once you login Added a background image to the landing page (I forgot about the background-image property so it took me a second, I got it eventually) Added a welcome window (and did the css better than in the login screen, it still took a lot of finagling though) Made the welcome window not able to be dragged off screen and not highlight text when you dragged it Added the top bar and all that (I spent a while messing with how exactly it looks but I like it now)"}, {"post_id": 10291, "ts": "2026-06-16T22:35:57Z", "hours": 4.1731, "text": "CatOS devlog 1 Hello! CatOS is a WebOS that will be used for a puzzle game I am going to have my friends do. For the sake of this I will have everything be essentially auto-done and more of a narrative deal. Most of the time spent here was spent on the login page (I made it that no matter what you type in it types the correct password and username), and I am ready to move onto the landing after. I lowkey forgot everything I learned about HTML and CSS, but am remembering it now. I spent a lot of time going back-and-forth on what to do and how to do it since I did not go in with a plan (a dastardly error) CSS also genuinely hurt me because I spent a long time making everything look good on different screen sizes, I discovered some new tech (clamps and CQH & CQW) that will help me do stuff a lot faster in the future. (I normally spam flexbox but it wouldn’t work for exactly what I want here). Unfortunately all the time I spent on this can’t be demo’ed in the screenshot, I promise 4 hours wasn’t just for this I intentionally tried to make the login screen look fairly old, though whether that just made it ugly is up for debate lol."}]...
|
Title: CatOS by @RandomDroid | Stardance
Devlogs: Title: CatOS by @RandomDroid | Stardance
Devlogs:
CatOS devlog 1 Hello! CatOS is a WebOS that will be used for a puzzle game I am going to have my friends do. For the sake of this I will have everything be essentially auto-done and more of a narrative deal. Most of the time spent here was spent on the login page (I made it that no matter what you type in it types the correct password and username), and I am ready to move onto the landing after. I lowkey forgot everything I learned about HTML and CSS, but am remembering it now. I spent a lot of time going back-and-forth on what to do and how to do it since I did not go in with a plan (a dastardly error) CSS also genuinely hurt me because I spent a long time making everything look good on different screen sizes, I discovered some new tech (clamps and CQH & CQW) that will help me do stuff a lot faster in the future. (I normally spam flexbox but it wouldn’t work for exactly what I want here). Unfortunately all the time I spent on this can’t be demo’ed in the screenshot, I promise 4 hours wasn’t just for this I intentionally tried to make the login screen look fairly old, though whether that just made it ugly is up for debate lol.
CatOS Devlog 2 Added a tooltip on the login page that tells you that you don’t need the username & password, and if you just start typing it will autofill Added main landing page once you login Added a background image to the landing page (I forgot about the background-image property so it took me a second, I got it eventually) Added a welcome window (and did the css better than in the login screen, it still took a lot of finagling though) Made the welcome window not able to be dragged off screen and not highlight text when you dragged it Added the top bar and all that (I spent a while messing with how exactly it looks but I like it now)
CatOS Log 3 Added a new app! It’s a little map of everywhere I’ve made a sale on my etsy shop, yay. Added and made it fairly easy to add more window icons onto the top bar, where they get a little highlight if the window is open I spent a lot of time with the css, but like I did it properly this time with flexbox so it shouldn’t be a problem in the future I have very little left to do, I just need to fix the css on the start screen, and add one more app
CatOS Log 4 Added the fish app, you can click the fish to make the number go up. Fixed the CSS on the mock login page, it is now flexbox, it took a solid minute. fixed some funky bugs, there was one where the Map window didn’t want to go over the Fish window, but only when it was first opened Appreciated the Fish 5.Made it so the welcome window also could be moved forward by tapping Overall I am ready to ship pretty soon, I’ve put off a lot of the cool plans I have since this is a fixed payout, and am very excited for WebOS 2. I think I did fairly good here, and just took a while since I was rusty at basically everything (and should move a lot faster on WebOS 2 since I have a much clearer idea of where I want to go, and what I want to do) (I am adding a fun value to my website that activates random events) I will also fix the really niche bug where if you widen the website, stick a window really far out, and then narrow it back down, the window gets stuck. It’s not very important it just annoys me.
Ships:
CatOS is a relatively simple website for the WebOS 1 project where you can log in (you don’t need the password or username, it autofills), and access a landing with 2 apps. One app is a map, and the other is the fishcounter. The new feature that the guide didn’t list is the login screen and loading screen (and maybe the fish counter, nothing can predict the fish counter) I struggled a lot with the CSS, especially at the start. For some reason I remembered flexbox being a lot more of a pain than it was, and was averse to using it (when I started using it, things were 100 times easier) Overall, this was my first return to coding after a few months of being swamped with schoolwork. I didn’t do everything perfectly the first time, but every mistake is an chance for improvement....
|
1793440551.8005657
|
1793526951.8005657
|
|
10227
|
My awesome macropad! by @bizratisw | Stardance
|
bizratisw
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @bizratisw | Starda Title: My awesome macropad! by @bizratisw | Stardance...
|
1793418555.261965
|
1794023355.261965
|
|
10228
|
Jemeplains.com by @Sucrivore | Stardance
|
Sucrivore
|
0
|
7.62
|
0
|
[]
|
[{"post_id": 21496, "ts": "202 [{"post_id": 21496, "ts": "2026-07-03T14:04:32Z", "hours": 0.9406, "text": "I migrated my application to Angular 21. I then fixed a bug that was preventing claims from loading: a change to the “offset” signal at the wrong moment was blocking change detection, so API data was failing to reach the DOM. I took the opportunity to migrate to httpResources and fixed the flawed pagination by including the page count in the request response."}, {"post_id": 4132, "ts": "2026-06-07T10:24:15Z", "hours": 6.6806, "text": "I have started to adapt the moderators’s account system to all users. I have added an “My account” that display the id and the username. I have also modified the client api service to use new angular’s httpRessources."}]...
|
Title: Jemeplains.com by @Sucrivore | Stardance
D Title: Jemeplains.com by @Sucrivore | Stardance
Devlogs:
I have started to adapt the moderators’s account system to all users. I have added an “My account” that display the id and the username. I have also modified the client api service to use new angular’s httpRessources.
I migrated my application to Angular 21. I then fixed a bug that was preventing claims from loading: a change to the “offset” signal at the wrong moment was blocking change detection, so API data was failing to reach the DOM. I took the opportunity to migrate to httpResources and fixed the flawed pagination by including the page count in the request response....
|
1793184736.4436967
|
1793789536.4436967
|
|
10229
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1792932529.42699
|
1793796529.42699
|
|
10230
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1792950634.0477526
|
1793814634.0477526
|
|
10231
|
Hollow Knight Pinball Playfield by @AgentAxolotl | Hollow Knight Pinball Playfield by @AgentAxolotl | Stardance...
|
AgentAxolotl
|
1
|
28.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-24T17:31:39Z", "hours": 28.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "What I Made: I used CAD (onshape specifically) to model my custom pinball playfield for my Hollow Knight Pinball Machine. It is based on my original physical rough draft prototype and also expands on it with more holes for things like inserts that are too complicated to cut by hand. It will be CNC cut and will be populated (have other components like the mechanical pieces and lights) in a future project. The main goal of this project was to learn CAD while also reducing the time, effort, and errors caused by trying to do this by hand. Some of the models for the holes of various features can be reused by others in the future. Challenges: Learning CAD was definitely a massive learning curve but luckily I know a decent number of people who were able to answer all my questions. I think this is pretty obvious in my devlogs as you can see how I got significantly faster and more capable throughout the process. Modeling the inserts and target cut outs were among the more complicated shapes and were quite a challenge especially for someone who had never done CAD before. I had dimensions from other people in the space but free onshape can struggle with dxf files. I do think templates were very helpful and I hope someone else will also use these in the future, especially the target which I did from scratch. What I’m Most Proud Of: I am most proud of the shooter lane, I go into it in more detail in my readme but I basically used a tilted plane and a v shape and then curved the edges and I think it turned out about as close to a real machine as possible while matching the shorter length I need for my specific design. I am also proud of the target design which I did all on my own. My measurements were also very accurate when I came back and checked it against my physical draft when I was done and I was quite worried it would not match up. Finally I am most proud of basically learning CAD from the ground up which is a major skill that will help me in the future and make many future projects easier. How You Can Machine This Yourself: The onshape files are linked here and there is a .step in the github. The general process is that it should be machined out of plywood on a CNC machine however there are more detailed instructions in the readme. The other thing you may find useful is the templates for inserts and targets (you can find them in the onshape) as this will make it easier for you to make your own machine with your own design if you want. Other components like slingshots and lower plainfield third (which is fairly standard) can be found in there as well. Thanks for rating and good luck on your own projects!", "repo": "https://github.com/SamHughes112/Hollow-Knight-Pinball", "demo": ""}]...
|
[{"post_id": 14856, "ts": "202 [{"post_id": 14856, "ts": "2026-06-24T03:48:18Z", "hours": 4.0136, "text": "This will probably be my last devlog before I ship. Most of time was spent on fine tuning positions, remeasuring things, and checking that I had all the holes I needed. Some of the more major changes included the ball trough (the big oval thing at the bottom for holding balls when they are not in play), the holes in the corners to let wires through for lighting (top right has two one for 5v and one for 48v since the 48 can sometimes mess with data to the RGBs on the 5v), and fixing the shooter lane insert. By being set into the playfield the plunger can hit it better/more consistently and it was definitely up there for one of the most difficult things I have done for this project. In the end I used a very slightly sloped plane with a shape of a V on it which I then extruded forwards and backwards. I then curved the edges to be a bit smoother though it did require me to be creative."}, {"post_id": 13167, "ts": "2026-06-21T15:34:18Z", "hours": 11.0439, "text": "I have made a lot of progress and am probably getting close to shipping. In the past couple days I finished adding all the inserts (I think) as well as almost all the posts I have two left but they will be hard to measure. The only other things I have to do is put a slope for the shooter lane (like where the ball comes from), add a couple more cutouts for switches, and add some holes at the bottom and at the back for some wires since I’m sure I will need that at some point and if not they will covered when I build it out."}, {"post_id": 9706, "ts": "2026-06-16T03:48:15Z", "hours": 4.4953, "text": "Well I had some major setbacks unfortunately the model I had used as a base for the shooter lane and other standard stuff like the holes under the apron (metal piece at the bottom of the games where your ball drains through and a new one pops out of) was measured wrong and by a significant margin so I had to restart that and try to work from a different file type to try to create one that has unfortunately a lot less that I can reuse meaning I had to remeasure and remodel a lot of that myself and then reposition everything I had already put on their. At least I had the shapes of inserts already and obviously me CAD skills have improved a lot so it was fairly doable. I learned my lesson I guess 🤷♂️. I also quickly threw together some more groups of inserts that will go in soon."}, {"post_id": 8476, "ts": "2026-06-14T03:04:59Z", "hours": 4.2267, "text": "I finished modeling the last rounded rectangle along with some more complicated shapes I will need in the future then designed the layout (for the map not the shots) and added some inserts to the map as well as putting some in the inlanes though those were easy next up is adjusting a couple of other positions since I screwed up my side rail measurements (they should be 3/4 and I though they were 1/2 inch)."}, {"post_id": 6037, "ts": "2026-06-10T04:06:47Z", "hours": 3.8192, "text": "Working on modeling holes for the inserts it was coming along well though I did have some problems with onshape not liking some of the file types I was giving it. The labels on the circles are kind of hard to read but basically tell me what diameter it is so I don’t use the wrong one. One more to go thats a 1 1/2 by 1 5/8 rectangle but I’m definitely getting much faster. (idk why my images are being weird maybe try opening them in a new tab)"}]...
|
Title: Hollow Knight Pinball Playfield by @AgentAx Title: Hollow Knight Pinball Playfield by @AgentAxolotl | Stardance
Devlogs:
Working on modeling holes for the inserts it was coming along well though I did have some problems with onshape not liking some of the file types I was giving it. The labels on the circles are kind of hard to read but basically tell me what diameter it is so I don’t use the wrong one. One more to go thats a 1 1/2 by 1 5/8 rectangle but I’m definitely getting much faster. (idk why my images are being weird maybe try opening them in a new tab)
I finished modeling the last rounded rectangle along with some more complicated shapes I will need in the future then designed the layout (for the map not the shots) and added some inserts to the map as well as putting some in the inlanes though those were easy next up is adjusting a couple of other positions since I screwed up my side rail measurements (they should be 3/4 and I though they were 1/2 inch).
Well I had some major setbacks unfortunately the model I had used as a base for the shooter lane and other standard stuff like the holes under the apron (metal piece at the bottom of the games where your ball drains through and a new one pops out of) was measured wrong and by a significant margin so I had to restart that and try to work from a different file type to try to create one that has unfortunately a lot less that I can reuse meaning I had to remeasure and remodel a lot of that myself and then reposition everything I had already put on their. At least I had the shapes of inserts already and obviously me CAD skills have improved a lot so it was fairly doable. I learned my lesson I guess 🤷♂️. I also quickly threw together some more groups of inserts that will go in soon.
I have made a lot of progress and am probably getting close to shipping. In the past couple days I finished adding all the inserts (I think) as well as almost all the posts I have two left but they will be hard to measure. The only other things I have to do is put a slope for the shooter lane (like where the ball comes from), add a couple more cutouts for switches, and add some holes at the bottom and at the back for some wires since I’m sure I will need that at some point and if not they will covered when I build it out.
This will probably be my last devlog before I ship. Most of time was spent on fine tuning positions, remeasuring things, and checking that I had all the holes I needed. Some of the more major changes included the ball trough (the big oval thing at the bottom for holding balls when they are not in play), the holes in the corners to let wires through for lighting (top right has two one for 5v and one for 48v since the 48 can sometimes mess with data to the RGBs on the 5v), and fixing the shooter lane insert. By being set into the playfield the plunger can hit it better/more consistently and it was definitely up there for one of the most difficult things I have done for this project. In the end I used a very slightly sloped plane with a shape of a V on it which I then extruded forwards and backwards. I then curved the edges to be a bit smoother though it did require me to be creative.
Ships:
What I Made: I used CAD (onshape specifically) to model my custom pinball playfield for my Hollow Knight Pinball Machine. It is based on my original physical rough draft prototype and also expands on it with more holes for things like inserts that are too complicated to cut by hand. It will be CNC cut and will be populated (have other components like the mechanical pieces and lights) in a future project. The main goal of this project was to learn CAD while also reducing the time, effort, and errors caused by trying to do this by hand. Some of the models for the holes of various features can be reused by others in the future. Challenges: Learning CAD was definitely a massive learning curve but luckily I know a decent number of people who were able to answer all my questions. I think this is pretty obvious in my devlogs as you can see how I got significantly faster and more capable throughout the process. Modeling the inserts and target cut outs were among the more complicated shapes and were quite a challenge especially for someone who had never done CAD before. I had dimensions from other people in the space but free onshape can struggle with dxf files. I do think templates were very helpful and I hope someone else will also use these in the future, especially the target which I did from scratch. What I’m Most Proud Of: I am most proud of the shooter lane, I go into it in more detail in my readme but I basically used a tilted plane and a v shape and then curved the edges and I think it turned out about as close to a real machine as possible while matching the shorter length I need for my specific design. I am also proud of the target design which I did all on my own. My measurements were also very accurate when I came back and checked it against my physical draft when I was done and I was quite worried it would not match up. Finally I am most proud of basically learning CAD from the ground up which is a major skill that will help me in the future and make many future projects easier. How You Can Machine This Yourself: The onshape files are linked here and there is a .step in the github. The general process is that it should be machined out of plywood on a CNC machine however there are more detailed instructions in the readme. The other thing you may find useful is the templates for inserts and targets (you can find them in the onshape) as this will make it easier for you to make your own machine with your own design if you want. Other components like slingshots and lower plainfield third (which is fairly standard) can be found in there as well. Thanks for rating and good luck on your own projects!...
|
1793307062.5278003
|
1793393462.5278003
|
|
10232
|
Really Cool Slack Bot by @Yonatan1 | Stardance
|
Yonatan1
|
1
|
2.56
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-07T14:53:36Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a 24/7 Slack bot! I set up a cool picture and banner for it, and successfully implemented a cool dog pic command. I’m really proud that it’s working and running smoothly. To test my project, you can try running the dog pic command or the cat fact command in the workspace!", "repo": "https://github.com/Portal15/ReallyCoolSlackBot", "demo": "https://hackclub.enterprise.slack.com/archives/C0B8YB74VB5"}]...
|
[{"post_id": 5120, "ts": "2026 [{"post_id": 5120, "ts": "2026-06-08T20:10:07Z", "hours": 0.2881, "text": "Finally fixed the access to the demo"}, {"post_id": 4811, "ts": "2026-06-08T09:57:21Z", "hours": 0.2722, "text": "FIxed some problems with the demo"}, {"post_id": 4263, "ts": "2026-06-07T14:52:47Z", "hours": 0.36, "text": "Fixed some problems with making it run 24/7 and not its finally working!"}, {"post_id": 4161, "ts": "2026-06-07T11:31:00Z", "hours": 0.3469, "text": "Setting a cool picture and banner for the slack bot"}, {"post_id": 3835, "ts": "2026-06-06T21:51:51Z", "hours": 1.0428, "text": "Its working! and.. I have a cool dog pic command"}]...
|
Title: Really Cool Slack Bot by @Yonatan1 | Starda Title: Really Cool Slack Bot by @Yonatan1 | Stardance
Devlogs:
Its working! and.. I have a cool dog pic command
Setting a cool picture and banner for the slack bot
Fixed some problems with making it run 24/7 and not its finally working!
FIxed some problems with the demo
Finally fixed the access to the demo
Ships:
I made a 24/7 Slack bot! I set up a cool picture and banner for it, and successfully implemented a cool dog pic command. I’m really proud that it’s working and running smoothly. To test my project, you can try running the dog pic command or the cat fact command in the workspace!...
|
1793260256.5131774
|
1793346656.5131774
|
|
10233
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1792932693.1072965
|
1793796693.1072965
|
|
10234
|
My awesome macropad! by @druvesh | Stardance
|
druvesh
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @druvesh | Stardanc Title: My awesome macropad! by @druvesh | Stardance...
|
1793242553.5729954
|
1793847353.5729954
|
|
10235
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1792939821.6905382
|
1793803821.6905382
|
|
10236
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1792896538.5113928
|
1793760538.5113928
|
|
10237
|
189h goal by @moayed-jouini | Stardance
|
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: 189h goal by @moayed-jouini | Stardance
|
1793368356.431836
|
1793973156.431836
|
|
10238
|
My awesome macropad! by @Alebouo12 | Stardance
|
Alebouo12
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @Alebouo12 | Starda Title: My awesome macropad! by @Alebouo12 | Stardance...
|
1792799620.298703
|
1793404420.298703
|
|
10239
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1792954308.8465698
|
1793818308.8465698
|
|
10240
|
Untitled project by @addison | Stardance
|
addison
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled project by @addison | Stardance
|
1793469254.830498
|
1794074054.830498
|
|
10241
|
Pong by @jmmiller | Stardance
|
jmmiller
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Pong by @jmmiller | Stardance
|
1792749188.1808226
|
1793353988.1808226
|
|
10242
|
Turing PCB by @carterpfaff | Stardance
|
carterpfaff
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Turing PCB by @carterpfaff | Stardance
|
1793357711.1385515
|
1793962511.1385515
|
|
10243
|
My awesome macropad! by @sujaan | Stardance
|
sujaan
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @sujaan | Stardance
|
1792806515.7542622
|
1793411315.7542622
|
|
10244
|
Drone by @neveelchheda | Stardance
|
neveelchheda
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Drone by @neveelchheda | Stardance
|
1792929021.8057587
|
1793793021.8057587
|
|
10245
|
My first slack bot! by @Alebouo12 | Stardance
|
Alebouo12
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @Alebouo12 | Stardan Title: My first slack bot! by @Alebouo12 | Stardance...
|
1792770736.8353107
|
1793375536.8353107
|
|
10246
|
Saverra by @hamsteronpotato | Stardance
|
hamsteronpotato
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Saverra by @hamsteronpotato | Stardance
|
1793156027.2750354
|
1793760827.2750354
|
|
10247
|
Custom room os by @Alebouo12 | Stardance
|
Alebouo12
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Custom room os by @Alebouo12 | Stardance
|
1793436958.5794206
|
1794041758.5794206
|
|
10248
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1792946999.318888
|
1793810999.318888
|
|
10249
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1792943671.5530498
|
1793807671.5530498
|
|
10250
|
My awesome macropad! by @Nyxo | Stardance
|
Nyxo
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @Nyxo | Stardance
|
1793437052.3194413
|
1794041852.3194413
|