Ender-3 V3 SE: config settings to roll our own firmware please

This happens when the information is not available for the plugin. Meaning that somehow Octoprint cached the metadata but is not available to the plugin. Usually it happens when you press directly “Print” to an already loaded or used Item in the list.

I don’t know why the Octoprint API doesn’t give the info or the payload. A workaround is to load another item and then reload the desired one it should update the Octoprint payload and the plugin should work as usual.

Hi there. Looks like you have an enclosure right?
I have seen another printer with an enclosure that messed up the LCD and I guess is due to the heat.

The first image that you shared shows the controls out of position or not render at all specially in the lower part. Speaking from the code itself is not possible to render the UI in that way because everything is set by coordinates of the LCD, the render is not dynamically loaded, it is most like a snapshot loaded in one shot particularly the lower part which is from factory features.

When you press the tune and go back it fixes again because the Print job is reloaded again so this time it render everything correctly.

The new release has not fix for that it has the new grid and the extruder flow option only. If the issue is with the heat then is going to happen again.

I would recommend to try to extend and take out from the enclosure the LCD or test without the enclosure a while.

About the pause issue this is something that was fixed some releases ago and as explained in the release notes, if you are connected already with Octoprint and pause the printer the pause message will be sent to the host(your computer) and it must be resumed from there. If Octoprint is not connected then you can use the LCD knob. It’s the only way to making work, cannot mix inputs anymore to avoid issues while the Hosts commands are enabled.

Hi @Iroh3d

Not sure if this helps but I am very sure this did not happen before the firmware or the E3v3seprintjobdetails plugin was updated. I might roll back the E3v3seprintjobdetails to 0.1.5 and test to rule it out if that could be the cause or not.

Hi Bruce, most probably is the update of the Octoprint plugin since it changed how to retrieve all the data. But that was needed to use folders and avoid issues reading the files. But still the Octoprint API is not giving back the information, I don’t understand why the API cannot give the information back.

Hi @Iroh3d

I can confirm it is the E3v3seprintjobdetails plugin.

As I dont store files in folders and delete files after printing I dont need 0.1.6

Hello, I’m a newbie, my printer has been sitting idle for a year. Somewhere I saw information about firmware 1.0.7, then somehow came across information about firmware 1.0.9 and here I am :blush: I read comments and with each comment I realize that I do not understand anything :rofl: Please tell me step by step what and how to do, I am confused, what way should be the connection between the printer and OctoPrint? Do I need a separate computer or a Raspberry Pi board ?

1 Like

I just published a new Release v0.1.7 of the plugin, looks like finally is fixed. Test and let me know.

1 Like

Hi!

This firmware version is dedicated to work with Octoprint since Hosts Commands are enabled. So its recommended to install Octoprint to use it.

To install Octoprint you can do it in a Laptop Running Linux or using a Raspberry Pi. Instructions to install it are here in their official web page.

After that you need to ensure that your printer has the Original Creality Firmware 1.0.6 in your printer, if not you need to install it and install the LCD firmware too. Instructions on how to install it and the firmware for the LCD are within the ZIP file.

After upgrading the printer’s firmware you can now grab our customized Firmware here v1.0.9.7_6 You can choose between the version of 128000 or 115200 serial speed, After that make a bed level from printers menu. Also check the github’s readme to know what are the features of this.

For Octoprint you will need the Plugin to enable the LCD here v0.1.7 check the readme too, to know which Plugins you will need as dependencies.

If you aren’t sure what are you doing better stay safe and do not brick your printer, we arent responsables of bricking someone else’s Printers.

Best regards.

2 Likes

Thank you for your detailed response. Before I came to this forum I installed the firmware from the official site to 1.0.6, after that I installed Linear Advance firmware 1.0.7, but I still do not understand why my values are different from those on YouTube. Is it possible to install firmware 1.0.9_7 but without using OctoPrint?

Hi @Iroh3d

I can confirm 0.1.7 has fixed the issue.

How you manage to fix the gremlins is beyond me.

You are one clever person.

Thanks

Bruce

1 Like

Yes is possible. Limited features speaking of M600 or pause but yes will work without Octoprint.

1 Like

Great, thanks for the confirmation.

@Iroh3d

Is it possible to have input shaping with this firmware?

