Can you add Klipper and adxl345's to the J1?

I have the J1s, and I want to know if I can use klipper firmware and accelerometers for my printer

The J1 works with Marlin.

I know, but could I flash klipper. Klipper allows for you to add accelerometers for active input ahaping

You might want to reach out to @Mechanikus as he has modified his J1 to work with a Duet, and as far as I know heā€™s the only mad lad in this forum who has done this.

@ZT_1234 If you just want to flash a firmware and be done, forget it. The J1 has a custom controller board which is not supported by Klipper unless this has changed in the last year since I looked last - which I would deem unlikely because Klipper does not really care for controllers built specifically for a single printer that is not too widespread.

In order to get the J1 to run another firmware, my state of knowledge is that you have to replace the controller with all the resulting consequences (i.e. make adapter cables, get the preamplifier for the hotend temp sensors and the unusual analogue filament sensors to run with your board, find a way to safely (!) implement the calibration sensing, replace the display), period.

Be warned: it is a lot of work, even if you can build upon the data that I had found out when I started that adventure. But I admit I am really happy with what I did to my J1 :slight_smile:

3 Likes

I guess Iā€™ll consider it if I end up killing the main board by accident

1 Like

I imagine you would need to make your own klipper configs from the pinouts and figure out how to flash it over.

Trying to decide if I want to try this out with my SM2 since I have a spare controller. Not as worth it for that machine, though. Lead screw driven and heavy modules kind of automatically limit out a lot of the speed, in my opinion. Mostly on the wear and tear side of things.

Also Cartesian

1 Like

I am curious if anyone will try that. However, you will most likely render the display useless then since theā€¦ well, basically Android App running on that thing is something Snapmaker did not make Open Source unless I overlooked something.

1 Like

I recently accidentally fried a main board. Apparently accidentally shorted something at the FFC board when the lid scraped it. :roll_eyes:

Thatā€™s got me thinking about trying to flash it though. :thinking: That board works other than getting false temp readings, so why notā€¦

I did already do extensive vibration analysis using a custom ADXL345 though. Saw some things I really donā€™t love that explain VFAs at certain speeds, and itā€™s the kind of thing input shaping canā€™t compensate.

The J1 controller board designer did not care much about safety measures in general. No split GND for analogue/digital, no fuses, no current limitation whatsoever for the electrical bed leveling if the heater cartridge develops a short against it housing, additionally a mix of switched VCC and switched GND - and that is just the stuff I saw with my rusty and limited knowledge of electronic circuit development.

Yes, indeed. The J1 does not have a clear fixed resonance frequency that you can correct with Input Shaping but rather a bunch of vibration frequencies that seem to vary significantly depending on speed and position. My uneducated guess is therefore a good portion of J1 vibrations might come from the belts or the steppers - the latter of which I see somewhat supported by the fact that StealthChop on/off has a such huge impact on the noise level of the J1.

I am curious if the new phase stepping feature that my Duet board will get with the new major RRF release might improve thisā€¦

1 Like

All of these are correct. They vary with speed because theyā€™re from the spatial frequencies of the belts and the steppers. The Y axis is worse.

It canā€™t be corrected with IS because it happens while a motor is in motion. When it stops it stops very cleanly. So it rings across the whole surface and around curves at certain speeds.

The dependence on speed is because it happens at spatial frequencies related to the belt spacing (2 mm) and the stepper teeth (0.8 mm I think it was?). The motor resonance in particular excites all of its harmonics also.

The ringing on the surface is at its worst when resonances cross with fixed resonances of the chassis or extruder head.

I even went as far as trying 0.9 degree steppers after reading suggestions about VFAs seen on the Prusa MK3. This raises the base spatial frequency from the motors to 1/(0.4mm) and eliminates half of the harmonics as a result, but doesnā€™t help.

I also enabled SpreadCycle with custom firmware, and that kinda helps but makes other horrible noise at higher frequencies and not enough reduction at low frequencies to matter.

