QWIIC arcade button assy giving intermittant i2c coms errors

with the two bonnets stacked, along with pimoroni onoff shim and qwiic hat.

I am getting intermittant remote I/O errors.

It is something regarding a buffer write error.

Now if I constantly run the motor and it is not hot I do not seem to get the error as much.

But it appears with the qwiic hat and just a mpu-6050 connected it runs ok.

The moment I appear to add the qwiic button assembly from sparkfun I appear to have intermittant issues.

specific error I sporadically get is:

File “”, line 2, in

File “/usr/local/lib/python3.5/dist-packages/adafruit_motor/stepper.py”, line 160 in onestep self._update_coils(microstepping=style == MICROSTEP)

File “/usr/local/lib/python3.5/dist-packages/adafruit_motor/stepper.py”, line 108 in _update_coils self._coil*.duty_cycle = duty_cycles*
File “/usr/local/lib/python3.5/dist-packages/adafruit_register/i2c_struct_array.py”, line 74 in setitem i2c.write(buf)
File “/usr/local/lib/python3.5/dist-packages/adafruit_bus_device/i2c_device.py”, line 103 in write self.i2c.writeto(self.device_address, buf, start=start, end=end, stop=stop)
File “/usr/local/lib/python3.5/dist-packages/busio.py”, line 86 in writeto return self._i2c.writeto(address, memoryview(buffer[start:end]
File “/usr/local/lib/pyton3.5/dist-packages/adafruit_blinka/microcontroller/generic_linux/i2c.py”, line 38 in writeto self._i2c_bus.write_bytes(address, buffer[start:end]
File “/usr/local/lib/python3.5/dist-packages/Adafruit_PureIO/smbus.py”, line 256, in write_bytes self._device.write(buf)
OSError: [Errno 121] Remote I/O Error
Looking through things it appears to be a coms error of some sort. I have another switch button assembly I can try tommorrow night. It is possible the assembly itself could have an intermittant issue causing the problem. It is also possible that it could be the clock stretching issue I have been fighting all the time.
The mpu-6050 I definately want to keep and seems to have zero issues here. But if I switch over to a GPIO button setup, I will have additional programming overhead to deal with debounces, but, the button presses regardless are to initiate the script and reboot it on an as needed basis. More code to have for sanity checks.
I did try the other button and it gives the same error.

I am having suspicions that the issue may be a clock stretching issue I have been fighting with the hardware i2c.

The downside is that there is not a hat that uses the software i2c or is wired to go either or.

The other issue is that the pimoroni onoff shim uses the i2c bus as well so It is one of those issues where the hardware/software piece is frustrating.

The other option to try is to multiplex the i2c devices and in so doing maybe minimize the clock stretching issue.

Further digging indicates that this may be more designed for an Arduino product than a raspberry pi one.

Does your board come with the terminals and 20 pi header soldered on, or like the picture as loose?

I want to stack two