What is STorM32 NT about?

From STorM32-BGC Wiki V1
Jump to navigation Jump to search

One of the major drawbacks of the conventional STorM32 is the reliance on the I2C bus for communicating with the IMU(s), because of it's sensitivity to disturbances from e.g. the motor signal wires (see the I2C Error Compendium). The STorM32 NT provides an ultimate solution by replacing the I2C bus with the NT bus, which hardware-wise is nothing else than just a standard serial TTL UART, but at a quite high baudrate. Since the UART is low resistance and push-pull the disturbance sensitivity is very much lower than for I2C, making it practically error free. Furthermore, even if a transmission error should occur, the controller has no difficulties to recover from it, unlike with I2C.

The additional cool thing about the NT concept is that it doesn't stop here. As with any bus also the NT bus allows one to not only connect a IMU module but also further modules, such as e.g. motor driver modules, a camera controller module, and so on. This provides us with a number of further advantages:

  • The NT modules can be replaced easily, resulting in extraordinary flexibility in the configuration. For instance, if one needs higher motor power, one just needs to install a NT motor module with higher amperage.
  • The NT modules can be daisy-chained, which can result in quite clean wiring, and helps tremendously with e.g. slip rings.
  • The possibility to replace individual NT modules may reduce costs in case of damage.
  • The concept simplifies integration of technological advances: If you need encoders, build and code a FOC motor driver module, if you need a high-quality ultra-low drift IMU module, build and code a high-quality ultra-low drift IMU module, if you need a CHDK camera controller, build and code a CHDK camera controller, and so on.

One further cool thing about the NT concept is that one can continue to use the widely and cheaply available conventional STorM32 boards. The NT concept is fully compatible with them! Technically this becomes possible because the microcontroller pins used for the camera IMU's I2C bus can also be configured as UART pins, turning them into the NT bus. Even though one doesn't need new controller boards, one nevertheless needs new hardware, at minimum a NT IMU module.

The scheme below shows what could be a typical, fully NT-ized configuration. However, it is pointed out that all one needs to start with is one NT IMU module to replace the "old" camera IMU. All other modules are optional, and not using them doesn't incur any restrictions in the functionality.