ST recommends that if the customer wants to use Sensor Fusion, to go with the PRO version. The flash requirement is slightly greater than 25 k of memory. The largest part is the 38 kByte SRAM, the RAM footprint is large because the sensor fusion common matrix is a large matrix that was put in the RAM for greater speed. The sensor hub is used to run the customer code in their microprocessor. When it is not desirable to run the sensor fusion from the host processor, but rather some other lower end processor, consider a sensor hub. The sensor hub could be an STM32 that would be reading all of the sensors, running the sensor fusion, and outputting the quaternions and other data that the host processor requires, feeding the host processor with already-processed information. To accomplish this the code size is approximately 90 - 95 kBytes, the microprocessor must be sized accordingly. This method works very well, meaning less work from the host because everything is running from the STM32. An example is shown using a Nexus S to demonstrate the processor load. Experiments were conducted with the processor running at 1 GHz on the Cortex A8, Hummingbird processor. It would require 3 mS computing time plus overhead for one cycle. For Cortex M3, which is able to run 1.25 MIPS – this would require about 11.2 mS, clocking at 72 MHz. Lastly, a bit of data to set up the sensors when the sensor fusion is to be run. The accelerometer is ±2g full scale, the gyroscope is 2,000 dps full scale, and the magnetometer is at 1.9 gauss. The recommended optical data rate is 100 Hz, it can be run at it up to 400 Hz, but that may not be necessary and consumes more power.