Getting started with Jackpot on LR3

OK, so I think my mistake was trying out the STA mode before I read this bit of warning:

If you choose to do this disabling SSDP is reccomended to save memory.

After that, the Jackpot was presumably connecting to my home wifi network, but I could not connect to the web interface after that.

I had the correct USB to UART drivers installed on my Mac (it would seem), but I was unable to do a firmware install from the Mac.

I did finally get a firmware re-install done by installing the USB to UART drivers onto my Windows 11 virtual machine, and running the web-based firmware uploader from the Windows side.

Now I just need to figure out how to upload the config files etc.

1 Like

@vicious1

I’m trying to re-upload config files using “the browser based tool by Joacim,” however, that tool seems work fine for reinstalling the firmware but I am unable to get config files uploaded with it. I tried the terminal, in both Mac and Windows, but it’s not echoing, and I don’t know how to get it to echo, and pressing Ctrl+U for uploading a file, does not seem to work. Can you or anyone give me any tips? I need to reset the device, as I cannot access the web based GUI at this time.

https://docs.v1e.com/electronics/jackpot/#updating

UPDATE: please disregard. After I got the firmware reinstalled, the web based GUI is now available again. Later, when I get back, I will attempt to use the interface to upload the files.

1 Like

He just changed something. (you can pull the esp off and use the USB that way, I will let him know something changed).

If you log in from the computer with the config file is it easy to upload. Just click on the file manager you can upload from there.

2 Likes

I was confident I’d be able to use the web-based GUI to upload the files, but it’s not working for me. In order to try to choose a file to upload, I’m clicking on the “Upload files” button. But when I click it, nothing happens. I also tried dragging and dropping — but nothing happens then either. The “Create folder” button causes a dialog for entering a folder name, and the “Root” button seems to work, but I cannot choose a file to upload to save my life. Tips? Advice?

I’m on a Mac, and I’m connecting directly to the Jackpot’s internal wifi network “FluidNC.”

UPDATE: Please disregard. I got success! The key was, I had to not use the “instant pop up” version of the interface. I had to ignore that one, and manually in my browser go to 192.168.0.1 and use that one. I’m back into the interface, with the V1E files loaded, and ready to test my modified YAML file! All good for now!

3 Likes

OK, so new issue, after all prior issues above are worked out. It has me stumped.

My stepper driver for the gantry was working, but now is not. The non-moving stepper motor is HOT.

My X and Y are swapped, so this is my Y axis.

I’ve inspected the wiring as carefully as I can. I also used process of elimination to “prove” it is not a wiring issue — I connected the Y wires to the next driver over, and the stepper goes to town.

This leaves the possibility of a configuration issue (config.yaml?) or a TMC2209 driver issue (seems unlikely?).

I then did process of elimination by swapping the TMC2209’s from X and Y with each other. The suspect driver works fine in the adjacent slot, and the known good driver does not provide action in the slot in focus.

Attached is my config file. Can any sharp eyed maker spot something I’ve missed?

board: Jackpot TMC2209
name: LowRider
meta: 10-30-2023 RyanZ; 11-12-2023 DougJoseph for swapped X and Y

planner_blocks: 32

stepping:
  engine: I2S_STATIC
  idle_ms: 255
  pulse_us: 1
  dir_delay_us: 1
  disable_delay_us: 0
  
uart1:
  txd_pin: gpio.0
  rxd_pin: gpio.4
  rts_pin: NO_PIN
  baud: 115200
  mode: 8N1