If Yes, what hardware do you need to test with?
Maybe create an amazon wishlist and we can work from there?

1 Like

I don’t know, l’ll need to make a little research to understand it.
Speaking of the code it is enabled and you can use M593 GCode to set frequencies; but I bet it will need something else to make it work correctly.

/**
 * Input Shaping -- EXPERIMENTAL
 *
 * Zero Vibration (ZV) Input Shaping for X and/or Y movements.
 *
 * This option uses a lot of SRAM for the step buffer, which is related to the
 * largest step rate possible for the shaped axes. If the build fails due to
 * low SRAM the buffer size may be reduced by setting smaller values for
 * DEFAULT_AXIS_STEPS_PER_UNIT and/or DEFAULT_MAX_FEEDRATE. Disabling
 * ADAPTIVE_STEP_SMOOTHING and reducing the step rate for non-shaped axes may
 * also reduce the buffer sizes. Runtime editing of max feedrate (M203) or
 * resonant frequency (M593) may result in input shaping losing effectiveness
 * during high speed movements to prevent buffer overruns.
 *
 * Tune with M593 D<factor> F<frequency>:
 *
 *  D<factor>    Set the zeta/damping factor. If axes (X, Y, etc.) are not specified, set for all axes.
 *  F<frequency> Set the frequency. If axes (X, Y, etc.) are not specified, set for all axes.
 *  T[map]       Input Shaping type, 0:ZV, 1:EI, 2:2H EI (not implemented yet)
 *  X<1>         Set the given parameters only for the X axis.
 *  Y<1>         Set the given parameters only for the Y axis.
 */
#if ENABLED(HIGH_SPEED)
    #define INPUT_SHAPING_X
    #define INPUT_SHAPING_Y
  #if EITHER(INPUT_SHAPING_X, INPUT_SHAPING_Y)
    #if ENABLED(INPUT_SHAPING_X)
      #define SHAPING_FREQ_X  42//34.29  // (Hz) The default dominant resonant frequency on the X axis.
      #define SHAPING_ZETA_X  0.15f     // Damping ratio of the X axis (range: 0.0 = no damping to 1.0 = critical damping).
    #endif
    #if ENABLED(INPUT_SHAPING_Y)
      #define SHAPING_FREQ_Y  40//41.38    // (Hz) The default dominant resonant frequency on the Y axis.
      #define SHAPING_ZETA_Y  0.15f    // Damping ratio of the Y axis (range: 0.0 = no damping to 1.0 = critical damping).
    #endif
    
    // #define SHAPING_MIN_FREQ  20        // By default the minimum of the shaping frequencies. Override to affect SRAM usage.
    // #define SHAPING_MAX_STEPRATE 10000  // By default the maximum total step rate of the shaped axes. Override to affect SRAM usage.
    //#define SHAPING_MENU          // Add a menu to the LCD to set shaping parameters.
  #endif
#endif

I’m going to be AFP(away from printer) so probably after 2weeks I can check, test and see about the Shaping Menu of LCD.

2 Likes

i’ll definitely be following along for this one. Ive wondered the same and whether or not we could just purchase the g sensor that goes with the KE, just as we can purchase and connect the filament runout sensor that comes stock on the KE. However, if I’m not mistaken when I looked into that, even the KE needs to upgrade to the Sonic Pad in order to use the G sensor, and if I’m not mistaken it plugs into the back of the sonic pad itself and not the motherboard like the filament runout sensor for instance. Think the screen connects to the motherboard and the g sensor connects to the screen. So yeah, my research on the subject hit a dead end as it started to seem as though upgrading to the sonic pad was the only way to add input shaping. At the same time though, I set up a DIY light bar with a smart plug integrated into the printer so that it can communicate with Alexa and all that good stuff. And while I didn’t end up using the port on the motherboard that is labeled for the light bar upgrade, I did wonder if it would’ve been possible to just splice that connector onto my light bar and use it that way, or better yet splice it onto the g sensor and then configure the firmware to sense it via that particular port and initiate it as such. But I’m waaaaaay too dumb for all that. Lol. So beyond the most basic of speculation, I’ve nothing more to offer sadly lol. If we did get it worked out even using a GPIO pin or something though, I think it’d be worth it. And the code is already there and enabled I believe so you’d assume it’d just be a matter of configuring it. But if it were that easy, you’d figure someone would’ve already done it by now. So yeah, I’ll definitely keep my fingers crossed, but I wont hold my breath or anything. haha.

