Thread Tools
Jun 11, 2015, 01:16 PM
OlliW
Thread OP
Cool

STorM32-NT BGC


DOCUMENTATION: http://www.olliw.eu/storm32bgc-wiki/

T-STorM32: https://www.rcgroups.com/forums/show...orM32-ever-%21
STorM32-NT BGC DIY Modules: https://www.rcgroups.com/forums/show....php?t=2566558

main STorM32 discussion thread: https://www.rcgroups.com/forums/show....php?t=2055844

--------------------------------------------------------------------------------------------------

Hey folks

well, this idea I have in mind for more than a year now, and indeed I found first test firmwares of exactly 12 months ago (v0.44 LOL), so it's a shame that I didn't got to it further for all this time ... anyway, now it's making progress ...

I'm talking about what I call STorM32-NT ...

One of the major drawbacks 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. The STorM32-NT aims at providing 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 relatively high baudrate of 2.000.000 bps. Since the UART is low resistance and push-pull the disturbance sensitivity is sooo much lower than for i2c, that it is essentially error free. Furthermore, even if a transmission error occurs, the controller has no difficulties to recover from it, unlike with i2c.

The cool thing about it is that you can continue to use your v1.1/v1.2/v1.3/v1.31 boards, since the NT concept is fully compatible with them! I think that's a most important comment.

The other cool thing about it is that it doesn't stop here. As with any bus also the NT bus allows to not only connect MPU modules but also further modules, such as e.g. motor driver modules, or camera controller modules, and so on. They also can be daisy-chained, which results in quite clean wiring, but also should help with e.g. slip rings. Moreover, the modules can be replaced easily, if you need e.g. more motor power, build and code a stronger motor driver module, if you need encoders, build and code a FOC motor driver module, if you need a high-quality IMU module, build and code a high-quality IMU module, if you need a CHDK camera controller, build and code a CHDK camera controller, and so on.

Technically the NT-bus becomes possible without a need for new controller boards because the microcontroller pins used for the i2c bus for the camera IMU can also be configured as UART pins. It was actually the moment there I've realized this lucky circumstance that the NT idea was born . (I actually was expecting that AM would come up with a similar concept any day, but apparently not)

Even though you don't need new controller boards, you nevertheless need new hardware, at minimum new IMU modules. And that's probably there things will get stuck for quite a while ... with the STorM32 boards it also took about 1/2 year before they become easily available ... but, hey, at least a serious start has been made now!

Attached are some teaser photos.
The IMU modules are fully working. The motor modules need some more work.

Cheers,
Olli
Last edited by OlliW; Mar 18, 2017 at 05:57 PM.
Sign up now
to remove ads between posts
Jun 11, 2015, 01:16 PM
OlliW
Thread OP
firmwares:
29. July 2015: beta firmware version v0.86e released https://www.rcgroups.com/forums/show...postcount=5821
14. July 2015: beta firmware version v0.83e released https://www.rcgroups.com/forums/show...postcount=5659

v1.x NT modules hardware:
19. Aug. 2015: motor v1.1 module released
13. Aug. 2015: imu mini mpu9250 v1.0 and breakout v1.0 module released
16. July 2015: imu mpu6000 v1.0, imu mpu9250 v1.0, imu mini mpu6000 v1.0, motor v1.0, logger v1.0, splitter v1.0 modules released

