Repository navigation
ESP32-S3 experimental motion stack: Fixed-Time Motion, S-curve and input shaping #222
Robik123445
started this conversation in
Show and tell
Replies: 2 comments
It would be easier to check if your repo was a fork. |
0 replies
|
Hi Terje,
Thanks, that makes sense. I reorganized the work into a branch on my
actual grblHAL/ESP32 fork so it should be much easier to inspect
against upstream:
https://github.com/Robik123445/ESP32/tree/experimental-motion-s3
I also added a short review guide here:
https://github.com/Robik123445/ESP32/blob/experimental-motion-s3/UPSTREAM_REVIEW.md
The guide separates the ESP32-side changes from the few modified
submodule files and lists the exact base commits used, so it should be
easier to see what might be useful upstream. The original
ESP32-Experimental repository remains the complete experimental
snapshot.
The current state is still experimental. I have only had limited time
for systematic physical testing. It is already running on a real CNC,
and with NEMA23 motors and TB6600-class drivers the motors seem
noticeably quieter and the motion feels smoother. At the moment the
machine also feels slower than before, but I have not retuned the
machine yet. My previous grblHAL configuration was tuned quite
aggressively.
My wife also uses the machine for actual product work, and her first
practical operator feedback was simply that it feels slower. I am
treating that as useful operator feedback, not as a measured result.
ESP32-S3 target support is included as part of the work. The
experimental motion features are intended to default OFF.
I hope this layout is easier to review.
Best regards,
Robert
…On Tue, 06 Oct 2026 00:31:46 -0700, Terje Io ***@***.***> wrote:
whether any part of this approach could be useful upstream
It would be easier to check if your repo was a fork.
—
Reply to this email directly, [view it on GitHub](#222?email_source=notifications&email_token=A6O36L4OT5AQBXMFPCCYTUL5SSNWFA5CNFSNUABIM5UWIORPF5TWS5BNNB2WEL2ENFZWG5LTONUW63SDN5WW2ZLOOQXTCOBXG4ZDKMZRUZZGKYLTN5XKMYLVORUG64VFMV3GK3TUVRTG633UMVZF6Y3MNFRWW#discussioncomment-18772531), or [unsubscribe](https://github.com/notifications/unsubscribe-auth/A6O36LZWVH76GZB2NAQMGBL5SSNWFAVCNFSNUABIKJSXA33TNF2G64TZHMZTIMJSGY4TQMJSHNCGS43DOVZXG2LPNY5TCMBYHE2TONBRUF3AE).
You are receiving this because you authored the thread.
|
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Hi,
I have been experimenting with the ESP32-S3 grblHAL driver and created a separate experimental repository to explore a different motion-control path while keeping the existing grblHAL CNC parser, planner integration and native STEP/DIR HAL.
The experiment currently includes:
Some of the ideas are inspired by the Fixed-Time Motion and input-shaping work available in Marlin, but the implementation is integrated into the grblHAL architecture rather than porting Marlin itself.
The current pipeline is roughly:
G-code / grblHAL parser
→ grblHAL planner
→ jerk-aware lookahead
→ analytic S-curve or trapezoid
→ 1 kHz position sampling
→ optional ZV input shaping
→ optional smoothing
→ absolute step quantization
→ native grblHAL segment buffer
→ Bresenham STEP ISR
→ ESP32-S3 timer/RMT STEP-DIR
The software side has been tested with multiple build configurations, analytic motion tests, randomized multi-block paths, pulse-count/end-position checks, hold/resume, starvation/abort handling and sanitizer tests.
Physical machine validation is still pending, so I am not presenting this as production-ready firmware.
Repository:
https://github.com/Robik123445/ESP32-Experimental
I would be very interested in feedback from people familiar with the grblHAL planner and stepper internals, especially around:
Feel free to tear it apart technically. That is exactly why I am posting it here.
Thanks.
All reactions