c++ I2C set up between nano and arduino

Have just ordered a nano and need to work out how to move a servo with feedback (https://wiki.dfrobot.com/DSS-M15S_270°_15KG_DF_Metal_Servo_with_Analog_Feedback_SKU__SER0044)
Have a 3.3V arduino compatible board so thought could use I2C between the nano and the arduino, using the arduino to drive the servo.
I’d like to use I2C within c++. Do I just apt-get i2c-dev, I2c-tools? Do I need to install the PCA9685-driver? Will remember to use pull up resistor. Is there anything else that needs to be done?

Hi, not quite sure about your question… there are several I2C ports on nano which all have pull-up in module. You can use them for external device, before that, please read the design guide in DLC. https://developer.nvidia.com/embedded/dlc/jetson-nano-product-design-guide

ok so there are 3 buses for I2C. I’m only interested in using one I2C bus to control one servo. My question is more software related. I haven’t used any I2C c++ libraries. If I want to develop in c++ what shared libraries are available for I2C on Jetson? Is it just i2c-dev? Is that the standard library for Jetson I2C? Do I need to install any drivers to make I2C work?

The standard kernel i2c lib working for all tegra devices.

Hi , PCA9685 shoule be supported in kernel.
you can search kernel config for CONFIG_PWM_PCA9685 to see if it’s enabled.
in drivers/pwm/MakeFile ,it’s “obj-$(CONFIG_PWM_PCA9685) += pwm-pca9685.o”

Awesome learning right there. Thanks Lukeluke!

Is there a standard working C or C++ approach for SPI between a Jetson Nano and Arduino?