I’m working on a 6-axis Stewart platform and previously used A4988 drivers with direct GPIO control via the ESP32 and the FastAccelStepper library. Everything was working fine.
Now I’ve switched to the Jackpot board, but I can’t get any of the stepper motors to move.
Here’s what I’ve tried:
I’ve flashed test code using PlatformIO with the FastAccelStepper library.
Verified power and connections are good.
Tried both FastAccelStepper’s latest version and checked for any I2S-specific methods (like setI2sConfig, setI2sPins, etc.)—none exist or work.
Tried moving the motor with simple commands like moveTo(10000) inside setup() and loop(), but no movement.
I understand FluidNC uses I2S for this board (with i2so mapped to GPIO22, GPIO17, GPIO21), and Jackpot’s config YAML reflects that. But I can’t figure out how to make FastAccelStepper work with defining gpio pins, (FastAccelStepper doesnt support i2s pins) as properly with this setup. I’ve also looked into examples and API docs, but no I2S setup examples are available.
Any help or working example for using FastAccelStepper with the Jackpot board and I2S pins would be amazing.
I’m trying to translate what exactly you are trying to do here. Are you trying to modify the FluidNC firmware to add custom kinematics or are you trying to control the Jackpot with entirely custom firmware?
I’m trying to control the jackpot board with entirely custom firmware, not modifying fluidnc.
I want to write my own C++ control logic (for a 6-DOF Stewart platform) using the FastAccelStepper library on ESP32.
I’ve flashed test sketches that work with GPIO step/dir pins (on A4988), but I tried mapping those over to the fluid’s config’s I2S pins (like i2so.2 for STEP, i2so.1 for DIR, etc.) directly in my firmware—but no stepper movement so far. No official FastAccelStepper support docs for I2S on Jackpot either.
Just want to get basic movement working using Jackpot’s onboard drivers and I2S pins, purely from my own firmware.
Well, this is way beyond me. I’m not aware of anyone on this forum having written entirely custom firmware for the Jackpot or any FluidNC board. I don’t think anyone anywhere has done that.
I’m not sure a FluidNC board is the best choice for this project. Any FluidNC board with more than 4 drivers is going to be using I2S. I would be surprised if an ESP32 based board exists with more than 4 drivers due to pin limitations.
I could be wrong (except the part about this being beyond me ). If you do get this working, I would be very curious to see it though!
You’re doing the right thing studying and re-implementing the I2SO implementation in FluidNC. The Jackpot board makes use of a clever hardware acceleration in the ESP-32 to do GPIO expansion.
I’d put the outputs from the ESP-32 at the driver sockets (step/dir/en) on an oscilloscope or logic analyzer and see why you’re not geting motion.
Are your A4988 drivers 3.3V IO compatible?
Jackpot runs FluidNC, and Ryan worked with Bart when designing Jackpot to use a variant of the scheme already used on 6-pack boards. All the result is in the FluidNC codebase.
Some of the new ESP-32 variants have more GPIO, but they aren’t supported by FluidNC.