Slowly making my way up the R-Pi RP2040 Pico learning curve by Mini Thought Experiments to gain a better understanding… learning by doing and problem solving when things don’t work first time.
Re-routing the I2C PiicoDev cable from the Left connector (that has been used up to now) of an OLED SSD1306 module to the Right connector (for the first time) I managed to “wipe off” the socket…
I’ve got a couple tips for hand soldering those connectors, First tack on one of the side mechanical connections, make sure the connector is flush(with it tacked you only have to reheat and push it down), then the other mechanical connection. Finally use a ton of solder to get the other 4 electrical pins soldered down - it doesn’t matter if there are any shorts, to remove them I get a solder sucker between the PCB and connector so there’s a bit of a gap.
What a doozy… Perhaps the connector body can be glued down first with eg. super glue before soldering - to provide the mechanical strength.
This is great it’s really pleasing to see this (more advanced) feature of PiicoDev being used by makers. Even more pleasing to see the two sensors agree so closely
Thank you for the guidance - I was wondering if super glue would be OK to improve things
I might flow a little glue under the other connector just in case.
The results were interesting - where I am considering a more careful re-run of the calibration process when I get further into the project. Rotating each sensor with all the cables isn’t that easy!.
I was wondering if there was a reference to more detail on the calibration process? - as there appear to be alternative schemes (such as 3 axis 90° flips) suggested for other I2C magnetometer sensors.
3D calibration is supported by the PiicoDev calibration function too. Take a peek inside the calibration .log file and you ought to see z data in there.
In the tutorials, we focus on calibrating on the 2D plane since it’s a little easier for beginners to perform, and you can make a compass work most easily.
Our calibration method currently looks for the max and min for each axis and places the zero at the mid point between these points.
… So I had already seen the answer to my future question
(wish my mind was better at storing and recalling such things!
Information overload and “Not seeing the wood for all the trees” )