|
18308
|
servo-like-arduino by @vihaanvp | Stardance
|
vihaanvp
|
0
|
1.14
|
0
|
[]
|
[{"post_id": 8456, "ts": "2026 [{"post_id": 8456, "ts": "2026-06-14T01:58:55Z", "hours": 1.1442, "text": "DevLog #1 – servo-like-arduino Time Logged: 1h 8m Today I began development of servo-like-arduino, a Python library designed to provide Arduino-style servo control syntax while using PyFirmata2 and StandardFirmata behind the scenes. The project started from a desire to control servos connected to an Arduino Nano from a Raspberry Pi while maintaining a familiar Arduino programming experience. After evaluating both PyFirmata and PyFirmata2, I chose PyFirmata2 due to better compatibility with modern Python versions and because it worked without requiring users to manually modify library source files. The first milestone was creating a simple wrapper around PyFirmata2. This wrapper hides Firmata-specific syntax and instead exposes a cleaner Arduino-inspired API. The goal was to make servo control feel similar to programming directly on an Arduino (which is very simple as compared to the default PyFirmata and PyFirmata2 syntax) while still running Python code on a Raspberry Pi. Once the basic functionality was working, I implemented a global board system so that users would not need to repeatedly pass board objects into every function call. This made the library feel much closer to Arduino’s native Servo library and simplified the user experience. After the initial release (v0.1.0), I expanded the functionality for v0.2.0 by adding several new features: Servo.read() Servo.detach() Servo.move_smooth() Servo.sweep() Improved error handling Servo angle validation and clamping Internal servo position tracking A significant portion of the development process involved testing on real hardware. The library was validated using a Raspberry Pi 4 connected to an Arduino Nano running StandardFirmata, with a servo motor attached for testing. This ensured that the library worked correctly in a practical robotics environment rather than only in theory. Following successful testing, I packaged the project using modern Python packaging standards with pyproject.toml, created a GitHub repository, and configured automated publishing to PyPI using GitHub Actions. The most exciting milestone of the session was successfully publishing the library to PyPI. By creating a GitHub Release, the workflow automatically built and uploaded the package, making it publicly installable through pip. This established a complete development, testing, and deployment pipeline for future releases. This session transformed the project from a simple idea into a functional, publicly available Python package with real hardware validation and automated deployment. Future development will focus on improving the servo control experience by adding more advanced servo-related features, refining the API, improving reliability, and expanding the library while maintaining its simple Arduino-inspired programming style. The goal is to provide the easiest and most intuitive way to control servos from Python using Arduino boards flashed with StandardFirmata program. (The Image shows Servo motor and N20 motors (via the TB6612FNG motor driver) connected to an Arduino Nano, which is then connected to a Raspberry Pi, and this was the setup I used to test this wrapper)"}]...
|
Title: servo-like-arduino by @vihaanvp | Stardance Title: servo-like-arduino by @vihaanvp | Stardance
Devlogs:
DevLog #1 – servo-like-arduino Time Logged: 1h 8m Today I began development of servo-like-arduino, a Python library designed to provide Arduino-style servo control syntax while using PyFirmata2 and StandardFirmata behind the scenes. The project started from a desire to control servos connected to an Arduino Nano from a Raspberry Pi while maintaining a familiar Arduino programming experience. After evaluating both PyFirmata and PyFirmata2, I chose PyFirmata2 due to better compatibility with modern Python versions and because it worked without requiring users to manually modify library source files. The first milestone was creating a simple wrapper around PyFirmata2. This wrapper hides Firmata-specific syntax and instead exposes a cleaner Arduino-inspired API. The goal was to make servo control feel similar to programming directly on an Arduino (which is very simple as compared to the default PyFirmata and PyFirmata2 syntax) while still running Python code on a Raspberry Pi. Once the basic functionality was working, I implemented a global board system so that users would not need to repeatedly pass board objects into every function call. This made the library feel much closer to Arduino’s native Servo library and simplified the user experience. After the initial release (v0.1.0), I expanded the functionality for v0.2.0 by adding several new features: Servo.read() Servo.detach() Servo.move_smooth() Servo.sweep() Improved error handling Servo angle validation and clamping Internal servo position tracking A significant portion of the development process involved testing on real hardware. The library was validated using a Raspberry Pi 4 connected to an Arduino Nano running StandardFirmata, with a servo motor attached for testing. This ensured that the library worked correctly in a practical robotics environment rather than only in theory. Following successful testing, I packaged the project using modern Python packaging standards with pyproject.toml, created a GitHub repository, and configured automated publishing to PyPI using GitHub Actions. The most exciting milestone of the session was successfully publishing the library to PyPI. By creating a GitHub Release, the workflow automatically built and uploaded the package, making it publicly installable through pip. This established a complete development, testing, and deployment pipeline for future releases. This session transformed the project from a simple idea into a functional, publicly available Python package with real hardware validation and automated deployment. Future development will focus on improving the servo control experience by adding more advanced servo-related features, refining the API, improving reliability, and expanding the library while maintaining its simple Arduino-inspired programming style. The goal is to provide the easiest and most intuitive way to control servos from Python using Arduino boards flashed with StandardFirmata program. (The Image shows Servo motor and N20 motors (via the TB6612FNG motor driver) connected to an Arduino Nano, which is then connected to a Raspberry Pi, and this was the setup I used to test this wrapper)...
|
1793224392.6747801
|
1793829192.6747801
|
|
18317
|
motor-like-arduino by @vihaanvp | Stardance
|
vihaanvp
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: motor-like-arduino by @vihaanvp | Stardance
|
1792795715.4309132
|
1793400515.4309132
|
|
54973
|
car race game by @vihaanreddyy | Stardance
|
vihaanreddyy
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: car race game by @vihaanreddyy | Stardance
|
1793134060.0934289
|
1793738860.0934289
|
|
23738
|
Macropad by @vihaanp22 | Stardance
|
vihaanp22
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Macropad by @vihaanp22 | Stardance
|
1793216887.1387637
|
1793821687.1387637
|
|
24096
|
My very own WebOS by @vihaanp22 | Stardance
|
vihaanp22
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My very own WebOS by @vihaanp22 | Stardance
|
1792770586.8725345
|
1793375386.8725345
|
|
15444
|
Collegemaxx by @vihaannarkhede29 | Stardance
|
vihaannarkhede29
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Collegemaxx by @vihaannarkhede29 | Stardanc Title: Collegemaxx by @vihaannarkhede29 | Stardance...
|
1793263955.9097703
|
1793868755.9097703
|
|
27723
|
My awesome macropad! by @vihaanmody1 | Stardance
|
vihaanmody1
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @vihaanmody1 | Star Title: My awesome macropad! by @vihaanmody1 | Stardance...
|
1792738100.022138
|
1793342900.022138
|
|
27729
|
Untitled by @vihaanmody1 | Stardance
|
vihaanmody1
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @vihaanmody1 | Stardance
|
1793335866.3811219
|
1793940666.3811219
|
|
24063
|
My awesome macropad! by @vihaanmathur712 | Stardan My awesome macropad! by @vihaanmathur712 | Stardance...
|
vihaanmathur712
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @vihaanmathur712 | Title: My awesome macropad! by @vihaanmathur712 | Stardance...
|
1793202872.32406
|
1793807672.32406
|
|
22518
|
My awesome macropad! by @vihaankorat287 | Stardanc My awesome macropad! by @vihaankorat287 | Stardance...
|
vihaankorat287
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @vihaankorat287 | S Title: My awesome macropad! by @vihaankorat287 | Stardance...
|
1793191912.928319
|
1793796712.928319
|
|
22488
|
My awesome macropad! by @vihaankorat | Stardance
|
vihaankorat
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @vihaankorat | Star Title: My awesome macropad! by @vihaankorat | Stardance...
|
1792709581.318972
|
1793314381.318972
|
|
20503
|
My very own WebOS by @vihaankommireddy | Stardance
|
vihaankommireddy
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My very own WebOS by @vihaankommireddy | St Title: My very own WebOS by @vihaankommireddy | Stardance...
|
1792709671.4963043
|
1793314471.4963043
|
|
59062
|
My awesome macropad! by @vihaanjoshi202 | Stardanc My awesome macropad! by @vihaanjoshi202 | Stardance...
|
vihaanjoshi202
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @vihaanjoshi202 | S Title: My awesome macropad! by @vihaanjoshi202 | Stardance...
|
1792781502.2685885
|
1793386302.2685885
|
|
16780
|
My very own WebOS by @vihaanadarsha018 | Stardance
|
vihaanadarsha018
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My very own WebOS by @vihaanadarsha018 | St Title: My very own WebOS by @vihaanadarsha018 | Stardance...
|
1792730971.6300414
|
1793335771.6300414
|
|
16798
|
My awesome macropad! by @vihaanadarsha018 | Starda My awesome macropad! by @vihaanadarsha018 | Stardance...
|
vihaanadarsha018
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @vihaanadarsha018 | Title: My awesome macropad! by @vihaanadarsha018 | Stardance...
|
1792752529.066402
|
1793357329.066402
|
|
49662
|
Frictionless by @vihaan_shah | Stardance
|
vihaan_shah
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Frictionless by @vihaan_shah | Stardance
|
1793296596.5405595
|
1793901396.5405595
|
|
20962
|
Frictionless by @vihaan_s | Stardance
|
vihaan_s
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Frictionless by @vihaan_s | Stardance
|
1793188076.0756364
|
1793792876.0756364
|
|
19578
|
My very own WebOS by @vihaan_jois | Stardance
|
vihaan_jois
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My very own WebOS by @vihaan_jois | Stardan Title: My very own WebOS by @vihaan_jois | Stardance...
|
1793281922.378908
|
1793886722.378908
|
|
38406
|
3D printable robotic hand by @vihaan_111011 | Star 3D printable robotic hand by @vihaan_111011 | Stardance...
|
vihaan_111011
|
0
|
7.73
|
0
|
[]
|
[{"post_id": 37245, "ts": "202 [{"post_id": 37245, "ts": "2026-07-29T20:04:46Z", "hours": 0.6172, "text": "i transferred my project from pycharm to vscode. Fixed some issues with webcam initialization…"}, {"post_id": 36757, "ts": "2026-07-29T00:51:37Z", "hours": 1.0833, "text": "-modeled the hand to resemble the natural shape of a human hand -structural polishing"}, {"post_id": 36442, "ts": "2026-07-28T15:54:53Z", "hours": 1.0336, "text": "Wrote a basic vision-based program to track hand movement and translate them into servo angles for my robotic arm."}, {"post_id": 35509, "ts": "2026-07-27T00:00:42Z", "hours": 3.5264, "text": "made servo housings(i originally recorded this on lookout but it wouldn’t let me post)"}, {"post_id": 33484, "ts": "2026-07-23T13:55:29Z", "hours": 1.4733, "text": "Got to work on the initial modeling. Finished: -Joint relationships -Fingers/palm -Holes for “tendon” routing Started working on: -Forearm structure -Servo housings https://lapse.hackclub.com/timelapse/aKUzTc66qs3I"}]...
|
Title: 3D printable robotic hand by @vihaan_111011 Title: 3D printable robotic hand by @vihaan_111011 | Stardance
Devlogs:
Got to work on the initial modeling. Finished: -Joint relationships -Fingers/palm -Holes for “tendon” routing Started working on: -Forearm structure -Servo housings https://lapse.hackclub.com/timelapse/aKUzTc66qs3I
made servo housings(i originally recorded this on lookout but it wouldn’t let me post)
Wrote a basic vision-based program to track hand movement and translate them into servo angles for my robotic arm.
-modeled the hand to resemble the natural shape of a human hand -structural polishing
i transferred my project from pycharm to vscode. Fixed some issues with webcam initialization…...
|
1792713016.172788
|
1793317816.172788
|
|
28629
|
My first slack bot! by @vihaanT | Stardance
|
vihaanT
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @vihaanT | Stardance
|
1793181169.962362
|
1793785969.962362
|
|
54969
|
car racing game by @vihaan12 | Stardance
|
vihaan12
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: car racing game by @vihaan12 | Stardance
|
1793134050.0502555
|
1793738850.0502555
|
|
13513
|
My awesome macropad! by @vignesh_lalith_sriram | S My awesome macropad! by @vignesh_lalith_sriram | Stardance...
|
vignesh_lalith_sriram
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @vignesh_lalith_sri Title: My awesome macropad! by @vignesh_lalith_sriram | Stardance...
|
1793202732.4338992
|
1793807532.4338992
|
|
47634
|
Smart mirror using raspberry pi by @vighneshparkar Smart mirror using raspberry pi by @vighneshparkar | Stardance...
|
vighneshparkar
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Smart mirror using raspberry pi by @vighnes Title: Smart mirror using raspberry pi by @vighneshparkar | Stardance...
|
1793188471.57418
|
1793793271.57418
|
|
37000
|
Untitled project by @vidzebj | Stardance
|
vidzebj
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled project by @vidzebj | Stardance
|
1793029653.7143395
|
1793634453.7143395
|
|
37015
|
Untitled by @vidzebj | Stardance
|
vidzebj
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @vidzebj | Stardance
|
1792702386.3440075
|
1793307186.3440075
|
|
24457
|
Micro cansat! by @vidyutdaGOAT | Stardance
|
vidyutdaGOAT
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Micro cansat! by @vidyutdaGOAT | Stardance
|
1792784908.9451835
|
1793389708.9451835
|
|
46300
|
HORIZON by @vidyutdaGOAT | Stardance
|
vidyutdaGOAT
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: HORIZON by @vidyutdaGOAT | Stardance
|
1793379190.5154722
|
1793983990.5154722
|
|
27560
|
My first slack bot! by @vidushi | Stardance
|
vidushi
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @vidushi | Stardance
|
1792759970.9659505
|
1793364770.9659505
|
|
16348
|
Untitled project by @viduna | Stardance
|
viduna
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled project by @viduna | Stardance
|
1793314389.2391698
|
1793919189.2391698
|
|
8107
|
e by @vidobi6175 | Stardance
|
vidobi6175
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: e by @vidobi6175 | Stardance
|
1792759845.9022193
|
1793364645.9022193
|
|
53948
|
WarioWare Game by @vidhunramvenkatachalam | Starda WarioWare Game by @vidhunramvenkatachalam | Stardance...
|
vidhunramvenkatachalam
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: WarioWare Game by @vidhunramvenkatachalam | Title: WarioWare Game by @vidhunramvenkatachalam | Stardance...
|
1792770477.3513849
|
1793375277.3513849
|
|
18885
|
My very own WebOS by @vidhugprasad2010 | Stardance
|
vidhugprasad2010
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My very own WebOS by @vidhugprasad2010 | St Title: My very own WebOS by @vidhugprasad2010 | Stardance...
|
1792691454.3583364
|
1793296254.3583364
|
|
18900
|
Untitled by @vidhugprasad2010 | Stardance
|
vidhugprasad2010
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @vidhugprasad2010 | Stardance
|
1793170104.0161097
|
1793774904.0161097
|
|
66183
|
My own site! by @vidhathri_B | Stardance
|
vidhathri_B
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My own site! by @vidhathri_B | Stardance
|
1793094815.5352423
|
1793699615.5352423
|
|
21653
|
My first slack bot! by @vidhansurana23 | Stardance
|
vidhansurana23
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @vidhansurana23 | St Title: My first slack bot! by @vidhansurana23 | Stardance...
|
1793170266.5085309
|
1793775066.5085309
|
|
71127
|
keybored by @vidhansurana23 | Stardance
|
vidhansurana23
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: keybored by @vidhansurana23 | Stardance
|
1792824444.2948716
|
1793429244.2948716
|
|
13310
|
Dual Differential Chassis by @videoikea | Stardanc Dual Differential Chassis by @videoikea | Stardance...
|
videoikea
|
0
|
0.89
|
0
|
[]
|
[{"post_id": 5257, "ts": "2026 [{"post_id": 5257, "ts": "2026-06-08T23:37:46Z", "hours": 0.36, "text": "Now that the budget is finalized and the CAD is ready, I imported all of the parts that would be used (except for the ones on the PCB) so that they would have the same dimensions as the actual parts, be low-poly, and look similar in Onshape to the real parts. (The main reason this took so long was that I got a little sidetracked and tried to perfectly match the dimensions of the heat-set insert, which was hard since the seller I am getting it from is a somewhat shady, low-documentation vendor.)"}, {"post_id": 5224, "ts": "2026-06-08T22:42:40Z", "hours": 0.5269, "text": "After spending almost 2 hours selecting parts and making them fit under a $200 budget (it costs $198.27, so very close), I started the master sketch. Thankfully, since most of the electronics are integrated into 1 PCB instead of there being tons of wires and breakout boards, I was able to draw 1 rectangle and be done with the electrical layout (so relieving). The other mechanical components fit pretty well into the footprint, so I am grateful for that as well."}]...
|
Title: Dual Differential Chassis by @videoikea | S Title: Dual Differential Chassis by @videoikea | Stardance
Devlogs:
After spending almost 2 hours selecting parts and making them fit under a $200 budget (it costs $198.27, so very close), I started the master sketch. Thankfully, since most of the electronics are integrated into 1 PCB instead of there being tons of wires and breakout boards, I was able to draw 1 rectangle and be done with the electrical layout (so relieving). The other mechanical components fit pretty well into the footprint, so I am grateful for that as well.
Now that the budget is finalized and the CAD is ready, I imported all of the parts that would be used (except for the ones on the PCB) so that they would have the same dimensions as the actual parts, be low-poly, and look similar in Onshape to the real parts. (The main reason this took so long was that I got a little sidetracked and tried to perfectly match the dimensions of the heat-set insert, which was hard since the seller I am getting it from is a somewhat shady, low-documentation vendor.)...
|
1792695246.386225
|
1793300046.386225
|
|
67548
|
automatic water level sence by @victorywin282 | St automatic water level sence by @victorywin282 | Stardance...
|
victorywin282
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: automatic water level sence by @victorywin2 Title: automatic water level sence by @victorywin282 | Stardance...
|
1793112594.812444
|
1793717394.812444
|
|
32082
|
Frictionless by @victorpetrescu | Stardance
|
victorpetrescu
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Frictionless by @victorpetrescu | Stardance
|
1793163206.7312822
|
1793768006.7312822
|
|
70307
|
viblog by @victorpetrescu | Stardance
|
victorpetrescu
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: viblog by @victorpetrescu | Stardance
|
1792986780.2311976
|
1793591580.2311976
|
|
71798
|
My awesome macropad! by @victormartinez | Stardanc My awesome macropad! by @victormartinez | Stardance...
|
victormartinez
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @victormartinez | S Title: My awesome macropad! by @victormartinez | Stardance...
|
1793213240.5541198
|
1793818040.5541198
|
|
71801
|
hola by @victormartinez | Stardance
|
victormartinez
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: hola by @victormartinez | Stardance
|
1793213243.5587485
|
1793818043.5587485
|
|
6477
|
Light tracker by @victorisness | Stardance
|
victorisness
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Light tracker by @victorisness | Stardance
|
1793256573.2618861
|
1793861373.2618861
|
|
6484
|
Untitled by @victorisness | Stardance
|
victorisness
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @victorisness | Stardance
|
1792752654.587155
|
1793357454.587155
|
|
6485
|
Untitled by @victorisness | Stardance
|
victorisness
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @victorisness | Stardance
|
1793285736.706128
|
1793890536.706128
|
|
6486
|
Untitled by @victorisness | Stardance
|
victorisness
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @victorisness | Stardance
|
1792698871.2923634
|
1793303671.2923634
|
|
68359
|
chrome extension by @victorini13 | Stardance
|
victorini13
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: chrome extension by @victorini13 | Stardanc Title: chrome extension by @victorini13 | Stardance...
|
1793120021.3709204
|
1793724821.3709204
|
|
54807
|
temp files cleaning batch file by @victorini | Sta temp files cleaning batch file by @victorini | Stardance...
|
victorini
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: temp files cleaning batch file by @victorin Title: temp files cleaning batch file by @victorini | Stardance...
|
1792806607.772299
|
1793411407.772299
|
|
33575
|
My own site! by @victorii | Stardance
|
victorii
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My own site! by @victorii | Stardance
|
1793166722.548832
|
1793771522.548832
|
|
12090
|
My awesome macropad! by @victoriad | Stardance
|
victoriad
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @victoriad | Starda Title: My awesome macropad! by @victoriad | Stardance...
|
1792795703.0820265
|
1793400503.0820265
|