Making Trilobot work with Jetson Nano

I’m trying to make the provided trilobot software work with the Jetson Nano. I’m focusing first on getting to the point where I can control the motors.

I want to know if the effort is fruitless regardless of what I do because there is something necessary to make the Trilobot work that is impossible to change on the Jetson Nano?

The Pimoroni software is going to look for Pi OS, and will fail when it doesn’t find a supported version. And I’m thinking also likely to look for a Raspberry Pi and fail when one isn’t detected.
The motor controller is a DRV8833PWP, if I read the schematic correctly.
rover_main.sch (shopify.com)

To my novice eyes, the trilobot Github code repo. doesn’t suggest that it’s impossible to port to a non-RPi board. Other Jetson Nano users have reported getting DC motors to run using a DRV8833 driver connected to a Nano, for example.

The way I think about the Trilobot is as a collection of hardware functions(leds, dc motors, etc.) with drivers connected to GPIO pins that if given the right signals will function. Meaning that as long as the right signal appears at the right header pin, then it doesn’t matter what board the Trilobot is connected to.

UNLESS, there is something in the Trilobot hardware as constituted that requires a RPi. And it’s the latter that I’m not sure about.

I’m not saying it can’t be done. Just pointing out that finding working software etc may be a challenge. What logic level does it use? The Pi uses 3V logic, so I would assume the trilobot also uses 3V logic.

I’m assuming yes because the Trilobot works out of the box with a RPi 4 board. Hardware configuration is like putting lego pieces together and then control software is installable in a few simple steps. And I’ve checked the interwebs and found multiple references to the Jetson Nano using 3.3V logic.

BUT, I had no idea that “volt logic” was a thing let alone something I needed to consider. Thank you for letting me know to be aware of that knowledge!

I purposefully dove into this project knowing that there was a steep learning curve and difficulty in mating the Trilobot with a non-RPi board. Now I can’t decide whether the ongoing troubleshooting effort is a useful learning exercise or a time sink sucking up time away from my main objective, which I can’t start on until I mate the hardware!

Anyway, I was able to get a response from a Pimoroni Trilobot-engineer and he said that “[m]ost of the robot’s functions are handled with software toggling the relevant pins. The only exceptions are the I2C for underlighting and breakouts, and hardware PWM of the servo header.” So now I’m thinking with a bit of trial and error, it should be doable!

The logic level being used is something to keep in mind. My Arduino Uno uses 5V logic while my Arduino MKR1000 uses 3.3V logic. The Raspberry Pi is not 5V tolerant and can be damaged by inputting 5V into a GPIO pin.
Pull it off and it should be a very good learning experience. I’ve learned a lot tinkering with my Raspberry Pi, and now my Pi PICO.
If you use Python, the Pimoroni example files may come in handy. The bulk of the code is likely usable once you find libraries you can install on the Nano.