|
9601
|
My awesome macropad! by @TheSkyBelongsToMe | Stard My awesome macropad! by @TheSkyBelongsToMe | Stardance...
|
TheSkyBelongsToMe
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @TheSkyBelongsToMe Title: My awesome macropad! by @TheSkyBelongsToMe | Stardance...
|
1793181002.1131234
|
1793785802.1131234
|
|
9602
|
Machine Vision Robot by @harry_filis | Stardance
|
harry_filis
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Machine Vision Robot by @harry_filis | Star Title: Machine Vision Robot by @harry_filis | Stardance...
|
1792792370.1399016
|
1793397170.1399016
|
|
9603
|
Test by @aayushshah | Stardance
|
aayushshah
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Test by @aayushshah | Stardance
|
1793440318.5695713
|
1794045118.5695713
|
|
9604
|
Untitled project by @amandeepjakhar | Stardance
|
amandeepjakhar
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled project by @amandeepjakhar | Stard Title: Untitled project by @amandeepjakhar | Stardance...
|
1793443928.2374516
|
1794048728.2374516
|
|
9605
|
Femine-Hydrateđź’• by @Nadine_builds | Stardance
|
Nadine_builds
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Femine-Hydrateđź’• by @Nadine_builds | Stardan Title: Femine-Hydrateđź’• by @Nadine_builds | Stardance...
|
1793415379.4188645
|
1794020179.4188645
|
|
9606
|
Learning Kotlin! by @HugoR | Stardance
|
HugoR
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Learning Kotlin! by @HugoR | Stardance
|
1793400917.8982956
|
1794005717.8982956
|
|
9607
|
EduTrack by @virajshoor | Stardance
|
virajshoor
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: EduTrack by @virajshoor | Stardance
|
1792752577.6613424
|
1793357377.6613424
|
|
9608
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1792929101.3030148
|
1793793101.3030148
|
|
9609
|
InspireAI by @Dyandra | Stardance
|
Dyandra
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: InspireAI by @Dyandra | Stardance
|
1793400973.0483038
|
1794005773.0483038
|
|
9610
|
Ecommerce Website by @jimmydexter | Stardance
|
jimmydexter
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Ecommerce Website by @jimmydexter | Stardan Title: Ecommerce Website by @jimmydexter | Stardance...
|
1793393592.9633706
|
1793998392.9633706
|
|
9611
|
Untitled project by @omniassasin | Stardance
|
omniassasin
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled project by @omniassasin | Stardanc Title: Untitled project by @omniassasin | Stardance...
|
1793325296.5458045
|
1793930096.5458045
|
|
9612
|
Untitled project by @tanzim_safin_dev | Stardance
|
tanzim_safin_dev
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled project by @tanzim_safin_dev | Sta Title: Untitled project by @tanzim_safin_dev | Stardance...
|
1793444042.35753
|
1794048842.35753
|
|
9613
|
My awesome macropad! by @lix | Stardance
|
lix
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @lix | Stardance
|
1792954083.0477846
|
1793818083.0477846
|
|
9614
|
My first slack bot! by @shadowchill | Stardance
|
shadowchill
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @shadowchill | Stard Title: My first slack bot! by @shadowchill | Stardance...
|
1792810073.366706
|
1793414873.366706
|
|
9615
|
Untitled project by @GP76 | Stardance
|
GP76
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled project by @GP76 | Stardance
|
1793213557.0752118
|
1793818357.0752118
|
|
9616
|
revo by @ratmuds | Stardance
|
ratmuds
|
1
|
134.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-21T01:26:40Z", "hours": 134.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I wanted to make a robot arm that punched above it’s weight. The price is pretty similar to smaller robot arms on Amazon that may not include cameras, which would need to be purchased seperately. The way this is achieved by using cheap servos, servos that are 100% NOT made for this purpose, and adding most of the functionality of a smart servo back by using a TON of PCBs. It was a lot of soldering. I just wanted to make something that had more features for less money :) This project was SUPER difficult for me, and pushed my limits a bit. The amount of tolerences especially for the stupid custom motor case and magnet and PCBs and the crazy mainboard and generally having everything play well together took so long, I had many days where I quit frustrated. I’m very happy about how it turned out though, even seeing the lots of shortcomings it has.", "repo": "https://github.com/ratmuds/revo", "demo": ""}]...
|
[{"post_id": 71545, "ts": "202 [{"post_id": 71545, "ts": "2026-09-21T01:17:14Z", "hours": 1.7336, "text": "Finish Project Up :) I wrote a ton in the repository im tired :( https://github.com/ratmuds/revo"}, {"post_id": 71258, "ts": "2026-09-20T15:14:42Z", "hours": 3.1572, "text": "Setup VR and Gripper, Robot Rapidly Disassembles my robot arm is broken I setup VR and fixed some more IK when I go into VR and try playing around, it instantly flies out and throws itself off the table and breaks into pieces. This is going to be fun to fix."}, {"post_id": 70809, "ts": "2026-09-19T19:55:52Z", "hours": 3.8861, "text": "Integration Hell I’ve just been like trying to get this stupid project to work. Screws keep falling out, the IK keeps failing, things are hitting each other and wires are being strained I’m in integration hell. Everything works fine on its own, but combining everything is horrible. I’ve been reassembling and trying to fix this stupid thing for so long. Anyway I’ve went through a few more revisions of some CAD and some more refinements and the gripper and camera is now mounted but this is just incredibly incredibly annoying :(((("}, {"post_id": 69881, "ts": "2026-09-18T00:05:17Z", "hours": 3.8311, "text": "Fixed Broken Magnet, Redoing all IK joint data and offsets, Stereo depth test An encoder magnet broke off, so I had to disassemble and reassemble the top half of the arm to get to the encoder magnet and glue it back on. I also started properly punching in the IK joint data, before it was mostly just random data but now almost all of the data is mostly correct, and I’m waiting for a print to complete that will flip a motor to finally get the IK simulation matching with real life and have the IK endpoint be tracked at the tip of the gripper. It was a lot of trial and error and measurements. I also started experimenting with adding depth estimation. Eventually this could add collision avoidance IK pathfinding, which would be really cool but it’s just a pointcloud in the render right now. But the robot arm is slowly coming together finally! I’ll be able to grab something soon I think."}, {"post_id": 68903, "ts": "2026-09-16T00:31:34Z", "hours": 2.8461, "text": "Assembled Full Arm (not all motors active yet for safety) and Basic Interpolation for Control I assembled the new full arm assembly minus the end effector and didn’t plug in the first two motors as they have the highest chance of doing something really bad. I also made some general changes to the code and also added a flag to some motors to interpolate their movement slowly to not explode the robot arm while controlling it."}, {"post_id": 68352, "ts": "2026-09-15T00:17:44Z", "hours": 2.5044, "text": "Significantly Better Motor Control and Gripper CAD The motor code was getting a bit messy, so I rewrote it. I separated the motor code from the main control code which cleaned it up a bit. LADRC I’m using LADRC now. It’s kind of like PID, but advanced. I took the implementation from online. I feed it the motor current, encoder value, and the target and it goes. The algorithm or whatever somehow calculates the velocity of the motor and how much “effort” it’s using and then gives an effort to put to the motor. It somehow cancels out like disturbances like gravity, backlash, the general physics, etc. As you can see, the motor control is so so so much better than before. It cleanly decelerates. It handles load and dynamically increases effort. Before there was some oscillation because it just couldn’t figure out how to get to the target, this one is just so much better and so hands off. There’s basically like no calibration as it does it over time :)))"}, {"post_id": 67779, "ts": "2026-09-14T00:57:25Z", "hours": 1.4489, "text": "Assembled last 4 DoF for Integrated Test I assembled the MG996R servos in a test piece that will represent the full regular arm segment to test if everything worked. With some fiddling it worked. As you can see there’s more transparent pieces. The pieces that connect the previous joint are transparent to show the Neopixel below it a lot better as before the LED was almost completely occluded. The bright green LEDs power status ones are too bright but I can cover them later."}, {"post_id": 67735, "ts": "2026-09-13T23:20:04Z", "hours": 6.6769, "text": "Dashboard Revamp WIP, Tons of CAD changes, Code Updates, Tolerances I’ve just been refining everything and it’s just going really slowly. Many problems. Magnets shorting out stuff. Magnet too far and not being detected. Wires breaking. I’ve also redesigned the dashboard UI to hopefully look better. I’m still working on it, hopefully it will look more polished later. The dashboard It shows a load speedometer type thing, with the load (max current from a motor out of 500mA) and the temp on the right (for now just dummy value) The motors have cool little animations now too and look less cluttered. I’ve just been working on it a lot. Just everything in general tbh."}, {"post_id": 65061, "ts": "2026-09-09T22:13:56Z", "hours": 5.7644, "text": "Debugging and Fixing Is Killing Me and the Mainboard Exploded :( I have spent SO many hours trying to get this to work. It’s so annoying. This isn’t near how many hours I spent, I’ve been too frustrated to log it. The case is incredibly annoying. Getting the initial case works fine. Doing all of this stuff makes it complicated and break and jam up. The RS485 busses just randomly stop working. The servo output is wiggly and not stable. A PCB header snapped and I didn’t have replacements so I had to bodge solder it back on. The mainboard voltage regulator literally exploded. It was a cheap part but yeah that literally just broke stuff. Fixes to everything. CAD. Firmware. bruh"}, {"post_id": 60577, "ts": "2026-09-03T00:49:54Z", "hours": 6.7731, "text": "MG996Rs Finally Working The servos finally work. I don’t even think this amount of hours logged is equal to how long this took, because I just got tired of it. I think I printed like 20 new revisions of the case and servo mount. It was just so so annoying. While the general case worked, getting a reliable magnet output shaft was impossible. From tolerances, to my own errors to binding to hot glue getting everywhere, or superglue binding random gears, or my getting my fingers stuck to the actual case from superglue (was not fun and hurt) The case finally works. And the prototype code somewhat works too. It basically rotates until the sensor hits zero, it resets the “ticks”. A tick is a raw output from the AS5600. Because this magnet shaft spins faster than the output shaft, like 10x faster, the MCU needs to poll the sensor super quickly, which also needed some optimizations to clear the blocking bus communication wait that would let the magnet skip multiple full turns. The sensor doesn’t internally count turns so we just need to count manually and detect when it jumps from 4096-0 or the other way around. It then spins around until the sensor is hit AGAIN to calculate tick to degrees, assuming the sensor was zeroed before, and then the current ticks would equal 360 degrees. Another problem was the servo needs a PWM signal to move. The threshold from stop to go is pretty garbage on these cheap servos, leading it to spin quite fast already when at the lowest PWM value. Instead when far from the value it increases the PWM signal, closer it brings to minimum and starts linearly flickering the PWM signal from 0 to the speed, with the closer it is the more ratio of time stopped to inch it closer to the target. It actually surprisingly works. It’s very fragile though, any skipped reads, from potentially slow bus transfers would completely throw it off, so all the code running locally on the weak 8 bit MCU needs to be extremely lightweight. Yeah this was super super painful. I’ve been sitting here redoing superglue and code for hours."}, {"post_id": 58979, "ts": "2026-08-31T15:36:35Z", "hours": 3.4036, "text": "Servo Code I did some slight refining to the servo case again, making the tolerances tighter to keep the gears from wobbling. It’s still sort of loose, so I need to just keep trying over and over again. I’m also still writing the servo code. It’s already much more organized than before. I’m also learning Vim keybinds and stuff to try and code faster. The RS485 bus communication works now, and it’s just sending dummy telemetry data back right now. It can also control the servo fine. I’ve just been doing like the lower level architecting I guess, or not really I’m not sure. Before everything was crammed into a single file and now there’s actually header files and multiple source files and it’s actually somewhat readable. I had an issue with LED control for a second but that’s fixed now :)"}, {"post_id": 58467, "ts": "2026-08-30T21:44:37Z", "hours": 2.4922, "text": "V2 Servo Case Working; Servo Code Revamp WIP After around 10 more revisions, the new servo case is fully working with the magnetic extender. The V2 is significantly better designed and higher efficiency than the last, more guess and check result. I’ve also started to rewrite the servo code. Right now, its really messy and just kind of snowballed over time as I’ve slapped on patches and features to a fundamentally weak base. I’m in the progress of writing that now, hopefully it will be done soon. It will also include the new auto calibration and encoder usage and PID (and potentially advanced auto tuned curve to combat motor acceleration overshoot and backlash)"}, {"post_id": 57778, "ts": "2026-08-30T02:16:49Z", "hours": 3.8514, "text": "Working on IK System & Resoldered Joints Again Bruh so my robot arm after finally being assembled by the way exceeded it’s limits and tore its wires out. I had to take apart the mainboard assembly again, which just is SO TEDIOUS. I just dumped solder and hot glue again and fixed a short caused from another wire being sheared off. Also I’m working on the IK system, but it’s not really going well right now. I need to add offsets and config to each of the motors to get them to work correctly. The motors hooked up right now started crashing into my table sadly. Hopefully it will work soon. I also continued working on the servo case. I still haven’t added the code to calibrate and get closed loop control on the MG996R servos. The DS5180 encoders should be easier though."}, {"post_id": 57272, "ts": "2026-08-29T11:42:11Z", "hours": 3.1006, "text": "Reprinted Arm Segments; Added Segment Cover; Servo Mount Working; Working on Web UI I reprinted the arm segments, hopefully for one of the last times, I’ve went through so much filament already. It now allows the mainboard to be neatly packed inside, hiding most of it while still allowing wires to come out. Due to the design of the mainboard, the wires do have to stick out the front like that sadly. To avoid crushing wires, the servo mount has been expanded to allow more clearance for wires and general electronics. The servo mount works now with a new design. I remeasured and adjusted the sketches and added proper hole sizes and a little chamfer to allow the insert to slot in before using a soldering iron to melt it in to help align much better than before. The web UI now shows a representation of the arm. It’s not tuned yet, so the angles are wrong but I’ll fix it soon. I had to move everything from Fusion to Onshape to create the assemblies, and then use a Python library to convert the Onshape assembly into a URDF file that can be rendered with the correct joints inside ThreeJS. Next, I’ll be adding IK and general arm control."}, {"post_id": 56800, "ts": "2026-08-28T18:32:28Z", "hours": 3.1978, "text": "Heatset Inserts Working; Fixing Faulty Motor Power Connections; Internal Fan Power Connectors I verified that the servo cover works, and it’s much much better than the last version. The tolerances are much better this time, leading to less stress on the gears. The same amount of turning uses around 100mA compared to 300mA before, almost reaching it’s limit without any load. Some motor power connectors disconnected, so I found it with a multimeter and added hot glue to some connectors to secure them. I soldered the fan power things inside the PCB, but realized that the JST connectors I’m using are different from the fans. I might have to make a sort of adapter or something by crimping more wires. And the heatset inserts finally work after some tweaking, before the inserts would get misaligned when put in, now with a aligning lip thing it can be slotted in and melted in more accurately."}, {"post_id": 56316, "ts": "2026-08-28T01:34:32Z", "hours": 4.6306, "text": "New Mainboard Cover, Wiring, Bearing Revamp, Heatset Inserts, Servo Cover I added space for the mainboard segment, now it has clearance to actually fit, I redid the cover for this segment, and now it can allow the wires to come out The servo mount now has heatset inserts, because the previous screw in print kept slipping out, but this time the screws just would not go into the inserts through the mount for some reason? The screws went in normally, but with the tolerances, when multiple screws go in they just fight and push against the edge of the insert instead of going in. The MG996R servo housing now has been redesigned, based off of picture references and calipers to attempt to be more accurate than the last one to try and reduce the amount of bad tolerances affecting the gears and making them misaligned, reducing torque output. And just general wiring and CAD work."}, {"post_id": 55294, "ts": "2026-08-27T01:14:32Z", "hours": 2.9064, "text": "Assembled Basic Arm Parts and Packaged Main Board Assembly; Reprogrammed servo MCUs & worked on web UI I redid some soldering on the mainboard PCB, secured connections, and secured everything with tape for now. I’ll likely have to reprint the first arm segment to fit everything in flush because as you can see there are wires and things bulging out of the segment itself right now. I also redesigned the CAD to include heat set inserts. I did programming and a bunch of bug testing and fixing too. An hour of time was lost because Lapse errored out :((((( very sad about that :( I also had an issue with data corruption on the RS485 bus but that is fixed now, and it works like it should."}, {"post_id": 54840, "ts": "2026-08-26T00:29:08Z", "hours": 4.3236, "text": "Mainboard Stack Redo & Firmware Updates and Test Web UI I had to take the electronics out, and redo some of the wiring. The screw terminals are pretty cheap and suck, which makes it incredibly annoying to use as it’s impossible to fit these thicker AWG wires in and they sometimes slide out of the terminals. When I’m done I’m probably going to hot glue the wires. The incredibly fragile flexible extension jumpers for data transfer between the stack is also super fragile, and especially doesn’t grip. Sometimes the data wires just slip out. I took apart the arm, as during testing the motor stripped some screws. I’ve ordered some heat set inserts to prevent that from happening again, which will require me to reprint all the arm segments again. I also added a simple web UI for moving the joints. There is an empty ThreeJS sidebar and the right has some graphs (real data) from the mainboard sensors. The smaller MG996R servos haven’t been mounted yet due to a power delivery issue from the mainboard but hopefully that will be fixed soon."}, {"post_id": 28657, "ts": "2026-07-15T01:25:27Z", "hours": 4.0167, "text": "Test assembly and fitting of robot arm I am mostly done with the core functionality of the mainboard, so i packed everything together and double checked eerything works including power Then I started assembling most of the servos The smaller servo casing doesn’t fit very well, and the transparent window doesn’t fit either But the magnetic cover for the arm segments works great :) It was a lot of fitting, screwing, testing with multimeter, etc"}, {"post_id": 28409, "ts": "2026-07-14T17:26:49Z", "hours": 5.1303, "text": "Finalizing hardware I crimped and soldered almost the remaining wires, I’ve made some last redesigns to the arm CAD and I’m now fitting everything into the new prints and assembling. I’ve also had a ton of trouble with my servo PCBs lately, but I found out a lot of the issue was my programmer is actually fried somehow, so I’m now using an old RPi Pico to act as a UPDI adapter so PlatformIO can now successfully program the ATtinys much better now. A lot of the CAD was slightly tweaked so that everything fits better"}, {"post_id": 26853, "ts": "2026-07-11T21:36:43Z", "hours": 1.175, "text": "Servo firmware almost done The servo firmware now (with the mainboard) sends validation data back and forth so both the servo and mainboard can verify that the data was sent successfully and can ignore corrupted packets because my wiring can be flaky sometimes The firmware now sends real data again and is much more robust, with a proper stateful LED that shows useful information, like offline, online and driving motor, homing, error (fast flashing of LED as red), and the error state is also triggered in the case of corrupted packets (I tried it and it works :)) I’m also still printing out the pieces to assemble the arm. I actually have more hours working on it, I just forgot to log :((((((("}, {"post_id": 26218, "ts": "2026-07-10T21:40:32Z", "hours": 8.1217, "text": "Rewrote all firmware; Fixing Servo Cover and a ton of other CAD; Almost fried everything For the CAD, it doesn’t look like much changed, but I’ve basically redesigned a bunch of things and fixed tolerances and now it should move really smoothly. With the bearings added, everything moves incredibly smoothly now Especially the servo cover was annoying. I needed to attach a magnet to the shaft which was really annoying. I haven’t logged that well, I’ve done more like 15 hours of work instead of just 5 but whatever Most of those hours was the painful debugging. RS-485 busses, JSON not communcating with the PC, dropped connections, corrupted data, disconnected jumpers, FTDI programmer becoming flaky for some reason It’s just been pain :((( Now the PC (screenshot) recieves all the data and sends all the data You can see a lot (not all) of the telemetry being received. Ignore the volts though my math is wrong. Realtime connecting now works smoothly, as you can see the other RS485 servos are offline."}, {"post_id": 24091, "ts": "2026-07-07T13:11:08Z", "hours": 5.9586, "text": "Bidirectional Communication To PC/RPi 5 with LeRobot & More CAD changes I setup a basic class for my robot in LeRobot (which was a little confusing) and then I also got communication between the Pico and my PC working. Originally I have SPI pins exposed on my mainboard PCB to connect to the RPi 5’s GPIO pins, but for some reason after lots of debugging, even running it at super low speeds it just would not work. So I switched to just using serial over USB, and using the SerialTransfer library to send data more reliably. The script on the PC now can send target joint angles, and receive a lot of data back, like if the joint is online, temp, current, angle, homing sensor, home status, LED, firmware version, voltage, etc I also iterated on the CAD for everything, and it should be done soon. It’s just a bunch of tolerance fixes to make everything fit at this point and some new things like mounts for encoders and DC buck modules and fixing the CAD for the custom MG996R case."}, {"post_id": 23468, "ts": "2026-07-06T13:46:37Z", "hours": 1.9767, "text": "Mainboard and other CAD I got the mainboard to stack on top of each other with a weird jumper and two piece jumper holder and some screws setup which required some revisions and trying to get everything to fit. I’ve squeezed one of the DC buck modules into between the mainboard, and the second arm segment will hold the two remaining DC buck modules. The bottom mainboard PCB also has 2 smaller buck modules. There’s a lot of things going on with the voltages in this project due to the servos peak current draw being so large. I also refined the arm segment CAD by some reprints and made the DS5180 servo fit better. I’ve also made one of the buck module mounts for the second arm segment to fit more cleanly."}, {"post_id": 22393, "ts": "2026-07-04T21:03:02Z", "hours": 4.3272, "text": "Servo Control Working, More CAD and 3D Printing I got the mainboard to be able to control the servo on the servo PCBs. I also tested a bunch of the functions, like the magnetic sensor, neopixel LED, etc The communication now sends the PCB ID, and the target speed and the servo PCB echos it back and moves the servo. I also worked on the CAD (and refined) for the mainboard connector that will make connecting the two mainboards not a total pain. I also soldered the connectors on the mainboard PCBs for them to connect to each other."}, {"post_id": 21568, "ts": "2026-07-03T16:23:00Z", "hours": 0.4833, "text": "Servo PCB Daisy Chaining Working I plugged in the JST VH and JST 1.25mm wires into the PCBs, and they seem to work! I adjusted the message struct to hold a desired PCB sort of address or ID. When the MCU detects that the ID matches the PCB (by using the solder jumpers at the bottom of each PCB to program the PCB ID), only then it lights up the LED and replies to the main board. The mainboard now loops through IDs and sends a message and waits for a response. I’m very very happy this worked without any really big problems."}, {"post_id": 21540, "ts": "2026-07-03T15:45:12Z", "hours": 3.4667, "text": "Crimped JST VH wires, Connected JST 1.25mm wires, Soldered more PCB connectors Crimping JST VH wires is a ton easier than JST 1.25mm, and after a bunch of failed attempts still, I got some okay crimps that work finally. It took me a long time because I didn’t know that I had to rotate the wire for the hook on the terminal to go into the housing hole, and then also that the box shape part on the terminal actually has to stick out of the crimper or the crimper will crush the whole terminal into bits"}, {"post_id": 21185, "ts": "2026-07-03T00:14:50Z", "hours": 4.7722, "text": "Finished Soldering all Smaller PCBs & Got RS-485 communication working from main board to servo PCBs First, I finished soldering the PCBs. I added the connectors for power and the small data connectors. I also finished the servo expansion boards that hold the magnetic encoder and sensor. I also finished soldering the joint encoder PCBs that will track shoulder and elbow lift servo positions. I also got the bus communication to work. It was really really painful and I was really scared it wouldn’t work. First, the PCBs wouldn’t communicate at all. But eventually, I realized that it was because I wasn’t supplying 3.3V to the main board. This is when I realized that I haven’t adjusted the buck converters on the main board to supply the correct voltage, so I was about to unsolder the buck converter when I realized that I could just set the power supply to 5V (which the ICs on the mainboard can handle luckily), and then adjust the voltage down to 3.3V. But after a really long time of debugging, it still wasn’t working. The connection would sometimes work but was really flaky. Eventually, I soldered on the RPi Pico 2 onto the board completely and then found out the reason, it was because the ATtiny3216 was set to clock at a slow speed that would mess with the communication. I made them use the SerialTransfer library to send data more reliably and it now can communicate properly :)"}, {"post_id": 20354, "ts": "2026-07-01T22:40:54Z", "hours": 5.5597, "text": "Done Soldering Most PCBs, Crimped JST wires kind of I’m pretty much done soldering, I just have like 3 more tiny PCBs and I should be done. The big main board PCBs are pretty much done, I just need to make some botched tall headers since the clearance of regular headers are too small, and the servo PCBs are almost done, with just some connectors left to solder. Soldering JST 1.25mm wires ARE THE WORST EVER THING TO EVER EXIST I spent 2 hours crimping terminals on multiple wires and its so so so annoying. I can barely hold the terminal itself and they are so easy to bend. I couldn’t afford the real tool to crimp them, so I have cheap crimpers that are the wrong size and can’t technically crimp these. If crimping the metal things wasn’t bad enough, inserting the terminals into the housing was even worse. The housing would bend, or I would accidentally somehow insert it where it shorts the pin next to it??? Also while soldering a JST 1.25mm connector on a PCB, I ripped the pads clean off the PCB. I guess that one just will be missing the daisy chain feature because it only has one connector for data now and all the components and MCU are already soldered on, which really sucks. The rest of the servo PCB (4 in total for now) went fine though, and I’m getting faster at it."}, {"post_id": 18843, "ts": "2026-06-30T01:27:03Z", "hours": 4.7572, "text": "Worked on firmware & CAD & Soldered Second PCB I got the PCB and ATtiny3216 to power a servo. I soldered on the remaining components on it, like the custom LED (which just turns on when the motor is spinning for now) and the 100uF capacitor and also the RS485 bus IC. I also changed the CAD of the arm to use a bearing and changed the servo horn to fit inside of the bearing. I’ve ordered right angle headers and the bearing and metal servo horn already. I also added some transparent parts to the arm design to make it look more interesting hopefully. I also am almost done soldering the second servo PCB. Now that I have all the parts ready and I actually got better at soldering ICs I can do it faster now."}, {"post_id": 17022, "ts": "2026-06-27T17:00:47Z", "hours": 4.0433, "text": "Finally got ATtiny3216 on PCB Working This took so so long. Basically, I spent hours trying to get it to work. First, the 3.3V rail wasn’t getting power and the LED wasn’t lighting so I had to resolder the voltage regulator and then both green LEDs lit up, meaning everything was working. Then I got my FTDI programmer, and plugged it into my PCB. Because I have a FTDI programmer and the ATtiny3216 has a UPDI programming interface, there is a resistor on the board to combine the two pins into one. Even just getting megaTinyCore installed in Arduino IDE was a pain. The website that hosted the package info was down again, with an expired certificate. Apparently, this happens very often with it but I found an alternative mirror. Then I tried flashing code, and it didn’t work. Then I realized that the board type I was using was the Optiboot version, and I couldn’t find the non Optiboot version so I had to flash Optiboot onto the MCU. I did not realize that doing this would cause problems later on. I also had to switch the programmer from the one that programs Arduinos to the UPDI programmer. But I STILL couldn’t get any GPIO to work. I just tried things for hours. I switched to PlatformIO. I tried switching from C to Arduino in PlatformIO. I tried unplugging the programmer because I saw some voltage leaking from it. I tried emptying the caps and trying again. I probed every single pin to see if I wrote the wrong pin. Then after all of that, when I switched to non Optiboot (having to find online that I have to downgrade megaTinyCore), and flashing that, it works. I think it was because flashing a bootloader burns some fuses to expect a bootloader, but when I flash my code it actually overwrites the bootloader code because I don’t have access to the TX and RX pins typically used to flash when Optiboot is installed, and that just caused the code to not run."}, {"post_id": 14058, "ts": "2026-06-23T01:15:22Z", "hours": 2.3747, "text": "Soldered Smaller PCBs, Ordered Missing Parts, Continued CAD work I soldered most of the small PCBs, but now I need to order the parts I missed from the first order I placed. I’m also running out of 0.1uF caps, which sucks. I added a spot and holes for a fan on the camera mount and also some arm segment CAD improvements and back plating to hold the metal rods in. I printed out a test and it works fine. As for the PCBs, I’m still waiting for a few parts."}, {"post_id": 13444, "ts": "2026-06-22T00:49:23Z", "hours": 2.6311, "text": "Continued Soldering PCB (Diodes/LEDs, power circuitry, etc) and worked on arm CAD. For the PCB, after some time, I got the power switching circuit to output power. It’s a collection of things that I hope will make it safer, with a some diodes and a fuse, some MOSFETs, so the main MCU can command to send power, and also another stage that requires the E-STOP to not be pressed to actually be able to send power through with two MOSFETs (one main power, another switch the main MOSFET). I added a fan to the global shutter main wrist camera since it gets hot, and added a new “head” to the arm segment CAD (the heads are swappable depending on what you need to print) for the smaller motor for the last DOFs in the arm. It fits my custom daisy chaining two part PCB hat for the MG996R to give it current, temp, power sensing, and daisy chaining power and data via a RS485 bus with an onboard MCU to provide communication and control. I added some holes for airflow for this PCB. I also added some screw holes to actually connect the halves of the arm together."}, {"post_id": 12830, "ts": "2026-06-21T00:22:41Z", "hours": 1.6036, "text": "Continued Soldering and Working on CAD I snapped some headers and soldered on some more ICs on the PCBs. I did also mess up and ordered a wrong footprint for a part, so now I have to delay that too. It’s so tiny I can barely see the pins. I also worked on the CAD, where I designed the stereo camera holder, added a spot for the RPi 5 to go on top, and maybe a display. I also made a V2 of my grabber since the old one didn’t work well. It also seems that Stardance isn’t syncing my time properly, and it’s missing a few hours so that’s annoying :("}, {"post_id": 12281, "ts": "2026-06-20T01:43:23Z", "hours": 5.3406, "text": "I soldered some parts on the PCB, and worked on the CAD files some more I did realize that I forgot some parts, so I ordered them on DigiKey. I’ll continue soldering the rest tomorrow. One of the parts was the LDO, which I only found out because I soldered the parts and realized that the voltage being put on the 3.3V rail is 5V My project needs both versions of the same LDO and I only bought the 5V one I also bought the wrong resistors. I’ve ordered them and they should arrive in a week or so. My design of stacking the PCBs and then adding the buck modules in the middle might be very challenging, and I might need to stack multiple headers on top of each other to fit the modules inside. Hopefully it will still fit inside my arm segment and not short anything. There also needs to be sufficient airflow, which is def a challenge"}, {"post_id": 10584, "ts": "2026-06-17T12:06:26Z", "hours": 1.8508, "text": "Added Bottom Reinforcements with holes for magnets and wiring Added Fans and airflow holes And just fixed and refined the CAD, like adding spots for magnetic attached front and back plates and more"}]...
|
Title: revo by @ratmuds | Stardance
Devlogs:
Adde Title: revo by @ratmuds | Stardance
Devlogs:
Added Bottom Reinforcements with holes for magnets and wiring Added Fans and airflow holes And just fixed and refined the CAD, like adding spots for magnetic attached front and back plates and more
I soldered some parts on the PCB, and worked on the CAD files some more I did realize that I forgot some parts, so I ordered them on DigiKey. I’ll continue soldering the rest tomorrow. One of the parts was the LDO, which I only found out because I soldered the parts and realized that the voltage being put on the 3.3V rail is 5V My project needs both versions of the same LDO and I only bought the 5V one I also bought the wrong resistors. I’ve ordered them and they should arrive in a week or so. My design of stacking the PCBs and then adding the buck modules in the middle might be very challenging, and I might need to stack multiple headers on top of each other to fit the modules inside. Hopefully it will still fit inside my arm segment and not short anything. There also needs to be sufficient airflow, which is def a challenge
Continued Soldering and Working on CAD I snapped some headers and soldered on some more ICs on the PCBs. I did also mess up and ordered a wrong footprint for a part, so now I have to delay that too. It’s so tiny I can barely see the pins. I also worked on the CAD, where I designed the stereo camera holder, added a spot for the RPi 5 to go on top, and maybe a display. I also made a V2 of my grabber since the old one didn’t work well. It also seems that Stardance isn’t syncing my time properly, and it’s missing a few hours so that’s annoying :(
Continued Soldering PCB (Diodes/LEDs, power circuitry, etc) and worked on arm CAD. For the PCB, after some time, I got the power switching circuit to output power. It’s a collection of things that I hope will make it safer, with a some diodes and a fuse, some MOSFETs, so the main MCU can command to send power, and also another stage that requires the E-STOP to not be pressed to actually be able to send power through with two MOSFETs (one main power, another switch the main MOSFET). I added a fan to the global shutter main wrist camera since it gets hot, and added a new “head” to the arm segment CAD (the heads are swappable depending on what you need to print) for the smaller motor for the last DOFs in the arm. It fits my custom daisy chaining two part PCB hat for the MG996R to give it current, temp, power sensing, and daisy chaining power and data via a RS485 bus with an onboard MCU to provide communication and control. I added some holes for airflow for this PCB. I also added some screw holes to actually connect the halves of the arm together.
Soldered Smaller PCBs, Ordered Missing Parts, Continued CAD work I soldered most of the small PCBs, but now I need to order the parts I missed from the first order I placed. I’m also running out of 0.1uF caps, which sucks. I added a spot and holes for a fan on the camera mount and also some arm segment CAD improvements and back plating to hold the metal rods in. I printed out a test and it works fine. As for the PCBs, I’m still waiting for a few parts.
Finally got ATtiny3216 on PCB Working This took so so long. Basically, I spent hours trying to get it to work. First, the 3.3V rail wasn’t getting power and the LED wasn’t lighting so I had to resolder the voltage regulator and then both green LEDs lit up, meaning everything was working. Then I got my FTDI programmer, and plugged it into my PCB. Because I have a FTDI programmer and the ATtiny3216 has a UPDI programming interface, there is a resistor on the board to combine the two pins into one. Even just getting megaTinyCore installed in Arduino IDE was a pain. The website that hosted the package info was down again, with an expired certificate. Apparently, this happens very often with it but I found an alternative mirror. Then I tried flashing code, and it didn’t work. Then I realized that the board type I was using was the Optiboot version, and I couldn’t find the non Optiboot version so I had to flash Optiboot onto the MCU. I did not realize that doing this would cause problems later on. I also had to switch the programmer from the one that programs Arduinos to the UPDI programmer. But I STILL couldn’t get any GPIO to work. I just tried things for hours. I switched to PlatformIO. I tried switching from C to Arduino in PlatformIO. I tried unplugging the programmer because I saw some voltage leaking from it. I tried emptying the caps and trying again. I probed every single pin to see if I wrote the wrong pin. Then after all of that, when I switched to non Optiboot (having to find online that I have to downgrade megaTinyCore), and flashing that, it works. I think it was because flashing a bootloader burns some fuses to expect a bootloader, but when I flash my code it actually overwrites the bootloader code because I don’t have access to the TX and RX pins typically used to flash when Optiboot is installed, and that just caused the code to not run.
Worked on firmware & CAD & Soldered Second PCB I got the PCB and ATtiny3216 to power a servo. I soldered on the remaining components on it, like the custom LED (which just turns on when the motor is spinning for now) and the 100uF capacitor and also the RS485 bus IC. I also changed the CAD of the arm to use a bearing and changed the servo horn to fit inside of the bearing. I’ve ordered right angle headers and the bearing and metal servo horn already. I also added some transparent parts to the arm design to make it look more interesting hopefully. I also am almost done soldering the second servo PCB. Now that I have all the parts ready and I actually got better at soldering ICs I can do it faster now.
Done Soldering Most PCBs, Crimped JST wires kind of I’m pretty much done soldering, I just have like 3 more tiny PCBs and I should be done. The big main board PCBs are pretty much done, I just need to make some botched tall headers since the clearance of regular headers are too small, and the servo PCBs are almost done, with just some connectors left to solder. Soldering JST 1.25mm wires ARE THE WORST EVER THING TO EVER EXIST I spent 2 hours crimping terminals on multiple wires and its so so so annoying. I can barely hold the terminal itself and they are so easy to bend. I couldn’t afford the real tool to crimp them, so I have cheap crimpers that are the wrong size and can’t technically crimp these. If crimping the metal things wasn’t bad enough, inserting the terminals into the housing was even worse. The housing would bend, or I would accidentally somehow insert it where it shorts the pin next to it??? Also while soldering a JST 1.25mm connector on a PCB, I ripped the pads clean off the PCB. I guess that one just will be missing the daisy chain feature because it only has one connector for data now and all the components and MCU are already soldered on, which really sucks. The rest of the servo PCB (4 in total for now) went fine though, and I’m getting faster at it.
Finished Soldering all Smaller PCBs & Got RS-485 communication working from main board to servo PCBs First, I finished soldering the PCBs. I added the connectors for power and the small data connectors. I also finished the servo expansion boards that hold the magnetic encoder and sensor. I also finished soldering the joint encoder PCBs that will track shoulder and elbow lift servo positions. I also got the bus communication to work. It was really really painful and I was really scared it wouldn’t work. First, the PCBs wouldn’t communicate at all. But eventually, I realized that it was because I wasn’t supplying 3.3V to the main board. This is when I realized that I haven’t adjusted the buck converters on the main board to supply the correct voltage, so I was about to unsolder the buck converter when I realized that I could just set the power supply to 5V (which the ICs on the mainboard can handle luckily), and then adjust the voltage down to 3.3V. But after a really long time of debugging, it still wasn’t working. The connection would sometimes work but was really flaky. Eventually, I soldered on the RPi Pico 2 onto the board completely and then found out the reason, it was because the ATtiny3216 was set to clock at a slow speed that would mess with the communication. I made them use the SerialTransfer library to send data more reliably and it now can communicate properly :)
Crimped JST VH wires, Connected JST 1.25mm wires, Soldered more PCB connectors Crimping JST VH wires is a ton easier than JST 1.25mm, and after a bunch of failed attempts still, I got some okay crimps that work finally. It took me a long time because I didn’t know that I had to rotate the wire for the hook on the terminal to go into the housing hole, and then also that the box shape part on the terminal actually has to stick out of the crimper or the crimper will crush the whole terminal into bits
Servo PCB Daisy Chaining Working I plugged in the JST VH and JST 1.25mm wires into the PCBs, and they seem to work! I adjusted the message struct to hold a desired PCB sort of address or ID. When the MCU detects that the ID matches the PCB (by using the solder jumpers at the bottom of each PCB to program the PCB ID), only then it lights up the LED and replies to the main board. The mainboard now loops through IDs and sends a message and waits for a response. I’m very very happy this worked without any really big problems.
Servo Control Working, More CAD and 3D Printing I got the mainboard to be able to control the servo on the servo PCBs. I also tested a bunch of the functions, like the magnetic sensor, neopixel LED, etc The communication now sends the PCB ID, and the target speed and the servo PCB echos it back and moves the servo. I also worked on the CAD (and refined) for the mainboard connector that will make connecting the two mainboards not a total pain. I also soldered the connectors on the mainboard PCBs for them to connect to each other.
Mainboard and other CAD I got the mainboard to stack on top of each other with a weird jumper and two piece jumper holder and some screws setup which required some revisions and trying to get everything to fit. I’ve squeezed one of the DC buck modules into between the mainboard, and the second arm segment will hold the two remaining DC buck modules. The bottom mainboard PCB also has 2 smaller buck modules. There’s a lot of things going on with the voltages in this project due to the servos peak current draw being so large. I also refined the arm segment CAD by some reprints and made the DS5180 servo fit better. I’ve also made one of the buck module mounts for the second arm segment to fit more cleanly.
Bidirectional Communication To PC/RPi 5 with LeRobot & More CAD changes I setup a basic class for my robot in LeRobot (which was a little confusing) and then I also got communication between the Pico and my PC working. Originally I have SPI pins exposed on my mainboard PCB to connect to the RPi 5’s GPIO pins, but for some reason after lots of debugging, even running it at super low speeds it just would not work. So I switched to just using serial over USB, and using the SerialTransfer library to send data more reliably. The script on the PC now can send target joint angles, and receive a lot of data back, like if the joint is online, temp, current, angle, homing sensor, home status, LED, firmware version, voltage, etc I also iterated on the CAD for everything, and it should be done soon. It’s just a bunch of tolerance fixes to make everything fit at this point and some new things like mounts for encoders and DC buck modules and fixing the CAD for the custom MG996R case.
Rewrote all firmware; Fixing Servo Cover and a ton of other CAD; Almost fried everything For the CAD, it doesn’t look like much changed, but I’ve basically redesigned a bunch of things and fixed tolerances and now it should move really smoothly. With the bearings added, everything moves incredibly smoothly now Especially the servo cover was annoying. I needed to attach a magnet to the shaft which was really annoying. I haven’t logged that well, I’ve done more like 15 hours of work instead of just 5 but whatever Most of those hours was the painful debugging. RS-485 busses, JSON not communcating with the PC, dropped connections, corrupted data, disconnected jumpers, FTDI programmer becoming flaky for some reason It’s just been pain :((( Now the PC (screenshot) recieves all the data and sends all the data You can see a lot (not all) of the telemetry being received. Ignore the volts though my math is wrong. Realtime connecting now works smoothly, as you can see the other RS485 servos are offline.
Servo firmware almost done The servo firmware now (with the mainboard) sends validation data back and forth so both the servo and mainboard can verify that the data was sent successfully and can ignore corrupted packets because my wiring can be flaky sometimes The firmware now sends real data again and is much more robust, with a proper stateful LED that shows useful information, like offline, online and driving motor, homing, error (fast flashing of LED as red), and the error state is also triggered in the case of corrupted packets (I tried it and it works :)) I’m also still printing out the pieces to assemble the arm. I actually have more hours working on it, I just forgot to log :(((((((
Finalizing hardware I crimped and soldered almost the remaining wires, I’ve made some last redesigns to the arm CAD and I’m now fitting everything into the new prints and assembling. I’ve also had a ton of trouble with my servo PCBs lately, but I found out a lot of the issue was my programmer is actually fried somehow, so I’m now using an old RPi Pico to act as a UPDI adapter so PlatformIO can now successfully program the ATtinys much better now. A lot of the CAD was slightly tweaked so that everything fits better
Test assembly and fitting of robot arm I am mostly done with the core functionality of the mainboard, so i packed everything together and double checked eerything works including power Then I started assembling most of the servos The smaller servo casing doesn’t fit very well, and the transparent window doesn’t fit either But the magnetic cover for the arm segments works great :) It was a lot of fitting, screwing, testing with multimeter, etc
Mainboard Stack Redo & Firmware Updates and Test Web UI I had to take the electronics out, and redo some of the wiring. The screw terminals are pretty cheap and suck, which makes it incredibly annoying to use as it’s impossible to fit these thicker AWG wires in and they sometimes slide out of the terminals. When I’m done I’m probably going to hot glue the wires. The incredibly fragile flexible extension jumpers for data transfer between the stack is also super fragile, and especially doesn’t grip. Sometimes the data wires just slip out. I took apart the arm, as during testing the motor stripped some screws. I’ve ordered some heat set inserts to prevent that from happening again, which will require me to reprint all the arm segments again. I also added a simple web UI for moving the joints. There is an empty ThreeJS sidebar and the right has some graphs (real data) from the mainboard sensors. The smaller MG996R servos haven’t been mounted yet due to a power delivery issue from the mainboard but hopefully that will be fixed soon.
Assembled Basic Arm Parts and Packaged Main Board Assembly; Reprogrammed servo MCUs & worked on web UI I redid some soldering on the mainboard PCB, secured connections, and secured everything with tape for now. I’ll likely have to reprint the first arm segment to fit everything in flush because as you can see there are wires and things bulging out of the segment itself right now. I also redesigned the CAD to include heat set inserts. I did programming and a bunch of bug testing and fixing too. An hour of time was lost because Lapse errored out :((((( very sad about that :( I also had an issue with data corruption on the RS485 bus but that is fixed now, and it works like it should.
New Mainboard Cover, Wiring, Bearing Revamp, Heatset Inserts, Servo Cover I added space for the mainboard segment, now it has clearance to actually fit, I redid the cover for this segment, and now it can allow the wires to come out The servo mount now has heatset inserts, because the previous screw in print kept slipping out, but this time the screws just would not go into the inserts through the mount for some reason? The screws went in normally, but with the tolerances, when multiple screws go in they just fight and push against the edge of the insert instead of going in. The MG996R servo housing now has been redesigned, based off of picture references and calipers to attempt to be more accurate than the last one to try and reduce the amount of bad tolerances affecting the gears and making them misaligned, reducing torque output. And just general wiring and CAD work.
Heatset Inserts Working; Fixing Faulty Motor Power Connections; Internal Fan Power Connectors I verified that the servo cover works, and it’s much much better than the last version. The tolerances are much better this time, leading to less stress on the gears. The same amount of turning uses around 100mA compared to 300mA before, almost reaching it’s limit without any load. Some motor power connectors disconnected, so I found it with a multimeter and added hot glue to some connectors to secure them. I soldered the fan power things inside the PCB, but realized that the JST connectors I’m using are different from the fans. I might have to make a sort of adapter or something by crimping more wires. And the heatset inserts finally work after some tweaking, before the inserts would get misaligned when put in, now with a aligning lip thing it can be slotted in and melted in more accurately.
Reprinted Arm Segments; Added Segment Cover; Servo Mount Working; Working on Web UI I reprinted the arm segments, hopefully for one of the last times, I’ve went through so much filament already. It now allows the mainboard to be neatly packed inside, hiding most of it while still allowing wires to come out. Due to the design of the mainboard, the wires do have to stick out the front like that sadly. To avoid crushing wires, the servo mount has been expanded to allow more clearance for wires and general electronics. The servo mount works now with a new design. I remeasured and adjusted the sketches and added proper hole sizes and a little chamfer to allow the insert to slot in before using a soldering iron to melt it in to help align much better than before. The web UI now shows a representation of the arm. It’s not tuned yet, so the angles are wrong but I’ll fix it soon. I had to move everything from Fusion to Onshape to create the assemblies, and then use a Python library to convert the Onshape assembly into a URDF file that can be rendered with the correct joints inside ThreeJS. Next, I’ll be adding IK and general arm control.
Working on IK System & Resoldered Joints Again Bruh so my robot arm after finally being assembled by the way exceeded it’s limits and tore its wires out. I had to take apart the mainboard assembly again, which just is SO TEDIOUS. I just dumped solder and hot glue again and fixed a short caused from another wire being sheared off. Also I’m working on the IK system, but it’s not really going well right now. I need to add offsets and config to each of the motors to get them to work correctly. The motors hooked up right now started crashing into my table sadly. Hopefully it will work soon. I also continued working on the servo case. I still haven’t added the code to calibrate and get closed loop control on the MG996R servos. The DS5180 encoders should be easier though.
V2 Servo Case Working; Servo Code Revamp WIP After around 10 more revisions, the new servo case is fully working with the magnetic extender. The V2 is significantly better designed and higher efficiency than the last, more guess and check result. I’ve also started to rewrite the servo code. Right now, its really messy and just kind of snowballed over time as I’ve slapped on patches and features to a fundamentally weak base. I’m in the progress of writing that now, hopefully it will be done soon. It will also include the new auto calibration and encoder usage and PID (and potentially advanced auto tuned curve to combat motor acceleration overshoot and backlash)
Servo Code I did some slight refining to the servo case again, making the tolerances tighter to keep the gears from wobbling. It’s still sort of loose, so I need to just keep trying over and over again. I’m also still writing the servo code. It’s already much more organized than before. I’m also learning Vim keybinds and stuff to try and code faster. The RS485 bus communication works now, and it’s just sending dummy telemetry data back right now. It can also control the servo fine. I’ve just been doing like the lower level architecting I guess, or not really I’m not sure. Before everything was crammed into a single file and now there’s actually header files and multiple source files and it’s actually somewhat readable. I had an issue with LED control for a second but that’s fixed now :)
MG996Rs Finally Working The servos finally work. I don’t even think this amount of hours logged is equal to how long this took, because I just got tired of it. I think I printed like 20 new revisions of the case and servo mount. It was just so so annoying. While the general case worked, getting a reliable magnet output shaft was impossible. From tolerances, to my own errors to binding to hot glue getting everywhere, or superglue binding random gears, or my getting my fingers stuck to the actual case from superglue (was not fun and hurt) The case finally works. And the prototype code somewhat works too. It basically rotates until the sensor hits zero, it resets the “ticks”. A tick is a raw output from the AS5600. Because this magnet shaft spins faster than the output shaft, like 10x faster, the MCU needs to poll the sensor super quickly, which also needed some optimizations to clear the blocking bus communication wait that would let the magnet skip multiple full turns. The sensor doesn’t internally count turns so we just need to count manually and detect when it jumps from 4096-0 or the other way around. It then spins around until the sensor is hit AGAIN to calculate tick to degrees, assuming the sensor was zeroed before, and then the current ticks would equal 360 degrees. Another problem was the servo needs a PWM signal to move. The threshold from stop to go is pretty garbage on these cheap servos, leading it to spin quite fast already when at the lowest PWM value. Instead when far from the value it increases the PWM signal, closer it brings to minimum and starts linearly flickering the PWM signal from 0 to the speed, with the closer it is the more ratio of time stopped to inch it closer to the target. It actually surprisingly works. It’s very fragile though, any skipped reads, from potentially slow bus transfers would completely throw it off, so all the code running locally on the weak 8 bit MCU needs to be extremely lightweight. Yeah this was super super painful. I’ve been sitting here redoing superglue and code for hours.
Debugging and Fixing Is Killing Me and the Mainboard Exploded :( I have spent SO many hours trying to get this to work. It’s so annoying. This isn’t near how many hours I spent, I’ve been too frustrated to log it. The case is incredibly annoying. Getting the initial case works fine. Doing all of this stuff makes it complicated and break and jam up. The RS485 busses just randomly stop working. The servo output is wiggly and not stable. A PCB header snapped and I didn’t have replacements so I had to bodge solder it back on. The mainboard voltage regulator literally exploded. It was a cheap part but yeah that literally just broke stuff. Fixes to everything. CAD. Firmware. bruh
Dashboard Revamp WIP, Tons of CAD changes, Code Updates, Tolerances I’ve just been refining everything and it’s just going really slowly. Many problems. Magnets shorting out stuff. Magnet too far and not being detected. Wires breaking. I’ve also redesigned the dashboard UI to hopefully look better. I’m still working on it, hopefully it will look more polished later. The dashboard It shows a load speedometer type thing, with the load (max current from a motor out of 500mA) and the temp on the right (for now just dummy value) The motors have cool little animations now too and look less cluttered. I’ve just been working on it a lot. Just everything in general tbh.
Assembled last 4 DoF for Integrated Test I assembled the MG996R servos in a test piece that will represent the full regular arm segment to test if everything worked. With some fiddling it worked. As you can see there’s more transparent pieces. The pieces that connect the previous joint are transparent to show the Neopixel below it a lot better as before the LED was almost completely occluded. The bright green LEDs power status ones are too bright but I can cover them later.
Significantly Better Motor Control and Gripper CAD The motor code was getting a bit messy, so I rewrote it. I separated the motor code from the main control code which cleaned it up a bit. LADRC I’m using LADRC now. It’s kind of like PID, but advanced. I took the implementation from online. I feed it the motor current, encoder value, and the target and it goes. The algorithm or whatever somehow calculates the velocity of the motor and how much “effort” it’s using and then gives an effort to put to the motor. It somehow cancels out like disturbances like gravity, backlash, the general physics, etc. As you can see, the motor control is so so so much better than before. It cleanly decelerates. It handles load and dynamically increases effort. Before there was some oscillation because it just couldn’t figure out how to get to the target, this one is just so much better and so hands off. There’s basically like no calibration as it does it over time :)))
Assembled Full Arm (not all motors active yet for safety) and Basic Interpolation for Control I assembled the new full arm assembly minus the end effector and didn’t plug in the first two motors as they have the highest chance of doing something really bad. I also made some general changes to the code and also added a flag to some motors to interpolate their movement slowly to not explode the robot arm while controlling it.
Fixed Broken Magnet, Redoing all IK joint data and offsets, Stereo depth test An encoder magnet broke off, so I had to disassemble and reassemble the top half of the arm to get to the encoder magnet and glue it back on. I also started properly punching in the IK joint data, before it was mostly just random data but now almost all of the data is mostly correct, and I’m waiting for a print to complete that will flip a motor to finally get the IK simulation matching with real life and have the IK endpoint be tracked at the tip of the gripper. It was a lot of trial and error and measurements. I also started experimenting with adding depth estimation. Eventually this could add collision avoidance IK pathfinding, which would be really cool but it’s just a pointcloud in the render right now. But the robot arm is slowly coming together finally! I’ll be able to grab something soon I think.
Integration Hell I’ve just been like trying to get this stupid project to work. Screws keep falling out, the IK keeps failing, things are hitting each other and wires are being strained I’m in integration hell. Everything works fine on its own, but combining everything is horrible. I’ve been reassembling and trying to fix this stupid thing for so long. Anyway I’ve went through a few more revisions of some CAD and some more refinements and the gripper and camera is now mounted but this is just incredibly incredibly annoying :((((
Setup VR and Gripper, Robot Rapidly Disassembles my robot arm is broken I setup VR and fixed some more IK when I go into VR and try playing around, it instantly flies out and throws itself off the table and breaks into pieces. This is going to be fun to fix.
Finish Project Up :) I wrote a ton in the repository im tired :( https://github.com/ratmuds/revo
Ships:
I wanted to make a robot arm that punched above it’s weight. The price is pretty similar to smaller robot arms on Amazon that may not include cameras, which would need to be purchased seperately. The way this is achieved by using cheap servos, servos that are 100% NOT made for this purpose, and adding most of the functionality of a smart servo back by using a TON of PCBs. It was a lot of soldering. I just wanted to make something that had more features for less money :) This project was SUPER difficult for me, and pushed my limits a bit. The amount of tolerences especially for the stupid custom motor case and magnet and PCBs and the crazy mainboard and generally having everything play well together took so long, I had many days where I quit frustrated. I’m very happy about how it turned out though, even seeing the lots of shortcomings it has....
|
1793350237.982681
|
1793436637.982681
|
|
9617
|
Untitled project by @keshavtoshniwal100 | Stardanc Untitled project by @keshavtoshniwal100 | Stardance...
|
keshavtoshniwal100
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled project by @keshavtoshniwal100 | S Title: Untitled project by @keshavtoshniwal100 | Stardance...
|
1792784977.5662124
|
1793389777.5662124
|
|
9618
|
Hackatrack by @Drew_Fitzgerald | Stardance
|
Drew_Fitzgerald
|
0
|
14.12
|
0
|
[]
|
[{"post_id": 36892, "ts": "202 [{"post_id": 36892, "ts": "2026-07-29T08:29:43Z", "hours": 0.3419, "text": "It’s perfect first try, they say. It wasn’t, but that’s fine, we can fix it. Welp I forgot to add some pullup resistors on IO2, IO3 and the boot button, no worries I can do it myself. In the pcb I have added the resistors, obviously that’s not going to magically make it’s way to the real board, and the traces won’t do that either, it’s just a plan. So I have soldered on the resistors myself to the board. I also forgot to add a decoupling resistor to the GPS, so I’ve added that to the PCB as well, I haven’t soldered it on yet as I’m still deciding how, I think I’m going to solder it onto the test pads. I also had to do a botch trace removal to remove a short on the GPS so I’m hoping I didn’t kill it."}, {"post_id": 33957, "ts": "2026-07-24T09:55:15Z", "hours": 1.9161, "text": "The PCB arrived. Actually that happened a while ago, but I only got some solder to fix my mistakes and solder extra resistors today. I’ve made a few changes to the firmware just to make things work. And so far the I2C gpio expander works perfectly. I still need fix my lack of a decoupling capacitor on the GPS so it works but that should be it."}, {"post_id": 29346, "ts": "2026-07-16T07:12:25Z", "hours": 3.9833, "text": "In the firmware, we’ve added exercise starting, we’ve started using the display, very very early, we’ve added the haversine formula allowing us to calculate the distance between two points. We’ve added calculation of all things needed for the exercise details and freeing the exercise in memory after being finished (still no storing it in the ESP32 EEPROM)."}, {"post_id": 27074, "ts": "2026-07-12T09:27:46Z", "hours": 1.9314, "text": "Welp I’ve done a bit. I made exercise.h. This header file contains the exercise and exercise point types, used to define an exercise and a location and time at a point to that exercise. Each point which contains a location and time is stored in a linked list array. I have chosen to use a linked list array so that I don’t have to set predefined limits on the size of each array, the only downside being I have to manage all the memory manually. I also added the function to add to the linked list in the exercise. To reduce time complexity from O(n) to O(1) I have changed the way the linked list works adding in a last pointer. This points to the last object in the linked list and is very useful for adding to the linked list as we don’t need to cycle through every object in said list. Although, I have included a fallback in case exercise->last is null meaning the last variable isn’t set which is O(n). I have also made the code to add points to the linked list every time the GPS detects your location changing (eg. around 15hz). I have also added the code to setup I2C for the PCF extension board, and written the code to read and write to and from it. Now the reason I need a PCF extension board was because of a slight oversight when designing the PCB. I forgot to add GPIO onto the PCB for buttons, so I needed to find a solution."}, {"post_id": 20672, "ts": "2026-07-02T10:14:51Z", "hours": 2.9269, "text": "Started working on the firmware for the ESP32. Because I’m using ESP IDF I’m writing in C, my favorite language. I added TinyGPSPlus as to the project but I needed to write a wrapper for it. I needed to write a wrapper for it because it was in C++ and when I included the header for it the C compiler didn’t know what to do. So if I use a wrapper to talk between the firmware and TinyGPSPlus then the C compiler won’t complain about the header file being for C++. I also made it so that the ESP32 will automatically sync the system time with the time provided by the GPS. I also rendered the case properly using fusion 360’s renderer."}, {"post_id": 15981, "ts": "2026-06-25T23:10:52Z", "hours": 0.8736, "text": "I added headers on the PCB to add an oled display. And a voltage divider connected to IO6 to measure battery voltage."}, {"post_id": 14984, "ts": "2026-06-24T10:27:29Z", "hours": 0.6894, "text": "I started building the web ui. Right now I’ve made the login page which you will redirect to if you’ve not logged in. In order to check if your logged in I’ve made a session manager."}, {"post_id": 14307, "ts": "2026-06-23T11:55:05Z", "hours": 0.6231, "text": "Case, Full pcb and schematic, So I um didn’t track all the time, it’s really hard to track time in kicad and fusion as there’s no adherent hackatime plugin. So lots of time is missing. However I’ve made a pcb and schematic and created a case."}, {"post_id": 11160, "ts": "2026-06-18T07:47:19Z", "hours": 0.8339, "text": "We’ve made a TP4056 BMS in the schematic"}]...
|
Title: Hackatrack by @Drew_Fitzgerald | Stardance
Title: Hackatrack by @Drew_Fitzgerald | Stardance
Devlogs:
We’ve made a TP4056 BMS in the schematic
Case, Full pcb and schematic, So I um didn’t track all the time, it’s really hard to track time in kicad and fusion as there’s no adherent hackatime plugin. So lots of time is missing. However I’ve made a pcb and schematic and created a case.
I started building the web ui. Right now I’ve made the login page which you will redirect to if you’ve not logged in. In order to check if your logged in I’ve made a session manager.
I added headers on the PCB to add an oled display. And a voltage divider connected to IO6 to measure battery voltage.
Started working on the firmware for the ESP32. Because I’m using ESP IDF I’m writing in C, my favorite language. I added TinyGPSPlus as to the project but I needed to write a wrapper for it. I needed to write a wrapper for it because it was in C++ and when I included the header for it the C compiler didn’t know what to do. So if I use a wrapper to talk between the firmware and TinyGPSPlus then the C compiler won’t complain about the header file being for C++. I also made it so that the ESP32 will automatically sync the system time with the time provided by the GPS. I also rendered the case properly using fusion 360’s renderer.
Welp I’ve done a bit. I made exercise.h. This header file contains the exercise and exercise point types, used to define an exercise and a location and time at a point to that exercise. Each point which contains a location and time is stored in a linked list array. I have chosen to use a linked list array so that I don’t have to set predefined limits on the size of each array, the only downside being I have to manage all the memory manually. I also added the function to add to the linked list in the exercise. To reduce time complexity from O(n) to O(1) I have changed the way the linked list works adding in a last pointer. This points to the last object in the linked list and is very useful for adding to the linked list as we don’t need to cycle through every object in said list. Although, I have included a fallback in case exercise->last is null meaning the last variable isn’t set which is O(n). I have also made the code to add points to the linked list every time the GPS detects your location changing (eg. around 15hz). I have also added the code to setup I2C for the PCF extension board, and written the code to read and write to and from it. Now the reason I need a PCF extension board was because of a slight oversight when designing the PCB. I forgot to add GPIO onto the PCB for buttons, so I needed to find a solution.
In the firmware, we’ve added exercise starting, we’ve started using the display, very very early, we’ve added the haversine formula allowing us to calculate the distance between two points. We’ve added calculation of all things needed for the exercise details and freeing the exercise in memory after being finished (still no storing it in the ESP32 EEPROM).
The PCB arrived. Actually that happened a while ago, but I only got some solder to fix my mistakes and solder extra resistors today. I’ve made a few changes to the firmware just to make things work. And so far the I2C gpio expander works perfectly. I still need fix my lack of a decoupling capacitor on the GPS so it works but that should be it.
It’s perfect first try, they say. It wasn’t, but that’s fine, we can fix it. Welp I forgot to add some pullup resistors on IO2, IO3 and the boot button, no worries I can do it myself. In the pcb I have added the resistors, obviously that’s not going to magically make it’s way to the real board, and the traces won’t do that either, it’s just a plan. So I have soldered on the resistors myself to the board. I also forgot to add a decoupling resistor to the GPS, so I’ve added that to the PCB as well, I haven’t soldered it on yet as I’m still deciding how, I think I’m going to solder it onto the test pads. I also had to do a botch trace removal to remove a short on the GPS so I’m hoping I didn’t kill it....
|
1792756220.4938326
|
1793361020.4938326
|
|
9619
|
homedir by @virajshoor | Stardance
|
virajshoor
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: homedir by @virajshoor | Stardance
|
1793307459.554182
|
1793912259.554182
|
|
9620
|
Macropad? by @Phertea | Stardance
|
Phertea
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Macropad? by @Phertea | Stardance
|
1792734658.3266819
|
1793339458.3266819
|
|
9621
|
Isles by @derped1 | Stardance
|
derped1
|
1
|
4.0
|
10
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-15T19:19:36Z", "hours": 4.0, "multiplier": 2.57, "payout": 10, "blessing": "neutral", "text": "Isles is a small Minecraft plugin I made that generates Skyblock-style islands in a grid, with each player getting their own island. I built it for my SMP because I wanted something my friends and I could play for about a week that felt more interesting than starting another normal vanilla world. I’m honestly proud that it lasted that long, because most of my friends are not as into Minecraft anymore. Even though the plugin is simple, it created a good social environment where people could hang out, trade, bridge to each other, and actually interact instead of everyone splitting off and doing their own thing. The hardest part was probably figuring out island placement. I had to find a good middle ground where the islands were far enough apart to feel separate, but not so far that bridging to friends became annoying. That decision ended up mattering a lot because the whole point of Isles is that every island exists in the same physical world, with a center island connecting everything together. What makes Isles different from normal Skyblock is that it is not just a bunch of isolated islands. Everyone is still in the same world, so you can visit your friends, trade with them, and build connections between islands. My favorite part was not really one specific feature, but just seeing the server turn into a place where my friends could mess around together for a week. I would rather people try Isles with their own friends before voting on it instead of just upvoting or downvoting blindly. It is meant to be judged by how it feels to play socially, not just by looking at the code or the idea from the outside.", "repo": "https://github.com/Derpedyea/Isles", "demo": "https://modrinth.com/plugin/isles"}]...
|
[{"post_id": 9370, "ts": "2026 [{"post_id": 9370, "ts": "2026-06-15T18:26:40Z", "hours": 3.0722, "text": "I made some more changes but it was a while ago so I don’t remember exactly. I made a little wiki and the project is basically done as the server is over so I’m going to ship it. I also made gravel obtainable in the center to allow for more dirt."}, {"post_id": 3444, "ts": "2026-06-06T11:53:10Z", "hours": 0.8689, "text": "I made the basic plugin it has islands that generate in a grid around the center which is an array of “asteroids” with resources that players can pvp and bridge too."}]...
|
Title: Isles by @derped1 | Stardance
Devlogs:
I m Title: Isles by @derped1 | Stardance
Devlogs:
I made the basic plugin it has islands that generate in a grid around the center which is an array of “asteroids” with resources that players can pvp and bridge too.
I made some more changes but it was a while ago so I don’t remember exactly. I made a little wiki and the project is basically done as the server is over so I’m going to ship it. I also made gravel obtainable in the center to allow for more dirt.
Ships:
Isles is a small Minecraft plugin I made that generates Skyblock-style islands in a grid, with each player getting their own island. I built it for my SMP because I wanted something my friends and I could play for about a week that felt more interesting than starting another normal vanilla world. I’m honestly proud that it lasted that long, because most of my friends are not as into Minecraft anymore. Even though the plugin is simple, it created a good social environment where people could hang out, trade, bridge to each other, and actually interact instead of everyone splitting off and doing their own thing. The hardest part was probably figuring out island placement. I had to find a good middle ground where the islands were far enough apart to feel separate, but not so far that bridging to friends became annoying. That decision ended up mattering a lot because the whole point of Isles is that every island exists in the same physical world, with a center island connecting everything together. What makes Isles different from normal Skyblock is that it is not just a bunch of isolated islands. Everyone is still in the same world, so you can visit your friends, trade with them, and build connections between islands. My favorite part was not really one specific feature, but just seeing the server turn into a place where my friends could mess around together for a week. I would rather people try Isles with their own friends before voting on it instead of just upvoting or downvoting blindly. It is meant to be judged by how it feels to play socially, not just by looking at the code or the idea from the outside....
|
1793444026.194082
|
1793530426.194082
|
|
9622
|
My awesome macropad! by @Nouman | Stardance
|
Nouman
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @Nouman | Stardance
|
1793289412.5565455
|
1793894212.5565455
|
|
9623
|
Doombot - Slack by @Imtiaz | Stardance
|
Imtiaz
|
2
|
4.0
|
8
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-20T06:07:48Z", "hours": 3.0, "multiplier": 2.84, "payout": 8, "blessing": "neutral", "text": "Doombot, Full Project, running on nest, working.", "repo": "https://github.com/imtua/doombot", "demo": "https://app.slack.com/client/E09V59WQY1E/C0P5NE354"}, {"ship_num": 2, "ts": "2026-08-01T01:48:00Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Done as it said, nest doing its work and mridu slack bot replying!", "repo": "https://github.com/imtua/doombot", "demo": "https://app.slack.com/client/E09V59WQY1E/C0P5NE354"}]...
|
[{"post_id": 54208, "ts": "202 [{"post_id": 54208, "ts": "2026-08-25T02:59:15Z", "hours": 0.26, "text": "worked on the repo and readme file"}, {"post_id": 53784, "ts": "2026-08-24T14:12:22Z", "hours": 2.0833, "text": "Guess it works."}, {"post_id": 39231, "ts": "2026-08-02T02:00:29Z", "hours": 0.5914, "text": "Fixed everything it needed to be fixed. Now it’s working! Go to hack club workspace, head to #bot-spam and try /mridu-help."}, {"post_id": 9262, "ts": "2026-06-15T15:34:19Z", "hours": 0.2911, "text": "Added features!"}, {"post_id": 9199, "ts": "2026-06-15T13:18:00Z", "hours": 0.4108, "text": "Just completed the guide as the stardance guide says, ill take it now and start doing afterwards."}]...
|
Title: Doombot - Slack by @Imtiaz | Stardance
Dev Title: Doombot - Slack by @Imtiaz | Stardance
Devlogs:
Just completed the guide as the stardance guide says, ill take it now and start doing afterwards.
Added features!
Fixed everything it needed to be fixed. Now it’s working! Go to hack club workspace, head to #bot-spam and try /mridu-help.
Guess it works.
worked on the repo and readme file
Ships:
Done as it said, nest doing its work and mridu slack bot replying!
Doombot, Full Project, running on nest, working....
|
1793314624.8508267
|
1793401024.8508267
|
|
9624
|
Dialpad! by @parzival43 | Stardance
|
parzival43
|
0
|
5.14
|
0
|
[]
|
[{"post_id": 20058, "ts": "202 [{"post_id": 20058, "ts": "2026-07-01T15:49:51Z", "hours": 0.9917, "text": "All DRC error’s cleared. Cool! Finally my pcb is finished. So proud of me. The next step: Enclosure 3D design. Honestly, the most hostile part for me in this development journey."}, {"post_id": 19157, "ts": "2026-06-30T12:27:55Z", "hours": 1.9769, "text": "My dialpad’s pcb is almost complete, except that it is having 190 drc errors. Todo: Clear DRC errors, 52 of them are from a footprint pad clearence issue. Setup autoroute kicad and route the pcb with proper trace width for power lines. Casing!"}, {"post_id": 8094, "ts": "2026-06-13T14:49:37Z", "hours": 1.025, "text": "New design. Adding support for 15 peripherals. 12 switches (12 pins) 2 rotary encoders (3pins) 1 joystick (3pins) ARGB LEDs (1pin) all of this shrunked perfectly for a 11pin xiao rp2040. This design uses a resistor ladder, 4 switches in each pipe, with 4 different resistors, when a switch is pressed, it activates brings the resistor into a parallel configuration. All with zero ghosting. each key combination is uniqely recognized. Found any problems? let me know."}, {"post_id": 4286, "ts": "2026-06-07T15:22:35Z", "hours": 0.3953, "text": "Added leds. Short of ONE PIN. Right now, added 12 rgb leds for each key. But not able to wire one data pin for them or I should sacrifice a rotary encoder. Heart breaking. Any help is appreciated. The Hack: using a didode to drop about 0.6v for the first led alone to make it act as a singal voltage booster for rest of the leds at 5volts."}, {"post_id": 4197, "ts": "2026-06-07T12:47:18Z", "hours": 0.7481, "text": "Schematic Done! This is a hybrid macropad design that allows me to swap between an OLED display or a joystick via jumpers. Sounds cool right? 12 switches and 2 enoders are always functional. all within just 11 GPIO’s… Matrix wiring logic was insane to me at starting, but now I can design almost anything with the least amount of GPIO’s possible. The problem? one of two encoder switches and joystick switch cannot be used in this design. Got any suggestions? lmk. Got to create a github repo. create the pcb design a casing and finally my pad is ready!!!"}]...
|
Title: Dialpad! by @parzival43 | Stardance
Devlog Title: Dialpad! by @parzival43 | Stardance
Devlogs:
Schematic Done! This is a hybrid macropad design that allows me to swap between an OLED display or a joystick via jumpers. Sounds cool right? 12 switches and 2 enoders are always functional. all within just 11 GPIO’s… Matrix wiring logic was insane to me at starting, but now I can design almost anything with the least amount of GPIO’s possible. The problem? one of two encoder switches and joystick switch cannot be used in this design. Got any suggestions? lmk. Got to create a github repo. create the pcb design a casing and finally my pad is ready!!!
Added leds. Short of ONE PIN. Right now, added 12 rgb leds for each key. But not able to wire one data pin for them or I should sacrifice a rotary encoder. Heart breaking. Any help is appreciated. The Hack: using a didode to drop about 0.6v for the first led alone to make it act as a singal voltage booster for rest of the leds at 5volts.
New design. Adding support for 15 peripherals. 12 switches (12 pins) 2 rotary encoders (3pins) 1 joystick (3pins) ARGB LEDs (1pin) all of this shrunked perfectly for a 11pin xiao rp2040. This design uses a resistor ladder, 4 switches in each pipe, with 4 different resistors, when a switch is pressed, it activates brings the resistor into a parallel configuration. All with zero ghosting. each key combination is uniqely recognized. Found any problems? let me know.
My dialpad’s pcb is almost complete, except that it is having 190 drc errors. Todo: Clear DRC errors, 52 of them are from a footprint pad clearence issue. Setup autoroute kicad and route the pcb with proper trace width for power lines. Casing!
All DRC error’s cleared. Cool! Finally my pcb is finished. So proud of me. The next step: Enclosure 3D design. Honestly, the most hostile part for me in this development journey....
|
1793170355.8431265
|
1793775155.8431265
|
|
9625
|
My first slack bot! by @yellowissuchanoverratedcol My first slack bot! by @yellowissuchanoverratedcolor | Stardance...
|
yellowissuchanoverratedcolor
|
1
|
0.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-30T12:18:30Z", "hours": 0.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Hey, I recently completed the Slack Bot tutorial. I honestly just wanted to try this to gain some familiarity with the slack api (basically the same as the discord api lol). I added the following commands: help ping count-letters (which counts the individual letters from a to z in the message) thats it bye", "repo": "https://github.com/floopus44/slack-bot", "demo": "https://hackclub.enterprise.slack.com/archives/C0BTNC2E7QE"}]...
|
[{"post_id": 3820, "ts": "2026 [{"post_id": 3820, "ts": "2026-06-06T21:33:06Z", "hours": 0.4264, "text": "Got it to work and added two commands yay"}]...
|
Title: My first slack bot! by @yellowissuchanoverr Title: My first slack bot! by @yellowissuchanoverratedcolor | Stardance
Devlogs:
Got it to work and added two commands yay
Ships:
Hey, I recently completed the Slack Bot tutorial. I honestly just wanted to try this to gain some familiarity with the slack api (basically the same as the discord api lol). I added the following commands: help ping count-letters (which counts the individual letters from a to z in the message) thats it bye...
|
1793270851.5973284
|
1793357251.5973284
|
|
9626
|
Wikipedia-Swipy by @yellowissuchanoverratedcolor | Wikipedia-Swipy by @yellowissuchanoverratedcolor | Stardance...
|
yellowissuchanoverratedcolor
|
0
|
2.16
|
0
|
[]
|
[{"post_id": 3827, "ts": "2026 [{"post_id": 3827, "ts": "2026-06-06T21:44:23Z", "hours": 2.1611, "text": "Heyy I am currently working on a Tinder-like app but with Wikipedia articles. Just press ♡ or ✗ to tell the app if you like an article or not. The app will recommend new articles to you based on your interests. Day 1: Nothing exciting happened - Just set some stuff up and wrote some helper/utility classes"}]...
|
Title: Wikipedia-Swipy by @yellowissuchanoverrated Title: Wikipedia-Swipy by @yellowissuchanoverratedcolor | Stardance
Devlogs:
Heyy I am currently working on a Tinder-like app but with Wikipedia articles. Just press ♡ or ✗ to tell the app if you like an article or not. The app will recommend new articles to you based on your interests. Day 1: Nothing exciting happened - Just set some stuff up and wrote some helper/utility classes...
|
1792792107.4286711
|
1793396907.4286711
|
|
9627
|
My awesome macropad! by @Battleboy96 | Stardance
|
Battleboy96
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @Battleboy96 | Star Title: My awesome macropad! by @Battleboy96 | Stardance...
|
1793199278.6007333
|
1793804078.6007333
|
|
9628
|
My awesome macropad! by @AshutoshPola | Stardance
|
AshutoshPola
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @AshutoshPola | Sta Title: My awesome macropad! by @AshutoshPola | Stardance...
|
1792918212.3717196
|
1793782212.3717196
|
|
9629
|
Untitled by @0xEr3n | Stardance
|
0xEr3n
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @0xEr3n | Stardance
|
1793371993.534216
|
1793976793.534216
|
|
9630
|
RPG Game Starter Pack by @Krys | Stardance
|
Krys
|
0
|
7.08
|
0
|
[]
|
[{"post_id": 28135, "ts": "202 [{"post_id": 28135, "ts": "2026-07-14T07:17:59Z", "hours": 4.5331, "text": "HELLO! - I finally added second level for the game and now the levels look like 3D. The typewriter effect I implemented to dialogues was really hard to obtain."}, {"post_id": 9407, "ts": "2026-06-15T19:16:40Z", "hours": 1.4656, "text": "RPG game is quickly becoming good. Right now I’m adding a healthbar. Plus enemies now attack player when he goes too close to them."}, {"post_id": 4062, "ts": "2026-06-07T07:38:40Z", "hours": 0.6347, "text": "RPG game: What’s new: added character animation, both idle and walking"}, {"post_id": 3691, "ts": "2026-06-06T18:53:39Z", "hours": 0.4458, "text": "I’m working on a RPG game, right now I’m doing a tutorial, when I finish it, I’ll make a one by myself! I’m still having problems with counting the time in Gamemaker, CAN SOMEONE HELP ME PLEASE?"}]...
|
Title: RPG Game Starter Pack by @Krys | Stardance
Title: RPG Game Starter Pack by @Krys | Stardance
Devlogs:
I’m working on a RPG game, right now I’m doing a tutorial, when I finish it, I’ll make a one by myself! I’m still having problems with counting the time in Gamemaker, CAN SOMEONE HELP ME PLEASE?
RPG game: What’s new: added character animation, both idle and walking
RPG game is quickly becoming good. Right now I’m adding a healthbar. Plus enemies now attack player when he goes too close to them.
HELLO! - I finally added second level for the game and now the levels look like 3D. The typewriter effect I implemented to dialogues was really hard to obtain....
|
1793162894.2126358
|
1793767694.2126358
|
|
9631
|
McSync by @cloudyio | Stardance
|
cloudyio
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: McSync by @cloudyio | Stardance
|
1793407704.624158
|
1794012504.624158
|
|
9632
|
Untitled project by @hammamfaiq | Stardance
|
hammamfaiq
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled project by @hammamfaiq | Stardance
|
1792785162.1992116
|
1793389962.1992116
|
|
9633
|
3D Physics Simulator by @leonardo_g_bracciale | St 3D Physics Simulator by @leonardo_g_bracciale | Stardance...
|
leonardo_g_bracciale
|
1
|
16.0
|
129
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-26T22:20:58Z", "hours": 16.0, "multiplier": 11.71, "payout": 129, "blessing": "neutral", "text": "This is my first ever project. Over the last year I have taken multiple coursera courses on creating AI/ML models so I really wanted to add that in this project. This was inspired by a youtube video of something similar made in C++. It is quite elementary compared to some other projects on here, but I am proud regardless.", "repo": "https://github.com/Optifrost/GravSim", "demo": "https://github.com/Optifrost/GravSim/releases/tag/v1.1.0"}]...
|
[{"post_id": 16531, "ts": "202 [{"post_id": 16531, "ts": "2026-06-26T21:53:37Z", "hours": 14.5742, "text": "This may be my last update to the project but since last post I have added full 3d functionalities, a black hole mode, the ability to add “photons”, particle trails, the ability to select an object, and have debugged a number of problems surrounding mathematical computation errors with numbers becoming too large to support."}, {"post_id": 3616, "ts": "2026-06-06T16:49:50Z", "hours": 0.9944, "text": "Currently focused on adapting the original 2d design into a 3d version with support for photons. Trying to make the simulation as accurate and realistic as possible."}]...
|
Title: 3D Physics Simulator by @leonardo_g_braccia Title: 3D Physics Simulator by @leonardo_g_bracciale | Stardance
Devlogs:
Currently focused on adapting the original 2d design into a 3d version with support for photons. Trying to make the simulation as accurate and realistic as possible.
This may be my last update to the project but since last post I have added full 3d functionalities, a black hole mode, the ability to add “photons”, particle trails, the ability to select an object, and have debugged a number of problems surrounding mathematical computation errors with numbers becoming too large to support.
Ships:
This is my first ever project. Over the last year I have taken multiple coursera courses on creating AI/ML models so I really wanted to add that in this project. This was inspired by a youtube video of something similar made in C++. It is quite elementary compared to some other projects on here, but I am proud regardless....
|
1793253206.7859132
|
1793339606.7859132
|
|
9634
|
Chat bot by @subhashpavuskar | Stardance
|
subhashpavuskar
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Chat bot by @subhashpavuskar | Stardance
|
1793382574.1609309
|
1793987374.1609309
|
|
9635
|
My first slack bot! by @presleymukunzinshuti | Sta My first slack bot! by @presleymukunzinshuti | Stardance...
|
presleymukunzinshuti
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @presleymukunzinshut Title: My first slack bot! by @presleymukunzinshuti | Stardance...
|
1792803183.5936687
|
1793407983.5936687
|
|
9636
|
MoneyMapper by @adityatayal | Stardance
|
adityatayal
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: MoneyMapper by @adityatayal | Stardance
|
1793418731.2045622
|
1794023531.2045622
|
|
9637
|
My awesome macropad! by @saikiran | Stardance
|
saikiran
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @saikiran | Stardan Title: My awesome macropad! by @saikiran | Stardance...
|
1792759859.7787097
|
1793364659.7787097
|
|
9638
|
My awesome macropad! by @vrushalpatil | Stardance
|
vrushalpatil
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @vrushalpatil | Sta Title: My awesome macropad! by @vrushalpatil | Stardance...
|
1793397284.1646085
|
1794002084.1646085
|
|
9639
|
Snafu by @armadi110 | Stardance
|
armadi110
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Snafu by @armadi110 | Stardance
|
1793152601.8028088
|
1793757401.8028088
|
|
9640
|
My awesome macropad! by @Bigbrother | Stardance
|
Bigbrother
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @Bigbrother | Stard Title: My awesome macropad! by @Bigbrother | Stardance...
|
1793443926.3523169
|
1794048726.3523169
|
|
9641
|
Untitled project by @psyducl | Stardance
|
psyducl
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled project by @psyducl | Stardance
|
1793346608.4515991
|
1793951408.4515991
|
|
9642
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1792921755.5707922
|
1793785755.5707922
|
|
9643
|
Untitled by @adityatayal | Stardance
|
adityatayal
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @adityatayal | Stardance
|
1792796050.3074257
|
1793400850.3074257
|
|
9644
|
My first slack bot! by @sriharikalla1126 | Stardan My first slack bot! by @sriharikalla1126 | Stardance...
|
sriharikalla1126
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @sriharikalla1126 | Title: My first slack bot! by @sriharikalla1126 | Stardance...
|
1793242043.0273654
|
1793846843.0273654
|
|
9645
|
Sprite Stacker by @badNam3 | Stardance
|
badNam3
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-07T10:05:42Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a simple godot plugin, it wasn’t too difficult, but I did learn from it. This plugin should make it easier to work with sprite stacking which is a technique which allows for 3D environments in 2D games, I think its an underused style, with this plugin I was hoping to show people this style. This is still a very limited plugin, and I might come back to update it. currently it allows for a basic object which can be rotated along the Y-axis, it doesn’t allow for animations, and may start lagging after a while, This project was mostly a proof of concept, but I’m still want to see what people can create with it.", "repo": "https://github.com/frogeR1st/Sprite-Stacker", "demo": "https://github.com/frogeR1st/Sprite-Stacker/blob/main/sprite_stacker%20V02.zip"}]...
|
[{"post_id": 4118, "ts": "2026 [{"post_id": 4118, "ts": "2026-06-07T09:51:18Z", "hours": 1.4703, "text": "I added an icon to the node, and tried to use the rendering server, it didn’t work it was much worse performance, but the sprite version still works"}, {"post_id": 3508, "ts": "2026-06-06T14:09:41Z", "hours": 0.6506, "text": "Currently working on a new plugin for godot, here’s a result of what you can currently do with it this plugin will allow the developer to easily use sprite stacking in their projects Currently its very basic, it allows for rotation, but only in the Y axis, it’s also not optimized well and may start lagging for larger projects"}]...
|
Title: Sprite Stacker by @badNam3 | Stardance
Dev Title: Sprite Stacker by @badNam3 | Stardance
Devlogs:
Currently working on a new plugin for godot, here’s a result of what you can currently do with it this plugin will allow the developer to easily use sprite stacking in their projects Currently its very basic, it allows for rotation, but only in the Y axis, it’s also not optimized well and may start lagging for larger projects
I added an icon to the node, and tried to use the rendering server, it didn’t work it was much worse performance, but the sprite version still works
Ships:
I made a simple godot plugin, it wasn’t too difficult, but I did learn from it. This plugin should make it easier to work with sprite stacking which is a technique which allows for 3D environments in 2D games, I think its an underused style, with this plugin I was hoping to show people this style. This is still a very limited plugin, and I might come back to update it. currently it allows for a basic object which can be rotated along the Y-axis, it doesn’t allow for animations, and may start lagging after a while, This project was mostly a proof of concept, but I’m still want to see what people can create with it....
|
1793332595.0089018
|
1793418995.0089018
|
|
9646
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1792932458.8026493
|
1793796458.8026493
|
|
9647
|
My awesome macropad! by @frostbyte8909 | Stardance
|
frostbyte8909
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @frostbyte8909 | St Title: My awesome macropad! by @frostbyte8909 | Stardance...
|
1792734515.1907394
|
1793339315.1907394
|
|
9648
|
TO-DO CLI by @Greg_ios | Stardance
|
Greg_ios
|
1
|
3.0
|
6
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-28T08:47:39Z", "hours": 3.0, "multiplier": 2.49, "payout": 6, "blessing": "neutral", "text": "To Do CLI is a minimalist, file-based command-line todo manager designed for developers who want to manage tasks without leaving the terminal. It offers a lot of features such as Basic to do list commands, Filter tasks based on label and many more.", "repo": "https://github.com/travletothefurureprogramming/To-Do-CLI", "demo": "https://github.com/travletothefurureprogramming/To-Do-CLI/releases/tag/Release_3"}]...
|
[{"post_id": 17472, "ts": "202 [{"post_id": 17472, "ts": "2026-06-28T08:34:31Z", "hours": 0.5011, "text": "This is the last Devlog before ship. I have done some final changes for functionality but the biggest one is that from now you can filter your tasks based on labels. Also the labels you create are stored into a settings file."}, {"post_id": 16214, "ts": "2026-06-26T10:46:51Z", "hours": 0.4597, "text": "From now the to do cli suppourts labels!"}, {"post_id": 4467, "ts": "2026-06-07T19:54:41Z", "hours": 0.6711, "text": "Add pending tasks and clear all commands and also add priority variable for Tasks. Finally I post the new release on github!!"}, {"post_id": 3463, "ts": "2026-06-06T12:39:49Z", "hours": 0.2892, "text": "Make a clean readme and finalize the release!"}, {"post_id": 3455, "ts": "2026-06-06T12:18:13Z", "hours": 0.32, "text": "Complete the basic logic!"}, {"post_id": 3447, "ts": "2026-06-06T11:57:24Z", "hours": 0.2797, "text": "Making the basic loop"}]...
|
Title: TO-DO CLI by @Greg_ios | Stardance
Devlogs Title: TO-DO CLI by @Greg_ios | Stardance
Devlogs:
Making the basic loop
Complete the basic logic!
Make a clean readme and finalize the release!
Add pending tasks and clear all commands and also add priority variable for Tasks. Finally I post the new release on github!!
From now the to do cli suppourts labels!
This is the last Devlog before ship. I have done some final changes for functionality but the biggest one is that from now you can filter your tasks based on labels. Also the labels you create are stored into a settings file.
Ships:
To Do CLI is a minimalist, file-based command-line todo manager designed for developers who want to manage tasks without leaving the terminal. It offers a lot of features such as Basic to do list commands, Filter tasks based on label and many more....
|
1793454862.3444638
|
1793541262.3444638
|
|
9649
|
Untitled project by @esteban | Stardance
|
esteban
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled project by @esteban | Stardance
|
1793195335.9926083
|
1793800135.9926083
|
|
9650
|
My awesome macropad! by @miguel | Stardance
|
miguel
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @miguel | Stardance
|
1793303656.152626
|
1793908456.152626
|