Development Carrier Board
Last updated
Last updated
(real picture of product here)
This is a carrier board for the Micro CAN node.
The Dev carrier board is a great way of getting started using a CAN node, giving access to all the interfaces available on the node.
It allows easy programming of the node for custom applications, providing compatibility with debugging hardware.
It is also a great sensor ingestion interface for use in flight if you require lots of flexibility in development or for low unit numbers.
For production platforms, this board will give you the opportunity to test ideas quickly and hone in on a production carrier board design to use with the Micro CAN node.
The Dev board interfaces follow Pixhawk standards or RC common convention where applicable! Please double check the interface pin outs for your application. We've included a lot of information on the back of the board which should help with most questions.
The micro can node has 1 available CAN interface, this is pinned out to 2 JSTGH CAN ports, to allow CAN device chaining.
1
+5V
2
CANH
3
CANL
4
GND
The micro can node has 1 available i2c interface, which has been pinned out to a single JSTGH port. This has selectable 3.3V out or 5V out depending on how JP2 is set. By default, JP2 is set to 5V out.
to set to 3.3V out:
Cut the trace between pad 1 and 2 on JP2
Check there is now no continuity between pad 1 and 2
create a solder bridge between pad 2 and 3
1
Vout, 5V by default or 3.3V if JP2 changed
2
SCL
3
SDA
4
GND
The micro can node has 1 available SPI interface, with 2 chip select pins. The dev carrier pins this interface out to a 6 pin JSTGH with 1 chip select pin.
1
3.3V Out
2
SPI_SCK
3
SPI_MOSI
4
SPI_MISO
5
SPI_CS1
6
GND
The micro can node has 3 serial interfaces available. 1 interface is used for uploading/console out on the development board, but this could be repurposed if required by disabling the onboard USB and using the STLINK pin headers.
1
+5V out
2
UARTX_TX
3
UARTX_RX
4
NC
5
NC
6
GND
This is the program upload/console port for the micro can node. See the STLINK header section for the pinout!
The micro can node has 8 GPIO pins available. These have been pinned out into a standard 3x8 pin RC header. These pins can be used as either GPIO or PWM outputs.
The bottom row of pins are all connected to Ground
The middle row of pins are all connected together. The middle pin is designated as the positive voltage terminal in RC convention. An external voltage source is required to power this row.
the top row are the GPIO pins, see the below diagram for STM32 pin labels. For Arduino DroneCAN use, these pins can be accessed in your program using PA_8 in your code for PA8!
ADC pins PB0 and PB1 haven't been shown to work in testing yet
The ADC header on the board exposes 5 ADCs. A row of ground pins is situated next to the ADC pins for easy access.
There are a few ways of interfacing with the development board, depending on what you're trying to achieve!
The Micro CAN Node comes with a standard AP_Periph build by default, with the following features enabled:
Need to actually look at this
The board will be compatible with any existing L431 firmware, although we can't guarantee all the pin mappings will be suitable. The firmware can be uploaded through Mission Planners CAN page in setup.
The dev board comes with a USB C connection and has a built in USB to UART converter to be able to communicate with our CAN node. This can be used to program the CAN node over serial. The CAN node needs to be in boot loader mode to do this.
To use the onboard USB connection, the USB switch needs to be set to ON
To put the CAN node into boot loader mode:
Hold down the boot loader button
press the reset button
Once in boot loader mode, you can use
STM cube programmer to upload AP_Periph firmware over serial https://www.st.com/en/development-tools/stm32cubeprog.html
PlatformIO for Arduino DroneCAN projects
Other tool chains!
STM32 allows the ability to easily debug programs over SWD. This allows live variable inspection, breakpoints and more - which makes program development much easier!
To use the STLINK header, USB switch needs setting to the off position
The "STLINKV3" header is directly compatible with the STLINK-V3MINIE
The pins on the STLINK header could also be used with normal Arduino jumpers so a STLINKV2, or another SWD based debugger could be used. The pins are as follows:
1
NC
2
NC
3
5V in
4
SWD
5
GND
6
SWC
7
GND
8
NC
9
NC
10
GND
11
NC
12
NC
13
UART2_TX
14
UART2_RX