Just got my Ultimate IMU today and after some work I was able to get it going (still some problems, see below).
Here my first impressions (this is what I would have liked to know before buying it, hope it helps somebody):
-as it comes out of the box it contains an old firmware which is pretty much useless. If it can write to the card (max 2GB in FAT16) then it starts recording data, otherwise you get an “sd card initialization failed”. To get the output it’s pointless to use USB (at least I wasn’t able to get it working), but I used a FT232RL at 9600.
-seeing that the code in github is updated I wanted to install it. This is what I needed to connect from FT232RL to uIMU:
GND ↔ GND
RX ↔ TX
TX ↔ TX
DTR ↔ RST
To enter the programming mode you just need to ground BSL.
To program the uIMU on Windows you need to download flashmagic.
You set the correct MCU to LPC2148, you set speed to 9600 and you need to set the oscillator speed to 12.000 (spent few hours on this one!)
Once it’s all set you select main.hex (you get the main.hex if you compile the code you get from github with winARM)
After this you will be able to select which data to record and if you want raw or euler data. Unfortunately you cannot select frequency.
Now here’s my question: if I look at the main.cpp on ryowens code I see:
//If a USB Cable gets plugged in, stop everything!
if(IOPIN0 & (1<<23))
{
VICIntEnClr = INT_TIMER0 |INT_UART1; //Stop all running interrupts
main_msc(); //Open the mass storage device
reset(); //Reset to check for new FW
}
So I would expect the uIMU with new firmware to behave as a mass storage device and being able to update the Firmware if I upload the correct filename. Unfortunately I am unable to get any of these ( I tried on multiple pcs), all I get is that the recording is stopped, indicated by the blue led being off.
Anybody with an updated uIMU is able to see it as mass storage device and update FW via USB?
Thanks
Ferrari
PS: (update) with the new firmware it’s possible to reprogram it just by copying the FW.FSE into the uSD and then turning the board on.