Still thinking about other tuning and damping, but my main lesson after a lot of testing was just a map of speeds to avoid.

Yeah. I saw this on your teardown and looking the board. Surprising few protection capacitors or resettable fuses anywhere. I knew as soon as all the temperature readbacks freaked out what it meant. :confused:

(Ironically I did all of this, then fried the board after giving up and putting everything back to normal, scraping the FFC board with the lid as I placed it back on my restored printer when done. :pensive:)

Minor nitpick: IS happens when at least one motor is in motion, otherwise the printer would stand :wink: I guess you mean ā€œaccelerating/deceleratingā€?

Since you already tried other steppers, I wonder a little if that might be a simple quality issue of the belts and/or belt gearsā€¦ :thinking:

1 Like

Sadly no @Mechanikus , I mean the vibrations happen while the extruders are moving under ā€œconstantā€ velocity in a straight line. The first thing I tried was very careful IS tuning before realizing the problem is due to motion in the parallel direction, not vibration from perpendicular deceleration after cornering. It actually comes to a stop rather smoothly.

Okay, then we both meant the same but misunderstood each other :slight_smile:

And you got me to take a look at a simple part (rectangular with rounded edges) which I printed a while ago. I have two effects on that:

  • ripples are much more prominent on Y
  • on one edge only, I have some acceleration artefacts with a spacing of 2.5mm (I had optimised Input Shaping to do its job as good as possible which meant ā€œthree edges fine, one not so muchā€ but never took a deeper look at the details)
  • additionally, I have very regular ripples with 0.8mm spacing, obviously the same as you have. Weak on X, prominent on Y, but forming perfectly vertical lines in both cases which lets me suspect it is something mechanical.

The latter one is interesting I think, since us two both accidentially printing at exactly the same speed is something I would deem not very realistic.
My thoughts so far:

  • the J1 has 80 steps per mm at 16x microstepping, translating into five full steps per mm or one full step each 0.2 mm. That should exclude the stepper unless I overlook something - why should it vibrate only every fourth step? And if I recall correctly, resonance harmonics only go upwardsā€¦
  • The balls in the linear bearings have a diameter of 1.5mm, so those can be excluded as well.

Thus, the question would be: which part of the J1 is capable of causing vibrations with 0.8mm length?

Just a long shot: pulley teeth?

The belt teeth are 2mm spacing. At least on mine. 1/(2mm) is one of the spatial frequencies that show up strongly when they overlap with a chassis resonance, depending on the speed.

Very good question!

It only vibrates on every fourth step. I also changed firmware to modify microstepping. It has no effect on the motor resonance. I guess it has to do with the tooth spacing of the motor poles, not the microstepping.

If you increase the number of microsteps, you also need to change the steps/mm. So it has to step faster to achieve the same speed.

The only thing that changed the frequencies from the motor and its harmonics was to change the stepper motor from 1.8deg to 0.9deg. For this also, the number of microsteps didnā€™t matter. Only the hardware.

Iā€™ll fork another thread when I have time showing the data. I think itā€™s very interesting and Iā€™ve not seen anyone post detailed accelerometer data for these VFAs before. Itā€™s interesting for other printers too.

Oh! Also changing from a 20 tooth gear to a 19 tooth gear changes them by 5%. But this is only because the motor has to spin slightly faster.

Seems like it, but I failed to find any with a fitting spacing - the J1 has 1:1 translation of stepper motion into carriage motion throughout :wink:

Hmā€¦ 1/2mm = 0,5 is something I do not really see on mine. Maybe belt tension plays a role there and I was lucky? Belt manufacturers note something like that in their manuals.

Okay, I am curiuos to see that data, please inform me when you have posted it. And if I am not mistaken, I might still have a broken x motor lying around, so I can take that thing apart and make some pictures.

Might be worth trying to buy some fitting stepper from OMC and test itā€¦ the steppers Snapmaker uses are indeed somewhat weird, I had to play around a bit with stepping times when I adapted the Duet. With the standard values those things howled.