below is a pic with many v1.0 NT modules (the imu mini mpu 6000 module I could not yet solder, it's just too tiny), from left to right:
imu v0.07 mpu600, imu v0.07 mpu9250, imu mini v0.08 mpu6000, motor v0.08, logger v0.03, splitter v0.01, cc3d atom

eagle files are on github: https://github.com/olliw42/storm32bgc

These NT modules are open source hardware, under the terms of the TAPR Open Hardware License as published by the Free Hardware Foundation, see http://www.tapr.org/ohl.html.

CC3D atom NT imu modules:
the Open Pilot CC3D Atom can be used as NT imu module, when flashed with the respective NT firmware
when stripped off the pin headers it is smaller than the above "big" v1.0 NT imu modules, this is not necessary for the "mini CC3D atom"
it is available cheaply from various Asian sources, and of course at somewhat higher prices in many "regular" shops, and can come in various different hardware flavors
some links
- http://www.banggood.com/OpenPilot-CC...-p-970762.html (ships straight from EU or USA warehouses!)
- http://www.goodluckbuy.com/openpilot...adcopter-.html
- http://www.aliexpress.com/wholesale?...ilot+cc3d+atom
- http://www.goodluckbuy.com/mini-cc3d...with-case.html
- http://www.banggood.com/Openpilot-MI...-p-992324.html

the "mini CC3D atom" is currently probably the best and easiest and cheapest solution to get a NT imu module

EDIT 2015/09/13: picture of latest NT modules added
Last edited by OlliW; Sep 13, 2015 at 04:18 AM.
Jun 11, 2015, 01:19 PM
OlliW
Thread OP
A bit of some documentation.

Connections:

Please see the pics attached below for connections and wiring schemes.

Connectors:

The NT bus has nominally 4 pins, arranged as: GND, TX, RX, VCC

VCC is however optional since the modules may be powered also by other means.

The plugs on the NT modules are 4 pin JST 1mm, or JST-SH (http://www.jst-mfg.com/product/detail_e.php?series=231). The JST parts numbers are
header: SM04B-SRSS-TB
housing: SHR-04V-S-B
contacts: SSH-003T-P0.2-H

Note that the I2C plug on the "standard" STorM32 boards is a Molex plug, with 1.25mm pitch (commonly known also as JST 1.25mm) .

Sources for cables:

Unfortunately I don't know about a good, i.e reasonably priced and readily available, source of suitable pre-configured cables with plugs. The 1mm JST has however become kind of a standard and is used by many electronics, such as flight controllers, AM gimbal controllers, etc., which gives options.
Some options I know a about are:
* ReadyToFlyQuads/witespy: http://www.readytoflyquads.com/cables
explore the shop carefully and study the various options for configuration which are offered, with the right clicks it offers actually some good deals
* Viacopter: https://www.viacopter.eu/multirotor-...tors-and-wires
* Goodluckbuy: http://www.goodluckbuy.com/bgc-2-0-b...ontroller.html
The silicon wires are not as flexible as for other imu module wires, but in lack of better options OK. Quite expensive.
* Flyduino: http://flyduino.net/Brushless-Gimbal...stabilisierung
Last edited by OlliW; Sep 18, 2015 at 01:14 AM.
Jun 11, 2015, 01:27 PM
OlliW
Thread OP
at that point some might maybe want to get some MPU modules and start testing things

I'll happy to share all firmware and docs I currently have, and PCBs, but I can't build things. So you would have to go from just the PCBs and the eagle files. If however you would want to, then you would be highly welcome .

The MPU module will see a next version ... because of a mistake I made LOL ... the first prototype, seen in the above, I've designed for MPU6050 i2c and MPU9250 i2c or spi ... but I missed that the MPU9250 has a smaller form factor ... so it's now MPU6050 in i2c mode only ...
This is not ideal since the communication via the NT bus adds some 100us, so I'd like to go with spi. Thus I've made two new layouts, the PCBs I may get in 2-3 weeks. One is to use a MPU6000, and one to use the MPU9250 ... I don't know if the MPU9250 is as good as the MPU6050, but if so, and if I can solder the smaller package, I would decide on the MPU9250

The MPU module btw also breaks out some additional pins, which could e.g. be used to add a heater and temp sensor ... if anyone ever would want to experiment with that
Jun 11, 2015, 05:42 PM
Flying Wood For Fun
irun4fundotca's Avatar
at some point can you post a NT capable mpu schematic maybe i can try my luck at designing a board to test out other sensor models available
Jun 11, 2015, 06:27 PM
OlliW
Thread OP
schematics for
mpu module v0.06, it's the one seen in the above
mpu module v0.07 mpu6000, it's the new one
motor module v0.06, it's the one seen in the above
should give a good idea
Jun 11, 2015, 06:40 PM
Flying Wood For Fun
irun4fundotca's Avatar
nice thanks
Jun 11, 2015, 07:14 PM
Team Crazy Eagles
Simply WOW!
Jun 12, 2015, 01:09 AM
Registered User
Wow an better IMU communication! Thats great Olli
Jun 12, 2015, 04:55 AM
Registered User
Olliw, I'll take a look at the schematics and try to realize some custom boards, have you any suggestions about size or whatever else?
Jun 12, 2015, 06:28 AM
Registered User
Wow, thats amazing Olli!

Am I right that one just can replace the IMU with the new NT-bus IMU without any hardware modifications? That would be awesome. No more problems with hollow shaft and sliprings!

Quote:
Originally Posted by Defillo
Olliw, I'll take a look at the schematics and try to realize some custom boards, have you any suggestions about size or whatever else?
I don't know if it's possible, but personally I would like to have an NT-bus IMU in the same size as the small IMU from rtf quads: http://www.readytoflyquads.com/tiny-imu

Generally I think the smaller the better.
I think the motor modules should be round so that you can place them directly behind the motors. Maybe with multiple holes for different motor sizes. Ofcourse again as small as possible
Jun 12, 2015, 07:06 AM
Flying Wood For Fun
irun4fundotca's Avatar
Quote:
Originally Posted by digaus
Wow, thats amazing Olli!

Am I right that one just can replace the IMU with the new NT-bus IMU without any hardware modifications? That would be awesome. No more problems with hollow shaft and sliprings!



I don't know if it's possible, but personally I would like to have an NT-bus IMU in the same size as the small IMU from rtf quads: http://www.readytoflyquads.com/tiny-imu

Generally I think the smaller the better.
I think the motor modules should be round so that you can place them directly behind the motors. Maybe with multiple holes for different motor sizes. Ofcourse again as small as possible
the SparkyBGC mpu looks somewhat small, perhaps the right changes to it would work (smaller connector also)
https://github.com/peabody124/TauLab...s/sparkybgc/hw
Jun 12, 2015, 08:52 AM
Registered User
nice work olli!

is it possible to get the uart protocoll?

Thank you,

Alex
Jun 12, 2015, 08:55 AM
Registered User
midimon's Avatar
Hello, I am new here .
I think STorM32-NT should be a very nice expansion to the existing STorM32 project.
Quote:
Originally Posted by digaus
I don't know if it's possible, but personally I would like to have an NT-bus IMU in the same size as the small IMU from rtf quads: http://www.readytoflyquads.com/tiny-imu
I think it is impossible, because you have to have a sensor AND some kind of converter that converts data received by I2C/SPI bus to UART protocol (see schematics).

Now I am thinking about SC16IS740/750/760 chips. They should be smaller compared to STM32F10X MCU. But it is unclear if they can be used because I know nothing about the protocol used by STorM32-NT.
Jun 12, 2015, 09:13 AM
OlliW
Thread OP
@Defillo:
I've opted for myself for the sizes you see in the above
but anyone is free and highly welcome to do the pcb's as they like
I think stick like motor modules are easier to hide in tubes etc...

@digaus:
yes, you just plug the new IMU modules into the "old" camera I2C port, as well as any other NT bus module ... no hardware modification to the controller board is needed

I'm not yet sure if you will however have to flash a dedicated NT firmware, or if I can make it to be optional via a parameter setting in the GUI

The new IMU modules hardly can be as small as before, since now an additional microcontroller is needed to "translate!" between NT bus and mpu chip
they certainly could be smaller though than my layouts

@edge0xc:
yes, sure, see also next comments

(the FOC comment I added with you in mind LOL)

@midimon:
that's an excellent comment, thx!
I wasn't aware of the existence of such chips ... might have had some impact ... but I think at the end of the day one wants a unified protocol, and a microcontroller to also do things not directly supported by such chips (such as sophisticated camera controllers, or a temperature stabilized IMU module)
the NT bus is not compatible to the listed chips

@all:
One point I'd like to better clarify is: There is an additional microcontroller involved on each NT module.

This also implies e.g. that one doesn't need only a hardware but also a code for it! I certainly will release all infos on the NT bus to enable anyone to do their own module including the code, and I of course would be happy to see efforts in this direction and support it. Also, I will of course provide firmware for the modules I've designed (for free as usual), however I can't do also "your" code.

Some modules might be relatively easy to program, I hope that e.g. camera controllers etc can be even done with Arduino, But MPU and motor modules are more sophisticated, and ATmega I found too slow.

(one of the reasons why this concept rested for so long is that I started with arduino based modules and it took me some mental effort to leave Arduino and go for a STM32F103T8)


Quick Reply
Message:

Thread Tools

Similar Threads
Category Thread Thread Starter Forum Replies Last Post
Discussion STorM32-NT BGC DIY Modules davidbitton Multirotor Drone Electronics 86 Dec 15, 2017 04:24 PM