Today the module recognition code was successfully debugged. Now it is possible to plug a module on *any* slot of the backbone PCB and it will be recognized by the main communications module. After recognition the module is integrated into the system workflow automatically. If the new module is a sensor one, for example, it is read in sequence with other data source modules, making data available for decision making by the flight control module and further servo positioning.
This is a major step in the system development, giving it a plug-n-play like capability.
And here is a snapshot of the serial connection to the communications (COM) module. Serial commands are one character long. In the example below, 's' lists the slot occupation, showing the AMGP module (identified by number 1) on slot 4. The other commands return sensor data: a for accelerometer, g for gyroscope, b for barometer (altitude, pressure and temperature) and m for magnetometer. All values are multiplied by 10 or 100, depending on the case, to avoid using floating point numbers. The values shown are averages over a few samples, followed by standard deviation.
The bad news is that the power supplies are failing. I had two buck-boost converters killed by an unknown (to me) factor. I hope to find the mysterious cause when my scope arrives.
If you like how this project is evolving, please consider supporting it by helping to develop the electronics or the firmware. All the project info is publicly available on the project repo, including schematics, PCB drawings and firmware code in C++. You can also develop your own modules using the project board and connection standards, or propose new standards for future systems. Or you can help to support it financially by sending a $1 PayPal donation to help covering the PCB and equipment costs. Thanks a lot for your help and support!