axes:
  shared_stepper_disable_pin: NO_PIN
          
  x:
    steps_per_mm: 50.000
    max_rate_mm_per_min: 9000.000
    acceleration_mm_per_sec2: 200.000
    max_travel_mm: 2470
    soft_limits: false
    homing:
      cycle: 3
      positive_direction: false
      mpos_mm: 0
      feed_mm_per_min: 300.000
      seek_mm_per_min: 1500.000
      settle_ms: 500
      seek_scaler: 1.100
      feed_scaler: 1.100
    #X
    motor0:
      limit_neg_pin: gpio.25:high
      limit_pos_pin: NO_PIN
      limit_all_pin: NO_PIN
      hard_limits: false
      pulloff_mm: 4.000
      tmc_2209:
        uart_num: 1
        addr: 0
        cs_pin: NO_PIN
        r_sense_ohms: 0.110
        run_amps: 0.680
        hold_amps: 0.500
        microsteps: 8
        stallguard: 0
        stallguard_debug: false
        toff_disable: 0
        toff_stealthchop: 5
        toff_coolstep: 3
        run_mode: StealthChop
        homing_mode: StealthChop
        use_enable: false
        direction_pin: I2SO.1
        step_pin: I2SO.2
        disable_pin: I2SO.0      

    #A
    motor1:
      limit_neg_pin: gpio.35:high
      limit_pos_pin: NO_PIN
      limit_all_pin: NO_PIN
      hard_limits: false
      pulloff_mm: 4.000
      tmc_2209:
        uart_num: 1
        addr: 3
        cs_pin: i2so.14
        r_sense_ohms: 0.110
        run_amps: 0.680
        hold_amps: 0.500
        microsteps: 8
        stallguard: 0
        stallguard_debug: false
        toff_disable: 0
        toff_stealthchop: 5
        toff_coolstep: 3
        run_mode: StealthChop
        homing_mode: StealthChop
        use_enable: false
        step_pin: I2SO.13
        direction_pin: I2SO.12
        disable_pin: I2SO.15        

   y:
    steps_per_mm: 50.000
    max_rate_mm_per_min: 9000.000
    acceleration_mm_per_sec2: 200.000
    max_travel_mm: 1250
    soft_limits: false
    homing:
      cycle: 3
      positive_direction: false
      mpos_mm: 0
      feed_mm_per_min: 300.000
      seek_mm_per_min: 1500.000
      settle_ms: 500
      seek_scaler: 1.100
      feed_scaler: 1.100
    #Y
    motor0:
      limit_neg_pin: gpio.33:high
      limit_pos_pin: NO_PIN
      limit_all_pin: NO_PIN
      hard_limits: false
      pulloff_mm: 4.000
      tmc_2209:
        uart_num: 1
        addr: 1
        cs_pin: NO_PIN
        r_sense_ohms: 0.110
        run_amps: 0.680
        hold_amps: 0.500
        microsteps: 8
        stallguard: 0
        stallguard_debug: false
        toff_disable: 0
        toff_stealthchop: 5
        toff_coolstep: 3
        run_mode: StealthChop
        homing_mode: StealthChop
        use_enable: false
        step_pin: I2SO.5
        direction_pin: I2SO.4
        disable_pin: I2SO.7

  z:
    steps_per_mm: 200.000
    max_rate_mm_per_min: 1200.000
    acceleration_mm_per_sec2: 80.000
    max_travel_mm: 300.000
    soft_limits: false
    homing:
      cycle: 1
      positive_direction: true
      mpos_mm: 0
      feed_mm_per_min: 300.000
      seek_mm_per_min: 800.000
      settle_ms: 500
      seek_scaler: 1.100
      feed_scaler: 1.100

    motor0:
      limit_neg_pin: NO_PIN
      limit_pos_pin: gpio.32:high
      limit_all_pin: NO_PIN
      hard_limits: false
      pulloff_mm: 4.000
      tmc_2209:
        uart_num: 1
        addr: 2
        cs_pin: NO_PIN
        r_sense_ohms: 0.110
        run_amps: 0.680
        hold_amps: 0.500
        microsteps: 8
        stallguard: 0
        stallguard_debug: false
        toff_disable: 0
        toff_stealthchop: 5
        toff_coolstep: 3
        run_mode: StealthChop
        homing_mode: StealthChop
        use_enable: false
        step_pin: I2SO.10
        direction_pin: I2SO.9
        disable_pin: I2SO.8

     #B
    motor1:
      limit_neg_pin: NO_PIN
      limit_pos_pin: gpio.34:high
      limit_all_pin: NO_PIN
      hard_limits: false
      pulloff_mm: 4.000
      tmc_2209:
        uart_num: 1
        addr: 3
        cs_pin: i2so.19
        r_sense_ohms: 0.110
        run_amps: 0.680
        hold_amps: 0.500
        microsteps: 8
        stallguard: 0
        stallguard_debug: false
        toff_disable: 0
        toff_stealthchop: 5
        toff_coolstep: 3
        run_mode: StealthChop
        homing_mode: StealthChop
        use_enable: false
        step_pin: I2SO.18
        direction_pin: I2SO.17
        disable_pin: I2SO.16       
                 
