AP_Periph 1.0.0 stable released

Update worked with UAVCAN GUI :slight_smile:
Thank you!
It was already the latest MP Beta “ build 1.3.7681.3767”

It took me a while to find this button:
Otherwise UAVCAN GUI showed the node names with “?” and always said: " Discovery not possible - local node is configured in anonymous mode"

Hi Tridge,

First of all thank you very much for adding support for battery monitoring!

I tried to adjust the hwdef.dat file such that i can compile for a battery monitor based on a STM32F103.
It is working so far that I receive battery monitor messages via the uavcan gui, but it seems that the ADC is not working.
I found out that Chibios has not really support for the ADC of the STM32F103. Is there a way to get the ADC functional within this application?

If not, does the battery monitor support analog mode for the STM32F303?
I assume that I have to make the following settings in the hwdef file:
and remove the line: define HAL_DISABLE_ADC_DRIVER TRUE
Is this correct? and did I forget something yet?

Thank you very much in advance!
Kind Regards,

Roel ten Have

I am toying around with a F303 CAN Node a little bit and stumbled into an issue which I couldn’t resolve so far.

My current test setup consists of several GNSS modules (Holybro F9P, Holybro M8N, Here 2 in I2C mode) and a Cube Orange.

As Firmware I have used F303-GPS as well as F303-Universal

GPS and Compass are detected perfectly fine, the only issue is the integrated LED. I can’t get it to work on any module.

If I connect the GNSS modules directly via Serial /I2C to the Cube all LEDS are working, so I can confirm that the hardware is fine.

NTF led is set to 231 and a Here 3 directly on CAN1 has also working LEDs.

Is the LED through CAN in general not supported or am I missing something and there is an additional configuration necessary?

Thanks a lot for your help.

right, we haven’t added that support yet
I don’t plan on adding this anytime soon, but maybe someone else can do it for you

no, we only support it on F4, F7 and H7 so far

Thank you for your reply!
My coding C++ skills are very limited, but maybe I will give it a try.
What is the most logical way to add support for the ADC for STM32F1xx series?
Should it be added in: “AP_Periph_1_2_0/libraries/AP_HAL_ChibiOS/AnalogIn.cpp”?
Or do we need to add a driver in the “AP_Periph_1_2_0/modules/ChibiOS/os/hal/ports/STM32/LLD/ADCvX” folder?
It looks like that the ADC driver of Chibios is not used, but is this true?

Thank you in advance.
Kind regards,

Unfortunately Missionplanner does not show airspeed values (SDP33) with AP_Periph 1.2 from CAN-Bus.

With AP_Periph 1.0 on a F103 it worked with ARSPD_TYPE 8 and ARSPD_PRIMARY 0.

However, the UAV_CAN Inspector clearly shows differential pressure values.

The same problem exists on the F303-Matek on the M8Q-CAN and M9N-CAN where GPS, Baro and Compass datas are displayed in the Missionplanner in contrast to airspeed. Airspeed values however are also displayed in UAVCAN Inspector.

Both on a Pixhawk 1 and a Matek H743 with current stable fimrware.


The airspeed is also not displayed at OSD ( neither OSD1_ASPEED, OSD1_ASPD1 nor OSD1_ASPD2).



Can you give me any pointers how the status LED of the GNSS modules can be used via CAN?

I was under the impression that the drivers are already implemented but had no luck so far with any module tested.

Thanks a lot for your help!

Which GNSS module(s)? Several off the shelf UAVCAN capable units expose the RGB LED as an AP_Notify device. In order to enable it, you need to add “UAVCAN” to the NTF_LED_TYPES mask. Is that what you are referring to?

Hi davidbitton
thanks a lot for your reply.

Sorry, I should have replied to my own post, I was using the modules for testing mentioned earlier. (Holybro F9P, Holybro M8N, Here 2 in I2C mode) and a Cube Orange.

As Firmware I have used F303-GPS as well as F303-Universal

NTF led is set to 231 in Ardupilot and a Here 3 directly on CAN1 has also working LEDs

But I don’t get any LED response from any of the GNSS modules tested with the CAN Node.

Is there any other setting I have to set/change in the CAN Node? (The only parameter that I can find is LED brightness)


Hi all,

I have several mro nodes I’d like to start using to control some ESCs. Is it possible to control more than one esc with a single node or do I have to have a node per esc? wasn’t sure if I have say 3 GPIO if I could assign each pin an esc/servo output?

You can at least have four ESCs per node.

1 Like

Fantastic, thank you for the reply I shall look into this today

So I have this correct I assume I have to somehow flash my F303 based MRO node with a firmware that I build that tells the board to use the GPIO pins for esc,s?

On the ardupilot GitHub I can see there is a f303-HWESC with hwdef.dat file. This seems to have “define HAL_PERIPH_ENABLE_HWESC” but I don’t understand how I define the pins to use? Or how to tell this node I want it to be esc 1,2,3 and a 2nd node be 4,5,6?

the HWESC is for HobbyWing ESC support, which is for the serial telem protocol, not pwm

@tridge thanks, so I need servo output then. I assume HAL_PERIPH_ENABLE_RC_OUT is what I need? And I need to assign pins somehow in hwdef when I build the firmware.

Is there option to enable DShot output to control DShot ESCs? How many possible ESCs can I control with current PWM implementation?


as I can’t find this documented anywhere I have a question concerning MSP (as I know, it works with CAN): Is DGNSS with NTRIP possible via MSP? If yes, is that also supported by ArduPilot as master?


Hey Rolf,

Did you ever get this working? I’ve been banging my head against the wall for about a year over this.


Hi, i just tried to update an M9N-F4-3100 firmware but probably I messed up something becasue I cannot receive anymore GPS signals. which is the proper firmware to upload on it for using as an externa GPS CAN connected to an H743 FC?

Good day l, what kind of module you need update?