AP_Periph 1.0.0 stable released

The warnings you show in the screen shot are just warnings, and don’t prevent the build from working. The error is likely off the top of the screen (waf does parallel builds, which means things can keep going for a bit after an error)
I haven’t actually tested an AP_Periph build on cygwin before, and now that I try it I see it does fail. The error is:

[ 9/10] Running python3 ${SRCROOT}/modules/libcanard/dsdl_compiler/libcanard_dsdlc --header_only --outdir ${BUILDROOT}/modules/libcanard/dsdlc_generated ${SRCROOT}/modules/uavcan/dsdl/uavcan ${SRCROOT}/libraries/AP_UAVCAN/dsdl/ardupilot ${SRCROOT}/libraries/AP_UAVCAN/dsdl/com
/bin/sh: /cygdrive/c/Users/andre/AppData/Local/Microsoft/WindowsApps/python3: Permission denied

my guess is you are getting the same error.
The problem is caused by cygwin not having a “python3” alias for a python 3.x version. In my case I have python3.7 installed.
If you also have python3.7 installed, then you can fix it like this:

ln -s /usr/bin/python3.7 /usr/bin/python3

you may also need this:

python -m pip install serial

then you should find the build works (or at least it does for me on cygwin)
Cheers, Tridge

1 Like

Thank you so much. You are absolutely right. There was a lack of a reference to “python3” alias . And all the recommendations on the official site say that there should be a reference only to "python"alias.
So when I write
ln -s /usr/bin/python3.7 /usr/bin/python3
it build fine!!!)

@Dave84 where is that code/bin for the ESC node? I really just want two outputs for the end of an X8 boom. Thanks.

Good day, which binary file you need?


Apologies if this is a repeat question or if this isn’t the right place to ask this. I was wondering if there is currently support for UAVCAN servos (command and receiving feedback data) in Ardupilot? Is there an AP_Periph node currently for UAVCAN esc messages and actuator (servo) messages? I saw the support on the Ardupilot website for UAVCAN ESCs - is there an AP_Periph node available for ESCs?

Thank you!

yes, we support UAVCAN ESCs and servos. The HiTec UAVCAN servos are nice.

not yet, but I think we will likely support this soon within AP_Periph

1 Like

hello, as I’ve redesign a node adding the stm32f303cct6, i would like build the bootloader and the firmware for it, ive read it’s necessary hwfile.dat, but after this what’s necessary for build the bootloader and firmware…,


yes… im already using this procedure in Ubuntu, but i would like build the bootloader and firmware for my CAN compass

Hi Dave,

Just add a hwdef-bl.dat, copy mine for example: ardupilot/hwdef-bl.dat at master · ArduPilot/ardupilot (github.com) and modify to suit your needs.

Then build the bootloader using the ./Tools/scripts/build_bootloaders.py {BOARDNAME}

Using my example: ./Tools/scripts/build_bootloaders.py f303-M10070

The script will copy the built bootloader to the correct folder (Tools/bootloaders/). When you build your main firmware, that bootloader will be embedded so that the bootloader can be flashed using the AP_Periph parameter FLASH_BOOTLOADER = 1. You can also flash the bootloader manually to your new board with JTAG.

Does this answer your question?


Good day Phil, thank you for the info you gave me…, i will follow your instructions.
I will check first if the pinout for the node I’ve done is correct.

Take a look at AN2606 page 94, referring for to table 2 for different ways to flash it if you haven’t broken out the SWD pins.

Good day Phil, i’ve try follow your instructions… but after ive give the command for build ./Tools/scripts/build_bootloaders.py f303-10057, nothing happen

Please send the output of this command: ls ./libraries/AP_HAL_ChibiOS/hwdef/f303*

Or you can look me up on Discord.

ok thank you… i will try your command.
Just in case i will contact you on Discord

I’ve just released AP_Periph 1.2.0beta1. I expect to release 1.2.0 final in a few days.
Key changes are:

  • support for battery monitor nodes
  • support for testing in SITL
  • improvements in error reporting to the flight controller
  • fixes to stack sizes
  • MSP output support
  • support for BGR NCP5623 LEDs
  • switched to common CAN stack with main ArduPilot vehicle code
  • added several new board types

also, for rapid discussion of AP_Periph development I recommend the ap_periph channel on discord https://ardupilot.org/discord

Does anyone have the SDP33 airspeed sensor running on the Matek M8Q-CAN board ? I can’t get the SDP33 sensor to work on the M8Q-CAN.

The built-in GPS, barometer and the compass work fine, only the SDP33 is not recognized. To exclude a defective SDP33, I had it running on the I2C input of the Pixhawk without problems. I had also changed the connection cables to be on the safe side.

Neither the installation of AP_Periph V1.2beta2 nor a daily-build from 2020-12-19-15:12 changed anything.

Here are the settings:
FC Pixhawk 1 (2MB) Arduplane V4.0.7.


Now I’m not sure if it’s because of the firmware on this board
or if the board is simply broken e.g. at the I2C connector.

EDIT: Same problem with m9n-CAN

Hi everyone,

I had a few questions about AP_Periph’s functionality:

  • Can a single instance of AP_Periph handle multiple sensor inputs and output data from multiple sensors to the CAN bus?
  • Can AP_Periph be run on a Pixhawk to output the onboard sensor data to CAN bus via UAVCAN?
  • Would it be possible to run the base Ardu* code along with AP_Periph on a Pixhawk (at the same time)?


yes, a lot of the AP_Periph builds do that, for example GPS, baro, mag

yes, we already have build targets for quite a few boards that normally run a full flight stack (eg. CubeBlack, Pixracer, CubeOrange). Adding more is easy

no, not possible at this time

1 Like