|
69258
|
My awesome macropad! by @bright-thailand | Stardan My awesome macropad! by @bright-thailand | Stardance...
|
bright-thailand
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @bright-thailand | Title: My awesome macropad! by @bright-thailand | Stardance...
|
1793130838.8796
|
1793735638.8796
|
|
69259
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1792874906.3891811
|
1793738906.3891811
|
|
69260
|
playground by @MxInput | Stardance
|
MxInput
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: playground by @MxInput | Stardance
|
1793130841.7199907
|
1793735641.7199907
|
|
69261
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1792874907.2164986
|
1793738907.2164986
|
|
69262
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1792874908.0276132
|
1793738908.0276132
|
|
69263
|
Trv7h's Launge by @Trv7h | Stardance
|
Trv7h
|
0
|
3.54
|
0
|
[]
|
[{"post_id": 79811, "ts": "202 [{"post_id": 79811, "ts": "2026-10-15T14:43:16Z", "hours": 0.5064, "text": "Devlog 2| 10/15/2026. loaded in a logo and added it next to the Website’s name. Used alt=”” so the name avoids repeating itself. Made a life changing discovery(flex-shrink) very simple that saves so much time, from fixing images being stretched or cropped."}, {"post_id": 79770, "ts": "2026-10-15T10:27:39Z", "hours": 3.0386, "text": "A personal website about me, my projects, and my interests. Added A web-fluid reactive background that waves when visitor scrolls. Added a project column that displays my custom made Minecraft skin in 3d and a mini picture-in-picture player that plays a preview of my favorite song"}]...
|
Title: Trv7h's Launge by @Trv7h | Stardance
D Title: Trv7h's Launge by @Trv7h | Stardance
Devlogs:
A personal website about me, my projects, and my interests. Added A web-fluid reactive background that waves when visitor scrolls. Added a project column that displays my custom made Minecraft skin in 3d and a mini picture-in-picture player that plays a preview of my favorite song
Devlog 2| 10/15/2026. loaded in a logo and added it next to the Website’s name. Used alt=”” so the name avoids repeating itself. Made a life changing discovery(flex-shrink) very simple that saves so much time, from fixing images being stretched or cropped....
|
1793130843.4647133
|
1793735643.4647133
|
|
69264
|
SZC OS by @shaazzakariyac | Stardance
|
shaazzakariyac
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: SZC OS by @shaazzakariyac | Stardance
|
1793130845.2166793
|
1793735645.2166793
|
|
69265
|
My very own WebOS by @divyansh99 | Stardance
|
divyansh99
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My very own WebOS by @divyansh99 | Stardanc Title: My very own WebOS by @divyansh99 | Stardance...
|
1793130847.792704
|
1793735647.792704
|
|
69266
|
My own site! by @hashirmk | Stardance
|
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My own site! by @hashirmk | Stardance
|
1793130848.6456141
|
1793735648.6456141
|
|
69267
|
My awesome macropad! by @Sai | Stardance
|
Sai
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @Sai | Stardance
|
1793130850.4180548
|
1793735650.4180548
|
|
69268
|
personal-site by @Sai | Stardance
|
Sai
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: personal-site by @Sai | Stardance
|
1793130852.4247618
|
1793735652.4247618
|
|
69269
|
adaptq by @letchu | Stardance
|
letchu
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: adaptq by @letchu | Stardance
|
1793130856.0203977
|
1793735656.0203977
|
|
69270
|
Untitled project by @vaishali | Stardance
|
vaishali
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled project by @vaishali | Stardance
|
1793130857.8258402
|
1793735657.8258402
|
|
69271
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1792874908.8629866
|
1793738908.8629866
|
|
69272
|
Iglot by @jericho | Stardance
|
jericho
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Iglot by @jericho | Stardance
|
1793130859.8234262
|
1793735659.8234262
|
|
69273
|
2nd project (lets go!) by @Sabeera_Macan_Markar | 2nd project (lets go!) by @Sabeera_Macan_Markar | Stardance...
|
Sabeera_Macan_Markar
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: 2nd project (lets go!) by @Sabeera_Macan_Ma Title: 2nd project (lets go!) by @Sabeera_Macan_Markar | Stardance...
|
1793130861.568057
|
1793735661.568057
|
|
69274
|
Rainbow Multipad by @Nunaverb14 | Stardance
|
Nunaverb14
|
0
|
3.91
|
0
|
[]
|
[{"post_id": 83155, "ts": "202 [{"post_id": 83155, "ts": "2026-10-27T02:27:51Z", "hours": 3.9072, "text": "Schematic and PCB Layout Schematic I found the parts in the Hackpad guide on JLCPCB, and instead of using the Xiao RP2040, I decided to go with the Waveshare ESP32-S3-Zero because it has Bluetooth capabilities and more pins. From the kit I used: 16x through-hole 1N4148 Diodes 16x MX-Style switches 2x EC11E Rotary encoders (with switch!) 12x SK6812 MINI-E LEDs I wired the buttons in a matrix (4 rows, 4 columns), put each EC11E on its own 3 pins, and added the SK6812 LEDs to the last remaining pin. I was choosing between this and putting the EC11E switches in the matrix with a screen, but RGB LEDs are better than an OLED display. Layout The original 90x70 board was really cramped after laying everything out, so I ended up extending it to 95x75 for a little bit of extra space. I was trying to keep the board under 100x100 because I know things can be weird and more expensive with bigger board sizes. My main issues were the space, or the lack thereof, but somehow after finessing the diodes and the LEDs, I fit everything just barely on the board. I also had to fix the LED footprint because it created a hole in the PCB underneath the LED instead of outlining on the silkscreen layer. Next I want to experiment with the silkscreen and put on some cool images, as well as finish routing the board."}]...
|
Title: Rainbow Multipad by @Nunaverb14 | Stardance Title: Rainbow Multipad by @Nunaverb14 | Stardance
Devlogs:
Schematic and PCB Layout Schematic I found the parts in the Hackpad guide on JLCPCB, and instead of using the Xiao RP2040, I decided to go with the Waveshare ESP32-S3-Zero because it has Bluetooth capabilities and more pins. From the kit I used: 16x through-hole 1N4148 Diodes 16x MX-Style switches 2x EC11E Rotary encoders (with switch!) 12x SK6812 MINI-E LEDs I wired the buttons in a matrix (4 rows, 4 columns), put each EC11E on its own 3 pins, and added the SK6812 LEDs to the last remaining pin. I was choosing between this and putting the EC11E switches in the matrix with a screen, but RGB LEDs are better than an OLED display. Layout The original 90x70 board was really cramped after laying everything out, so I ended up extending it to 95x75 for a little bit of extra space. I was trying to keep the board under 100x100 because I know things can be weird and more expensive with bigger board sizes. My main issues were the space, or the lack thereof, but somehow after finessing the diodes and the LEDs, I fit everything just barely on the board. I also had to fix the LED footprint because it created a hole in the PCB underneath the LED instead of outlining on the silkscreen layer. Next I want to experiment with the silkscreen and put on some cool images, as well as finish routing the board....
|
1793130862.4419026
|
1793735662.4419026
|
|
69275
|
my own bot!! by @Sabeera_Macan_Markar | Stardance
|
Sabeera_Macan_Markar
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: my own bot!! by @Sabeera_Macan_Markar | Sta Title: my own bot!! by @Sabeera_Macan_Markar | Stardance...
|
1793130863.300407
|
1793735663.300407
|
|
69276
|
80 % ANSI keyboard by @thaimin01 | Stardance
|
thaimin01
|
0
|
10.62
|
0
|
[]
|
[{"post_id": 82951, "ts": "202 [{"post_id": 82951, "ts": "2026-10-26T11:10:20Z", "hours": 2.6172, "text": "ITS ALL INVERTED WHEN I FLIP IT, THERES HOTSWAP AND UNSWAPPABLE. AHHHH"}, {"post_id": 81210, "ts": "2026-10-20T09:38:02Z", "hours": 1.0592, "text": "Me in winter arc boissss. Vibing to la peace funk, and yara yara phonk while making pcb, so tuff boisss 🥶 🥶"}, {"post_id": 80115, "ts": "2026-10-16T08:43:05Z", "hours": 1.1014, "text": "Did some extra changes to ensure reliability"}, {"post_id": 79290, "ts": "2026-10-13T10:45:35Z", "hours": 2.0667, "text": "Today, I assigned the footprint, do some quick changes, moving it from ISO to ANSI"}, {"post_id": 79031, "ts": "2026-10-12T13:11:37Z", "hours": 3.7783, "text": "Quick note: Due to being late on the Half Life event, the project was unfinished and it is going to be changed to the Stardance event by me The schematic is almost done just some more debugging"}]...
|
Title: 80 % ANSI keyboard by @thaimin01 | Stardanc Title: 80 % ANSI keyboard by @thaimin01 | Stardance
Devlogs:
Quick note: Due to being late on the Half Life event, the project was unfinished and it is going to be changed to the Stardance event by me The schematic is almost done just some more debugging
Today, I assigned the footprint, do some quick changes, moving it from ISO to ANSI
Did some extra changes to ensure reliability
Me in winter arc boissss. Vibing to la peace funk, and yara yara phonk while making pcb, so tuff boisss 🥶 🥶
ITS ALL INVERTED WHEN I FLIP IT, THERES HOTSWAP AND UNSWAPPABLE. AHHHH...
|
1793130864.1509356
|
1793735664.1509356
|
|
69277
|
MY OS LETS GO by @Sabeera_Macan_Markar | Stardance
|
Sabeera_Macan_Markar
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: MY OS LETS GO by @Sabeera_Macan_Markar | St Title: MY OS LETS GO by @Sabeera_Macan_Markar | Stardance...
|
1793130865.047388
|
1793735665.047388
|
|
69278
|
Wave Survival by @Nugget_Bwai | Stardance
|
Nugget_Bwai
|
0
|
0.38
|
0
|
[]
|
[{"post_id": 79296, "ts": "202 [{"post_id": 79296, "ts": "2026-10-13T11:31:31Z", "hours": 0.3836, "text": "Wave survival is a game where you have to kill waves of enemies before they destroy your base. I have made the spawn box for the characters as well as some gui elements, I also have a mock up map to test the mechanics and stuff"}]...
|
Title: Wave Survival by @Nugget_Bwai | Stardance
Title: Wave Survival by @Nugget_Bwai | Stardance
Devlogs:
Wave survival is a game where you have to kill waves of enemies before they destroy your base. I have made the spawn box for the characters as well as some gui elements, I also have a mock up map to test the mechanics and stuff...
|
1793130865.9018703
|
1793735665.9018703
|
|
69279
|
Morning Message by @raycoding | Stardance
|
raycoding
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Morning Message by @raycoding | Stardance
|
1793130867.055314
|
1793735667.055314
|
|
69280
|
Morning Message by @raycoding | Stardance
|
raycoding
|
1
|
0.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-19T18:09:55Z", "hours": 0.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Daybreak is supposed to help someone start their day with a list of things that they can already do and not have to plan as much.", "repo": "https://github.com/rayha-m/daybreak", "demo": "https://daybreak-opal-delta.vercel.app"}]...
|
[{"post_id": 79466, "ts": "202 [{"post_id": 79466, "ts": "2026-10-14T04:55:10Z", "hours": 0.4361, "text": "I have been working on getting the API keys to read my calendar."}]...
|
Title: Morning Message by @raycoding | Stardance
Title: Morning Message by @raycoding | Stardance
Devlogs:
I have been working on getting the API keys to read my calendar.
Ships:
Daybreak is supposed to help someone start their day with a list of things that they can already do and not have to plan as much....
|
1793155913.3329062
|
1793242313.3329062
|
|
69281
|
Guide to Hack Club by @Angle_Mad | Stardance
|
Angle_Mad
|
0
|
0.43
|
0
|
[]
|
[{"post_id": 78958, "ts": "202 [{"post_id": 78958, "ts": "2026-10-12T05:56:42Z", "hours": 0.4336, "text": "Beginning the Basic Html and Tailwind CSS I started to work on the website to help guide beginners what Hack Club is about, and how it works. So far I just worked on basic html and I started messing around with tailwind, which with my very little experience already feels much easier to use than regular CSS. I started learning tailwind syntax and how it works with html. Doing that I made the website background, a pink color, give the header larger text, made the font bold, center the text, made it white and added a margin to the top."}]...
|
Title: Guide to Hack Club by @Angle_Mad | Stardanc Title: Guide to Hack Club by @Angle_Mad | Stardance
Devlogs:
Beginning the Basic Html and Tailwind CSS I started to work on the website to help guide beginners what Hack Club is about, and how it works. So far I just worked on basic html and I started messing around with tailwind, which with my very little experience already feels much easier to use than regular CSS. I started learning tailwind syntax and how it works with html. Doing that I made the website background, a pink color, give the header larger text, made the font bold, center the text, made it white and added a margin to the top....
|
1793130868.2174704
|
1793735668.2174704
|
|
69282
|
BLARE by @jayantt | Stardance
|
jayantt
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: BLARE by @jayantt | Stardance
|
1793130869.1591692
|
1793735669.1591692
|
|
69283
|
My awesome macropad! by @kumkum_sah | Stardance
|
kumkum_sah
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @kumkum_sah | Stard Title: My awesome macropad! by @kumkum_sah | Stardance...
|
1793130870.0123103
|
1793735670.0123103
|
|
69284
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1792874909.6835692
|
1793738909.6835692
|
|
69285
|
Preetham's HackPad by @preethambollineni2013 | Preetham's HackPad by @preethambollineni2013 | Stardance...
|
preethambollineni2013
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Preetham's HackPad by @preethambollinen Title: Preetham's HackPad by @preethambollineni2013 | Stardance...
|
1792475840.2542613
|
1793339840.2542613
|
|
69286
|
ai automation by @priyanshumalakar | Stardance
|
priyanshumalakar
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: ai automation by @priyanshumalakar | Starda Title: ai automation by @priyanshumalakar | Stardance...
|
1793130870.8669868
|
1793735670.8669868
|
|
69287
|
WarioWare Game by @Devilshine0007 | Stardance
|
Devilshine0007
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: WarioWare Game by @Devilshine0007 | Stardan Title: WarioWare Game by @Devilshine0007 | Stardance...
|
1793130871.717945
|
1793735671.717945
|
|
69288
|
Scratchy by @KevinW | Stardance
|
KevinW
|
0
|
7.87
|
0
|
[]
|
[{"post_id": 79046, "ts": "202 [{"post_id": 79046, "ts": "2026-10-12T14:14:41Z", "hours": 7.8708, "text": "I just finished building all of the core functions in HTML! The point of this is to show me the limits of html and so far I haven’t used anything else. The whole program was made in html. I spent a lot of time testing out grid sizes and different patterns but the most confusing problem was figuring out how to detect when the player had scratched off enough of the grey to trigger the reveal and win checking functions without crashing the whole webpage. One method I used to fix this was to add a percentage threshold. Once the percentage of transparent pixels crosses 50% it clears the rest and runs the win evaluation."}]...
|
Title: Scratchy by @KevinW | Stardance
Devlogs:
I Title: Scratchy by @KevinW | Stardance
Devlogs:
I just finished building all of the core functions in HTML! The point of this is to show me the limits of html and so far I haven’t used anything else. The whole program was made in html. I spent a lot of time testing out grid sizes and different patterns but the most confusing problem was figuring out how to detect when the player had scratched off enough of the grey to trigger the reveal and win checking functions without crashing the whole webpage. One method I used to fix this was to add a percentage threshold. Once the percentage of transparent pixels crosses 50% it clears the rest and runs the win evaluation....
|
1792475843.0581944
|
1793339843.0581944
|
|
69289
|
Orbit Beat by @shanyu_sai | Stardance
|
shanyu_sai
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Orbit Beat by @shanyu_sai | Stardance
|
1793130872.5388281
|
1793735672.5388281
|
|
69290
|
My awesome macropad! by @Yie | Stardance
|
Yie
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @Yie | Stardance
|
1793130873.3881092
|
1793735673.3881092
|
|
69291
|
clone webite by @ilrksy | Stardance
|
ilrksy
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: clone webite by @ilrksy | Stardance
|
1793130874.2424016
|
1793735674.2424016
|
|
69292
|
arkademaskin by @Sepkatt | Stardance
|
Sepkatt
|
0
|
2.54
|
0
|
[]
|
[{"post_id": 79308, "ts": "202 [{"post_id": 79308, "ts": "2026-10-13T13:40:04Z", "hours": 0.6892, "text": "Tried to find out how to use the rasbery pie 4. But still cant find it out"}, {"post_id": 79045, "ts": "2026-10-12T14:11:08Z", "hours": 1.85, "text": "My friend and I built an arcade machine. We started by taking it apart—since it had already been built—and then put it back together with better cable management. Next time, we’re going to start with a Raspberry Pi."}]...
|
Title: arkademaskin by @Sepkatt | Stardance
Devlo Title: arkademaskin by @Sepkatt | Stardance
Devlogs:
My friend and I built an arcade machine. We started by taking it apart—since it had already been built—and then put it back together with better cable management. Next time, we’re going to start with a Raspberry Pi.
Tried to find out how to use the rasbery pie 4. But still cant find it out...
|
1793130875.092312
|
1793994875.092312
|
|
69293
|
18650 based FPV drone by @rapier | Stardance
|
rapier
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: 18650 based FPV drone by @rapier | Stardanc Title: 18650 based FPV drone by @rapier | Stardance...
|
1792475848.8137023
|
1793339848.8137023
|
|
69294
|
My awesome macropad! by @tejeswar_raju357 | Starda My awesome macropad! by @tejeswar_raju357 | Stardance...
|
tejeswar_raju357
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @tejeswar_raju357 | Title: My awesome macropad! by @tejeswar_raju357 | Stardance...
|
1793130875.9023623
|
1793735675.9023623
|
|
69295
|
YogurtLib for VEX by @ericyao866 | Stardance
|
ericyao866
|
1
|
50.25
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-12T08:18:47Z", "hours": 40.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made my own VEX Library! This was largely inspired by Lemlib and it includes advanced functinonality such as async motion, motion chaining, and motion queuing. This library includes it’s custom UI which allows you to see the sensor datas and select autonomouses during a competition. Functionalities still in development: Pure Pursuit for fast and precise curves, MCL(a particle filter that will relocalize the robot’s position based on probablity! and four beams of light from lasers(originally should be done with lidars), IMU Fusion(done, but not yet implemented into the core code), and much more!", "repo": "https://github.com/Random-Person123321/YogurtLib", "demo": "https://yogurtlib.com/"}]...
|
[{"post_id": 82834, "ts": "202 [{"post_id": 82834, "ts": "2026-10-25T23:53:36Z", "hours": 5.0836, "text": "I finished all of the theoretical work in our library! (with the exception of MCL, which is a thing of its own and is definitely coming later!). Most of this devlog was bug testing by applying our pre-compiled binary into a new PROS project, 2026-2027OVERRIDE, where I could upload to the robot and see what’s not working and why. I also cleaned up the include header order and hierarchy. Boomerang: Fixed the carrot point shifting out too far and causing overshoot and reversing. The carrot point now updates as the robot moves, and the drive PID is clamped between maxSpeed and 0.0 when the carrot is behind us, so we turn instead of reverse. I also slew the driveOutput before computing left and right voltages so the turn ratio is preserved. Boomerang now has its own drive and turn settle values instead of driveStraight’s, since it’s a curve in x, y, and heading. It also uses the Turn PID instead of Angular Correction so following the carrot point gets priority. Added async and motion queuing protection, stuck detection, and static friction pushes for when the drive gains are too small. For motion chaining, we draw a line through the end point at the end heading and compare how far along it we are with earlyExitRange. Fixed the wide curves and sideways drift. Tank drives (especially with omnis) can’t correct for drift sideways, so boomerang now calculates curvature like pure pursuit and slows down on sharp curves. How much is tuned with params.curveK, which represents the robot’s sideways grip, so you can use bigger leads without skidding. Fixed the robot lurching forward at full speed inside closeDist, where the speed limiters turn off. maxV is now clamped to either the original speed or about half of max speed, whichever is less. Boomerang is now fully working! Pure Pursuit (now curve()): The LOST/STUCK bug came from very tight curves where the voltage wasn’t enough to overcome friction, so the robot thought it wasn’t moving. The fix is a kS deadband (around 1000 mV) like the rest of the drive functions. The attached picture shows how well it follows points on completely untested default values, along with screenshots of all the tunable parameters. driveTo functions (still deprecated, coming soon!): Added a built-in chain (turn, drive, and another turn for driveToPose) with its parameters as drivetrain members, so there are no hard-coded magic numbers. The cancelled or invalid motion check is cleaner too. swingToHeading(): Giving the non-pivoting side 0 voltage still counts as a movement command, so it wasn’t holding position. Now that side is set to brake during the motion and restored to its original brake mode after. Robot & testing: Added drive code and pneumatics to our robot for the upcoming competition. I also tested our custom objects and PROS object layering, which worked as expected. I commented out our future MCL instance because of compiler warnings. The boomerang test data on our data visualizer matched real life, and it settled within 1 inch with barely any tuning. Next steps: splitting the code into .cpp files to finish the OOP refactor, then MCL and the autonomous/MCL simulator!"}, {"post_id": 80016, "ts": "2026-10-15T23:59:37Z", "hours": 5.1622, "text": "Finish Pure Pursuit, Motion Chaining. Starting work on Boomerang Function: I worked more on Pure Pursuit(robot driving according to a path you’ve drawn through a imaginary circle it draws around its self and targeting where the circle intersects the path). I started by making my curve() function also return MotionResult so it is consistent with everything else in the library unlike before where it had it’s own return type FollowResult. I’ve also updated my helper function that can convert the enumberation from MotionResult into a string so the user can return the value and see what the potential error is from the logics. I’ve also continued with the math for Pure Pursuit starting with injecting extra points into the array of points that the user provides for the path that the robot has to follow to ensure a more even data type and there aren’t senarios where the gaps are so large the circle would not find any paths to target and declare the robot as MotionResult::LOST. To do this, I take apart the original array of points that the user provides and for any two points or segment; I divide it by the minimum gap we would accept(3 inches) to get how many new segments we would have to split it into in order that every segment is shorter than 3 inches. Then we simply linearly interpolate the points based on how many segments we have(ex. a, a + (distance/spacing) 1, a + (distance/spacing) 2…) Ect where we just multiply the gap by the number of spaces that we want. Lastly, I worked out a bug based on DAWGMA’s Pure Pursuit paper that sometimes the path which the robot has to take might be behind the robot(ie the robot is facing away from where the circle intercepts our path). Thus the PP is finished fixing all known bugs(untested yet) by finally organizing all of the helper function into a master function in the PurePursuit class called step(). Then the drivetrain layer(Drivetrain class) that actually owns all of the hardware calls the function, sorts the return logic for when we are done, the path is invalid, or we are chaining the motion to move forward. Though right now it is untested, I fixed the logic that would getActualSpeed() for the both sides of the drive by updating the encoders divided by the amount of time it has been and modifying the units based on the ratio to get an accurate RPM. We update the measured velocity each loop by blending the value we measure from the previus loop via an alpha variable(to smooth the reading to be free of noise). The user can also tune this at their will but the current default value is 40%(a.k.a. 0.4). Lastly, I decided to make our own boomerang function(an advanced motion type in VEX) where to robot will always follow a virtual carrot point and as the robot progresses, the carrot point will blend back into the desired along the path while giving the robot a swing to reach the desired end heading as well. (A type of move to pose – where pose is position for x, y, and heading). I started doing some research and testing out the code in our library and Arduino IDE to see what it would compute and these are some of the resources I used: https://lemlib.readthedocs.io/en/v0.5.0/tutorials/6lateralmotion.html https://www.desmos.com/calculator/sptjw5szex The main one(as well as with some explanation from our coach): https://area-53-robotics.github.io/Intro-To-Robotics/software/advanced-concepts/boomerang/"}, {"post_id": 78976, "ts": "2026-10-12T07:30:55Z", "hours": 39.9558, "text": "Complete Refractor – Making everything exist in Objects to create a template Library in VEX. Made implementation of functions better from last year and fixed existing bugs. Implemented proper asymetrical slewing to wheels and worked on a better Pure Pursuit. Added a custom YogurtLib UI with LVGL and a sensor fusion that can support Up to 3 and more IMUs."}]...
|
Title: YogurtLib for VEX by @ericyao866 | Stardanc Title: YogurtLib for VEX by @ericyao866 | Stardance
Devlogs:
Complete Refractor – Making everything exist in Objects to create a template Library in VEX. Made implementation of functions better from last year and fixed existing bugs. Implemented proper asymetrical slewing to wheels and worked on a better Pure Pursuit. Added a custom YogurtLib UI with LVGL and a sensor fusion that can support Up to 3 and more IMUs.
Finish Pure Pursuit, Motion Chaining. Starting work on Boomerang Function: I worked more on Pure Pursuit(robot driving according to a path you’ve drawn through a imaginary circle it draws around its self and targeting where the circle intersects the path). I started by making my curve() function also return MotionResult so it is consistent with everything else in the library unlike before where it had it’s own return type FollowResult. I’ve also updated my helper function that can convert the enumberation from MotionResult into a string so the user can return the value and see what the potential error is from the logics. I’ve also continued with the math for Pure Pursuit starting with injecting extra points into the array of points that the user provides for the path that the robot has to follow to ensure a more even data type and there aren’t senarios where the gaps are so large the circle would not find any paths to target and declare the robot as MotionResult::LOST. To do this, I take apart the original array of points that the user provides and for any two points or segment; I divide it by the minimum gap we would accept(3 inches) to get how many new segments we would have to split it into in order that every segment is shorter than 3 inches. Then we simply linearly interpolate the points based on how many segments we have(ex. a, a + (distance/spacing) 1, a + (distance/spacing) 2…) Ect where we just multiply the gap by the number of spaces that we want. Lastly, I worked out a bug based on DAWGMA’s Pure Pursuit paper that sometimes the path which the robot has to take might be behind the robot(ie the robot is facing away from where the circle intercepts our path). Thus the PP is finished fixing all known bugs(untested yet) by finally organizing all of the helper function into a master function in the PurePursuit class called step(). Then the drivetrain layer(Drivetrain class) that actually owns all of the hardware calls the function, sorts the return logic for when we are done, the path is invalid, or we are chaining the motion to move forward. Though right now it is untested, I fixed the logic that would getActualSpeed() for the both sides of the drive by updating the encoders divided by the amount of time it has been and modifying the units based on the ratio to get an accurate RPM. We update the measured velocity each loop by blending the value we measure from the previus loop via an alpha variable(to smooth the reading to be free of noise). The user can also tune this at their will but the current default value is 40%(a.k.a. 0.4). Lastly, I decided to make our own boomerang function(an advanced motion type in VEX) where to robot will always follow a virtual carrot point and as the robot progresses, the carrot point will blend back into the desired along the path while giving the robot a swing to reach the desired end heading as well. (A type of move to pose – where pose is position for x, y, and heading). I started doing some research and testing out the code in our library and Arduino IDE to see what it would compute and these are some of the resources I used: https://lemlib.readthedocs.io/en/v0.5.0/tutorials/6lateralmotion.html https://www.desmos.com/calculator/sptjw5szex The main one(as well as with some explanation from our coach): https://area-53-robotics.github.io/Intro-To-Robotics/software/advanced-concepts/boomerang/
I finished all of the theoretical work in our library! (with the exception of MCL, which is a thing of its own and is definitely coming later!). Most of this devlog was bug testing by applying our pre-compiled binary into a new PROS project, 2026-2027OVERRIDE, where I could upload to the robot and see what’s not working and why. I also cleaned up the include header order and hierarchy. Boomerang: Fixed the carrot point shifting out too far and causing overshoot and reversing. The carrot point now updates as the robot moves, and the drive PID is clamped between maxSpeed and 0.0 when the carrot is behind us, so we turn instead of reverse. I also slew the driveOutput before computing left and right voltages so the turn ratio is preserved. Boomerang now has its own drive and turn settle values instead of driveStraight’s, since it’s a curve in x, y, and heading. It also uses the Turn PID instead of Angular Correction so following the carrot point gets priority. Added async and motion queuing protection, stuck detection, and static friction pushes for when the drive gains are too small. For motion chaining, we draw a line through the end point at the end heading and compare how far along it we are with earlyExitRange. Fixed the wide curves and sideways drift. Tank drives (especially with omnis) can’t correct for drift sideways, so boomerang now calculates curvature like pure pursuit and slows down on sharp curves. How much is tuned with params.curveK, which represents the robot’s sideways grip, so you can use bigger leads without skidding. Fixed the robot lurching forward at full speed inside closeDist, where the speed limiters turn off. maxV is now clamped to either the original speed or about half of max speed, whichever is less. Boomerang is now fully working! Pure Pursuit (now curve()): The LOST/STUCK bug came from very tight curves where the voltage wasn’t enough to overcome friction, so the robot thought it wasn’t moving. The fix is a kS deadband (around 1000 mV) like the rest of the drive functions. The attached picture shows how well it follows points on completely untested default values, along with screenshots of all the tunable parameters. driveTo functions (still deprecated, coming soon!): Added a built-in chain (turn, drive, and another turn for driveToPose) with its parameters as drivetrain members, so there are no hard-coded magic numbers. The cancelled or invalid motion check is cleaner too. swingToHeading(): Giving the non-pivoting side 0 voltage still counts as a movement command, so it wasn’t holding position. Now that side is set to brake during the motion and restored to its original brake mode after. Robot & testing: Added drive code and pneumatics to our robot for the upcoming competition. I also tested our custom objects and PROS object layering, which worked as expected. I commented out our future MCL instance because of compiler warnings. The boomerang test data on our data visualizer matched real life, and it settled within 1 inch with barely any tuning. Next steps: splitting the code into .cpp files to finish the OOP refactor, then MCL and the autonomous/MCL simulator!
Ships:
I made my own VEX Library! This was largely inspired by Lemlib and it includes advanced functinonality such as async motion, motion chaining, and motion queuing. This library includes it’s custom UI which allows you to see the sensor datas and select autonomouses during a competition. Functionalities still in development: Pure Pursuit for fast and precise curves, MCL(a particle filter that will relocalize the robot’s position based on probablity! and four beams of light from lasers(originally should be done with lidars), IMU Fusion(done, but not yet implemented into the core code), and much more!...
|
1793217356.8805926
|
1793303756.8805926
|
|
69296
|
My awesome macropad! by @mubinabonu | Stardance
|
mubinabonu
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @mubinabonu | Stard Title: My awesome macropad! by @mubinabonu | Stardance...
|
1793130876.7438886
|
1793735676.7438886
|
|
69297
|
BatMobile by @Altaaf | Stardance
|
Altaaf
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: BatMobile by @Altaaf | Stardance
|
1793130877.592904
|
1793735677.592904
|
|
69298
|
MicroPad by @yoru_ayan | Stardance
|
yoru_ayan
|
0
|
5.87
|
0
|
[]
|
[{"post_id": 79395, "ts": "202 [{"post_id": 79395, "ts": "2026-10-13T19:57:45Z", "hours": 1.3039, "text": "Yop Finally complete the 3d Casing and modeling and also I give it a new look hop you like it……….."}, {"post_id": 79134, "ts": "2026-10-12T19:42:07Z", "hours": 2.1406, "text": "Yop Guys i Complete the design for the Hack pad. I design it more like a cntroller so i can use it to play some retor game……"}, {"post_id": 79091, "ts": "2026-10-12T17:07:47Z", "hours": 1.7911, "text": "Guys look I made new design and 3D modeling the case rn……."}, {"post_id": 78987, "ts": "2026-10-12T08:18:52Z", "hours": 0.6294, "text": "I think we are cooking guys!!!!!!!!!"}]...
|
Title: MicroPad by @yoru_ayan | Stardance
Devlogs Title: MicroPad by @yoru_ayan | Stardance
Devlogs:
I think we are cooking guys!!!!!!!!!
Guys look I made new design and 3D modeling the case rn…….
Yop Guys i Complete the design for the Hack pad. I design it more like a cntroller so i can use it to play some retor game……
Yop Finally complete the 3d Casing and modeling and also I give it a new look hop you like it……….....
|
1793130878.4557765
|
1793735678.4557765
|
|
69299
|
my os by @lanhoamanh | Stardance
|
lanhoamanh
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: my os by @lanhoamanh | Stardance
|
1792475853.700137
|
1793339853.700137
|
|
69300
|
Deicidium Page by @idi0cy | Stardance
|
idi0cy
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Deicidium Page by @idi0cy | Stardance
|
1792475854.5094855
|
1793339854.5094855
|
|
69301
|
PORTFOLIO by @cosmic79conqueror | Stardance
|
cosmic79conqueror
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: PORTFOLIO by @cosmic79conqueror | Stardance
|
1792475855.3251538
|
1793339855.3251538
|
|
69302
|
Renewable energy certificate Fraud detection by @s Renewable energy certificate Fraud detection by @shreyanshh | Stardance...
|
shreyanshh
|
0
|
8.07
|
0
|
[]
|
[{"post_id": 78985, "ts": "202 [{"post_id": 78985, "ts": "2026-10-12T08:12:56Z", "hours": 8.07, "text": "Built RECON (Renewable Energy Certificate Observation Network) to eliminate double-counting, false telemetry, and fraudulent issuance in clean energy markets using an end-to-end ML verification pipeline paired with blockchain registries: Multi-Stage AI/ML Fraud Pipeline: • Deep Autoencoders: Reconstruct normal time-series generation profiles from power meters/IoT telemetry; elevated reconstruction error isolates anomalous spikes and unfeasible power yields. • Isolation Forests: Unsupervised partition-based anomaly scoring to instantly isolate multidimensional outliers across solar irradiance, wind speed, capacity factors, and reported MWh. • XGBoost Risk Classifier: Gradient-boosted decision trees trained on labeled behavioral signatures to aggregate features into a calibrated composite fraud risk score (0–100%). Blockchain Registry (ERC-721): • Built and deployed smart contracts on Ethereum Sepolia. • Automatically blocks minting if ML risk scores exceed threshold limits. • Issues immutable certificate tokens upon verified generation and burns/retires tokens upon market redemption to prevent double-claiming. Full-Stack Telemetry Dashboard: • Built an analytics dashboard displaying real-time generation metrics, sensor deviations, anomaly scores, and on-chain verification transaction proofs."}]...
|
Title: Renewable energy certificate Fraud detectio Title: Renewable energy certificate Fraud detection by @shreyanshh | Stardance
Devlogs:
Built RECON (Renewable Energy Certificate Observation Network) to eliminate double-counting, false telemetry, and fraudulent issuance in clean energy markets using an end-to-end ML verification pipeline paired with blockchain registries: Multi-Stage AI/ML Fraud Pipeline: • Deep Autoencoders: Reconstruct normal time-series generation profiles from power meters/IoT telemetry; elevated reconstruction error isolates anomalous spikes and unfeasible power yields. • Isolation Forests: Unsupervised partition-based anomaly scoring to instantly isolate multidimensional outliers across solar irradiance, wind speed, capacity factors, and reported MWh. • XGBoost Risk Classifier: Gradient-boosted decision trees trained on labeled behavioral signatures to aggregate features into a calibrated composite fraud risk score (0–100%). Blockchain Registry (ERC-721): • Built and deployed smart contracts on Ethereum Sepolia. • Automatically blocks minting if ML risk scores exceed threshold limits. • Issues immutable certificate tokens upon verified generation and burns/retires tokens upon market redemption to prevent double-claiming. Full-Stack Telemetry Dashboard: • Built an analytics dashboard displaying real-time generation metrics, sensor deviations, anomaly scores, and on-chain verification transaction proofs....
|
1793130879.396735
|
1793735679.396735
|
|
69303
|
a saving and budgeting app for teenagers by @jayyy a saving and budgeting app for teenagers by @jayyy | Stardance...
|
jayyy
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: a saving and budgeting app for teenagers by Title: a saving and budgeting app for teenagers by @jayyy | Stardance...
|
1793130880.2414749
|
1793735680.2414749
|
|
69304
|
My awesome macropad! by @simarjeet | Stardance
|
simarjeet
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @simarjeet | Starda Title: My awesome macropad! by @simarjeet | Stardance...
|
1793130881.0850027
|
1793735681.0850027
|
|
69305
|
NULL
|
NULL
|
0
|
0.0
|
0
|
[]
|
[]
|
|
1792874918.6991735
|
1793738918.6991735
|
|
69306
|
My awesome macropad! by @prateekverma268 | Stardan My awesome macropad! by @prateekverma268 | Stardance...
|
prateekverma268
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @prateekverma268 | Title: My awesome macropad! by @prateekverma268 | Stardance...
|
1793130881.9437304
|
1793735681.9437304
|
|
69307
|
Mini ARDUINO Gaming Console by @mhaidermessi | Sta Mini ARDUINO Gaming Console by @mhaidermessi | Stardance...
|
mhaidermessi
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Mini ARDUINO Gaming Console by @mhaidermess Title: Mini ARDUINO Gaming Console by @mhaidermessi | Stardance...
|
1793130882.8128786
|
1793735682.8128786
|