Yesterday I talked about looking at IMUs for a project. I thought I had found the unit I wanted. It is a Bosch BMF055. It includes the Accelerometer, Gyroscope, Magnometer, and also an SAMD20 32biti Cortex M0+ processor. All for about $10 on digikey. Sounds nice, right? Does all the things I wanted, right? Yep.
But then I was going over the datasheet for like the 5th time, and saw this section:
“8.2 Programming and debug interface
The MCU can be programmed and debugged via Atmel debugging tools using the SWD interface.”
Okay, I thought, what does that involve. So I searched for what that involves. Wll, it looks like it involves aditional hardware. I can save up for something small. It looks like this is the required piece of hardware for programming atmel chips. Fine, I think. I can just add that to my collection of required tools for electronics. I’m sure something in the future would end up needing that and it would be good to already have it.
So, does that require anything else? How does this get the code into the chip? Is it just a loader like the Arduino IDE? I looked into the user guide and found:
“1.3 System Requirements
The Atmel-ICE unit requires that a front-end debugging environment Atmel Studio version 6.2 or later is installed on your computer.”
This means it does require specific software. I spent some time hunting around for Atmel Studio and after some time found out that Atmel is now called Microchip, and Atmel Studio is now Microchip Studio. After a bit of hunting I found that Microchip Studio is free, which is nice. But from reading a bit on the allaboutcircuits forum, it seems that Microchip Studio might be going away, and I’d be forced into purchasing MPLAB, which is also free. But will it support the hardware programmer?
And on and on it goes. Looks like there is some beta support, and what I really should be using is is something like this debugger/programmer. That is definately cheaper, but it may also require this little helper. And it would also require I use MPLAB.
So, instead of having this one chip decide all this difficult dev chain for me, I think it’s probably just going to be easier to find an IMU without the MCU and need for programming. So, now I’m leaning more toward a chip like this one. This chip looks like it’d be much easer to get programmed since it uses I2C and is only programming interrupts.
I’m going to have to remember to always check these things on all the chips I want to select for my project. Good to remember, and I’m glad I found this before I bout 5 or so IMUs.