ADXL345 KUSBA Pro (v2.0)

ADXL345 KUSBA Pro (v2.0)

Ever since I released the original KUSBA Pro, I had people reach out to me for a ADXL345 version of the KUSBA Pro. They liked its compactness and its clamp mechanism, but they didn't want to use a LIS2DW accelerometer.

I picked the LIS2DW accelerometer for the original KUSBA Pro, because it appears to be superior in its datasheet. It also seems to work just fine for Klipper's input shaper calibration. However, there are now more advanced uses of accelerometers on 3D printers, like Frix_x's Klippain Shake&Tune. With these applications, the LIS2DW accelerometer seems to suffer. Reth has a good YouTube video about this topic for those of you who are interested in learning more: https://www.youtube.com/watch?v=D-oWjuwR2Ro

So, with this version, I wanted to use a ADXL345 accelerometer to make sure it works well for these applications too. I also connected its interrupt pins to the MCU, as this was another requested feature, not for 3D printing applications but for other use cases. I also swapped the MCU. The original KUSBA Pro was using a STM32F042 MCU. I picked this MCU at the time because it was the (physically) smallest MCU I could find with USB support that worked with Klipper. This is still the case. The small size was very important as I wanted to keep the PCB as small as possible to make it as light as possible to ensure it affects the resonance measurements for Klipper's input shaping as little as possible. Unfortunately, the STM32F042 MCUs have a big downside, their flash is tiny, and Klipper keeps getting bigger and bigger.

When I was working on the original KUSBA Pro, Klipper had no problem fitting in this flash. But around the time of its release, you needed to disable 1 Klipper feature to make sure it fits. This didn't affect its functionality (you could disable displays for example, which KUSBA obviously doesn't need), but it made firmware flashing more confusing. Also, it's not very future-proof. You already need to disable more than 1 feature now, and at this rate of Klipper's growth, it'll eventually be unusable without custom firmware (like Rampon).

I ended up using STM32G431 as its MCU. This is a fairly expensive and totally overkill MCU for this application, but it was the next smallest MCU I could find with Klipper support, USB and SPI busses. Its flash is pretty big, so I don't expect it to be an issue anytime soon. It was a challenge to fit it in the small PCB though, but this wasn't the biggest challenge with this project. Murphy makes sure to meddle with every project I work on...

Right from the beginning, I knew I had to modify the hole in the middle of the KUSBA Pro to fit the new chips. Both the MCU and the ADXL345 accelerometer are much bigger than the chips they're replacing. So, instead of a hole (picture above), I made a more rectangular cutout (picture below). This cutout still lets the user see the nozzle to make sure they're clamping it well, but leaves more PCB room for activities.

Even this free real estate wasn't enough to fit the MCU though. I needed a few more mms on one side to route some traces, so I ended up placing it at an angle. The work for this PCB began in early 2024, and I finally finished working on this, and ordered prototypes in April. Of course Murphy wasn't done...

Shortly after placing my prototype order with my PCB supplier, they reached out to me and said they weren't able to assemble PCBs with more than 30x 0201 components until the end of "season 2", whatever that means. This was a huge problem, as it required a complete redesign of the PCB. I used 0201 components on the original KUSBA Pro and this, as they take up much less PCB space. As I mentioned, smaller the PCB, the lighter it is. With this project, I also didn't have the option of making the PCB bigger, because I wanted to be able to supply the same MJF printed mounts.

The redesign took some time, this was a huge PITA, because it was really difficult to fit all those components in a tiny PCB. I eventually managed to do it, ordered the prototypes, got them and tested them. And, fortunately they seem to work just fine. I also sent some to beta testers, and so far I haven't heard any complaints, so I think we're good.

The updated project files are now on Github in a separate branch. I will be merging these to the master branch soon, but if you want to see them now, here's the link: https://github.com/xbst/KUSBA-PRO/tree/adxl345

On there, you'll also find the long-awaited Revo nozzle clamp files too. These are a bit bigger than the CHT and v6 mounts due to the Revo nozzle's size (which was the challenge that delayed these in the first place),. They require MJF printing like the other 2 mounts, and they use the same hardware.

These PCBs and mounts are also now available on my store in case you are interested:

https://store.isiks.tech/products/kusba-pro

https://store.isiks.tech/products/kusba-pro-mounts

There's one more feature of the KUSBA Pro v2 that might be worth mentioning. KUSBA Pro v2 now has the USB pads on its back side too. I know some people are concerned with the USB cable's impact on accelerometer measurements, so with these pads, you can wire your own cable on there, add very little weight and route the cable easier to get better results.

Back to blog