Table of Contents
Adaptation of libopencm3 libraries to the STM32F3
Introduction
The STM32F3 microcontroller has a promising hardware that includes an accelerometer, a gyroscope and an electronic compass. The first intention is to use this microcontroller in robotic applications such as multicopters and other kind of aircrafts. In this case the software that’s intended to be supported by the F3 controller is Paparazzi. This open-source software is available in the Debian repository and it was developed as an autopilot system, however it is only available for the F1, F2 and F4 microcontrollers. So, the whole idea of the project is to adapt the F4 libraries to the F3 controller, and take advantage of the F3 utilities for aircrafts using the Paparazzi software.
Objectives
- Adapt the necessary libopencm3 libraries to run Paparazzi from the STM32F4 to the STMF3 hardware.
- Control the STM32F3’s accelerometer, gyroscope and E-compass for their usage in multicopters.
STM32F3 description
The full review of this microcontroller is available at STMicroelectronics web page:
http://www.st.com/internet/evalboard/product/254044.jsp
The main features are:
- 32-bit ARM Cortex-M4 processor.
- 256 KB program Flash and 48 KB SRAM.
- A 3-axis linear accelerometer, a 3-axis gyroscope, and a 3D magnetic sensor.
- A user micro USB port.
- ST-LINK debug tool and a user USB connector.
STM32F3 implementation
For installing programs in the controller, there are some previous steps detailed here:
Edition of libopencm3 libraries
The resume of the edited files is detailed here:
About Paparazzi
The open-source Paparazzi software is the reason for this project and is detailed here:
Conclusions
Support was given to the memory map and the miniblink example was enabled for the F3, but some functions of the STM32F4 were disabled in The STM32F3 during the adaptation and some examples may not run in the controller.
For further information you may request information here