STM32F446 on Dragonboard

Hey Guys,

i have a Dragonboard and a STM32F446 mezzanine board.
i removed JP5 on the mezz board to enable communication via internal connectors and i got STLink to detect the mezzanine board, but not more.

My main problem is: i don’t understand how these two boards can be used together?
How can i make these two boards communicate with each other?
Which software is needed?
How can i read the additional sensors on the mezzanine card from my Dragonboard (Linaro based)?
I tried to find any documentation, but couldn’t find any answers in it so far.

Any help is really appreciated!


I remember reading the schematic for this board (long time ago now) but I don’t have one.

As far as I recall the board has a huge configuration space (mostly managed by solder bridges, but there are a few DIP switches too) meaning there’s a good deal of flexibility on how the base board and the mezzanine can communicate.

On most cases reading a sensor means writing firmware code for the STM32 to read the sensor values and make it available to the base board. Again there are many ways to do this and it depends on your goals, additionally some of the sensors are connected directly to the base board (if the DIP switches are set correctly).

However if you are just getting started and need to build up experience, one of the simplest things to do would be to create a program for the STM32 consisting of a loop that continually reads sensor values and then sends them to a serial port (perhaps with a 1 second sleep to prevent too many readings coming in).

Which sensor is your first priorirty?


there is no real priority, i just want to understand how to get things up.
for example it would be great to be able to read the accelerometer and be able to have the data on the dragonboard.


Well, you get to choose whether the accelerometer is hooked up to the STM32 or directly to the dragonboard using DIP switches.

If you hook it up to the 410c you will need to modify the kernel and device tree to backport and enable the sensor driver (st_lsm6dsx « imu « iio « drivers - kernel/git/torvalds/linux.git - Linux kernel source tree ) and to include the sensor in the device tree ( ). The release notes include instructions on how to recompile the kernel: (scroll down).

If you hook it up to the STM32 then you should look at the idea from my last post. Here you write a firmware (perhaps using mbed) to read the sensor and print the results every second to a serial port.

Both are perhaps a little intimidating if you are not very experienced and both will expose you to potentially usual skills for the future! If you’re totally stuck choosing then see if you can set the mezz board working with mbed (printing messages to serial port, etc). I’ve not personally used mbed but I think (and hope) there are lots of community resources related to mbed to help you get started.