#  c:
#    steps_per_mm: 80.000
#    max_rate_mm_per_min: 5000.000
#    acceleration_mm_per_sec2: 100.000
#    max_travel_mm: 300.000
#    soft_limits: false
#    homing:
#      cycle: 0
#      positive_direction: true
#      mpos_mm: 150.000
#      feed_mm_per_min: 100.000
#      seek_mm_per_min: 800.000
#      settle_ms: 500
#      seek_scaler: 1.100
#      feed_scaler: 1.100
#
#    motor0:
#      limit_neg_pin: gpio.39:low
#      limit_pos_pin: NO_PIN
#      limit_all_pin: NO_PIN
#      hard_limits: false
#      pulloff_mm: 3.000
#      tmc_2209:
#        uart_num: 1
#        addr: 3
#        cs_pin: i2so.22
#        r_sense_ohms: 0.110
#        run_amps: .1
#        hold_amps: 0.050
#        microsteps: 16
#        stallguard: 0
#        stallguard_debug: false
#        toff_disable: 0
#        toff_stealthchop: 5
#        toff_coolstep: 3
#        run_mode: StealthChop
#        homing_mode: StealthChop
#        use_enable: false
#        step_pin: I2SO.21
#        direction_pin: I2SO.20
#        disable_pin: I2SO.23


i2so:
  bck_pin: gpio.22
  data_pin: gpio.21
  ws_pin: gpio.17

spi:
  miso_pin: gpio.19
  mosi_pin: gpio.23
  sck_pin: gpio.18

sdcard:
  cs_pin: gpio.5
  card_detect_pin: NO_PIN
  frequency_hz: 20000000

probe:
  pin: gpio.36:low
  toolsetter_pin: NO_PIN
  check_mode_start: true

start:
  must_home: false

coolant:
  flood_pin: gpio.2
  mist_pin: gpio.16
  delay_ms: 0

control:
  safety_door_pin: NO_PIN
  reset_pin: NO_PIN
  feed_hold_pin: NO_PIN
  cycle_start_pin: NO_PIN
  macro0_pin: NO_PIN
  macro1_pin: NO_PIN
  macro2_pin: NO_PIN
  macro3_pin: NO_PIN  

macros:
  startup_line0:
  startup_line1:
  macro0:
  macro1:
  macro2:
  macro3:
  
user_outputs:
  analog0_pin: NO_PIN
  analog1_pin: NO_PIN
  analog2_pin: NO_PIN
  analog3_pin: NO_PIN
  analog0_hz: 5000
  analog1_hz: 5000
  analog2_hz: 5000
  analog3_hz: 5000
  digital0_pin: gpio.26
  digital1_pin: gpio.27
  digital2_pin: NO_PIN
  digital3_pin: NO_PIN

#Laser:
#  pwm_hz: 5000
#  output_pin: gpio.27
#  enable_pin: NO_PIN
#  disable_with_s0: false
#  s0_with_disable: true
#  tool_num: 0
#  speed_map: 0=0.000% 255=100.000%
#  off_on_alarm: true

# pwm:
#  pwm_hz: 5000
#  direction_pin: gpio.26
#  output_pin: gpio.27
#  enable_pin: NO_PIN
#  disable_with_s0: false
#  s0_with_disable: true
#  spinup_ms: 0
#  spindown_ms: 0
#  tool_num: 0
#  speed_map: 0=0.000% 1000=100.000%
#  off_on_alarm: false

# 5V out gpio.26/27
# VMot out gpoi.2/16
# In's left to right gpoi.25/33/32/35/34/39/36

@DougJoseph

You need to unplug the USB and power cycle the power supply.

