# Creating multiple components

**URL:** <https://discuss.px4.io/t/creating-multiple-components/40607>\
**Category:** MAVSDK\
**Created:** [September 8, 2024, 6:38am UTC](https://discuss.px4.io/t/creating-multiple-components/40607 "2024-09-08T06:38:09Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![m1k30](https://discuss.px4.io/letter_avatar_proxy/v4/letter/m/919ad9/32.png) [@m1k30](https://discuss.px4.io/u/m1k30)\
**Post date:** [September 8, 2024, 6:38am UTC](https://discuss.px4.io/t/creating-multiple-components/40607/1 "2024-09-08T06:38:09Z")

</div>

How can I use a single Mavsdk object to implement several system components?

I’m trying to simultaneously implement both a camera component and gimbal component on a RPi companion computer connected to an Ardupilot FC.  
When creating the Mavsdk object you have to choose a single component type, but I need to advertise and handle messages for both the camera and gimbal.

I thought about creating two threads, each with its own Mavsdk object and MAVlink UDP connection, but my gimbal and camera are one device (Siyi A8). I would prefer to have a single thread and Mavsdk object that connects to the camera/gimbal device.

Any suggestions for how to architect this?