So the code for the E3V3SE is already setup and must be working. You can tune the input shaping by using the GCODE M593 passing the best values for your printer after having tested the Ringing Tower, for that you can print the tower explained in the HELP of the M593 or in the previous link. Is similar to use the PA test from slicers.

To use the accelerometer you need an SPI input, which the printer doesn’t has free, even with Klipper on nebula or sonic pad it is an SPI interface with different connectors. In our case, we use Octoprint using a Raspberry Pi we can connect the sensor to it and then proceed to make the test.

Seems like the accelerometer is not meant to live always connected just the time of the tunning in Klipper or at least the example I was reading is just to check the values of the frequencies. And it uses a Python Script that we can “steal” and apply to our plugin. Also maybe we can go a little bit to pushy and let the sensor connected and read values every N layers and push with M593 command automatically from the plugin.

Hello! I love your work man you are the reason I have not started using klipper yet! I’m using the Octo4a app on Android, so if any of you guys have any problems, I’m glad to help.

But I was wondering if it’s possible to add tumbnails to the screen in any way? Is it also possible to change the screen so you can have a full screen with only the print info and no settings below? If you need any help, just ask. I will do what I can!

Hi, please refer to this post, Eduard and I are trying to brute force the SRAM address to upload the bitmap there and render in the screen. So far no luck and still no reliable instruction set for the LCD.

Yes the below information area can be removed, but as a consensus we decided to keep it since you can TUNE all the values for bed and nozzle temperature, extrusion, fan and zOffset we needed the area to visualize it.

Do you have any idea or template of what are you looking for? Just keep in mind that the LCD as of today has a limited set of icons including icons of string to be render unless Eduard or I find a way to upload custom icon set we are tied to the factory icon art.

Hi, Iroh3d.

Hope you are doing well and fine. I know it’s a bit late but Happy New Year and may you and your family are blessed always.

Thank you for your test and response, really appreciate it. I apologize it took me so long to respond as I was outstation for a few months and away from my printer and stuff. The long hours with little to no internet connection sucks.

Anyway, I am happy to report to you, I actually flashed your latest firmware release (v1.0.9.7_6), modified it a bit and built my own (just the 7x7 levelling mesh) and I love it. It works perfectly, love your work (and Eduard for the UI for mesh). Also, I tried the same way you did with your own DIY filament runout sensor and voila, it is working. It has been working apparently, even with the Creality original filament run-out sensor and you were right, when OctoPrint is connected, the knob is basically not usable. Oh, and the signal input(?) for the sensor when there is no filament is detected is ‘High’, not sure about the voltage though.

Just to share with you, I tested 3 ways, 1. the ‘Filament Change’ postprocessing command via Cura to change filament at certain layer height using the M600, 2. the actual physically cutting the filament right before the sensor during mid print to simulate filament run-out and 3. the ‘Pause at Height’ post processing code via Cura. All worked well when respond with user input via OctoPrint UI. Whenever I use the knob to resume print or OctoApp from my android phone, that’s when the error occur. I don’t know how you did it with your test, but it’s okay. I can live with that. The option for M600 postprocessing in Cura needs to be selected to ‘Use Firmware configuration’ option, because the manual option where I input the data for somehow did not work for me, but that is a non-issue.

However, recently, I kinda changed my slicer from Cura to OrcaSlicer to get better prints out of it. But I notice that when slicing objects using OrcaSlicer and send it directly through the embedded OctoPrint UI, I could not get the printer’s LCD screen to show current print, only when print is completed. Is that a slicer issue (machine gcode, or something) or your firmware and plugins are only compatible with Cura?

Let me share with you the file I sliced a simple square with Orca and compare it with Cura (you gotta rename the extension to .gcode, sorry).
cura_sample.3mf (16.2 KB)
orca_sample.3mf (29.3 KB)

Thanks! Have a great year.

Regards,
Kai

I use OrcaSlicer, I’ve tested the Print option from it and I can see the Job correctly. Did you installed the latest Octoprint Plugin? If not please check and report back. If so and still failing please share the Octoprint.log to review what could be the issue.