You can’t have the USB plugged in to the ESP32 before the power supply is turned on or the TMC2209 drivers won’t load the config settings.

@Britt
There is no USB power to the board. It’s been power cycled multiple times with only the power to the board (no USB connected).

@DougJoseph

Ok, that was the first thing that happened to me with the Jackpot. I plugged in the USB first and had hot stepper motors.

The last time I had this happen I found that the indents in the config.yaml were off for one of the motors. Do you have a text editor that will show you the invisible text like spaces?

The one motor had an extra leading space in several lines of the config.

I decided to carefully inventory the motor attribute values named “addr”

I found the Z2 was misnamed “addr: 3” when in theory it should say “addr: 4” (because the Y2, which on my modified-swapped-XY-axes is X2) is already listed as “addr: 3”

But could that cause this? And since the “error” (if it is one) is present in @vicious1’s Ryan’s original file, then it could hardly be causing much problems, right?

This is very interesting to me. Is the FluidNC system that finicky in parsing the file, that whitespace can throw it off?

Yes, it’s in the FluidNC wiki. I searched for quite a while and finally found it. Once I fixed the spacing the motor worked correctly.
I see that your x: lines have different spacing compared to the y: lines.
It should be 2 spaces, 4 spaces, and 6 spaces.

2 spaces x:
4 spaces steps_per_mm: 50.000
6 spaces cycle: 3

Whenever you reconfigure something, even when the initial was wrong errors can always show up bigger than they did. Again I am not fluent in how the jackpot works yet (when I get time I’ll read up how it was built and what they did) but general knowledge says it can

The spaces can matter as @Britt said. It all depends how they have the board pull the code.

1 Like

OK, I just checked the Wiki (menu item “File Specifications”), and the key parts regarding formatting and whitespace etc, are this:

  • Non-supported keys will be ignored and print an error on startup like [MSG:ERR: Ignored key frodo]
  • Trailing whitespace after key values will cause errors.
  • Add a blank space after the colon, like board: 6 Pack
  • End file with at least one blank line. The last line must have a line end, so have at least one blank line at the end of the file.
  • Indentation is critical. All sub items in a section must have the exact same indent level. Use spaces, not tabs.
  • Length of the filename including “.yaml” shall not exceed 30 characters.

Of those, the areas where I’m most likely to have offended, would be either or both “Trailing whitespace after a key value,” or “Use spaces, not tabs” on the indents. I will go back and use caution to check my formatting.

1 Like

That was the culprit! I have motion on that axis now! You guys are amazing! Thank you!

3 Likes

One more bit of help. Is there any place to attach a wire lead as an antenna to help the Jackpot board’s wifi strength? When I put the printed lid on the case, the wifi signal strength goes from full bars, to only one bar. Also I am noticing that I’m frequently getting bumped off my wifi connection to it. This seems to be related to the signal strength?

Should be

Seems weird that PLA is hindering the signal by so much… should be some way to attached antenna, I really need to read the spec sheet… grrrr day job being extra busy lately.

Temp solution could be to rip a hole in the PLA above the WiFi module. 1/2” should be enough to let enough frequencies to travel through. It’s just… I mean… it should travel through the PLA…

Do you have fans on your cover? PLA is not going to knock out the signal by that much. I use a pla lid and I can see the signal at my neighbor’s house.

1 Like

To iterate on this, maybe a photo of both the cover and board?

There is a fan attached to the base. The air it’s pushing out is warm enough that I’d prefer to keep it, but if it is causing interference, maybe I could re-route the wire, or otherwise wire it differently. The Notcua 40mm fan has a third wire (yellow) not connected to anything. Could that be a ground? Would connecting it help anything?

“PLA is not PLA” :slight_smile:
PLA is notorious for absorbing water, and wrapping a 2.4Ghz device in water is fantastic attenuator. There’s a reason that microwave ovens operate at 2.4Ghz- this is the water line.
It’s hit-or-miss what various individual filaments may have as additives (contaminates) or how much water they entrap. Even though it is all allegedly just PLA.

Doug- can you put a plexiglass or lexan cover in place? Or perhaps print an ABS cover as a test?