Connecting directly to the pixhawk 2 on a Solo

Joined
Jan 8, 2017
Messages
8
Reaction score
0
Age
34
Hi everyone,

I'm hoping that I haven't missed this elsewhere in my searches but to be honest I'm not entirely sure what else to search for. We recently purchased a 3DR Solo to replace our 3DR Iris+. On the Iris+ we used an OTG cable (Micro USB to Micro USB) to connect directly to an android device running a variant of the Tower app. Doing so allowed us to control and view data from the drone. With the Solo first off, there is no external USB, only an accessory port. After doing some research iI've found that the USB port might exist directly on the Pixhawk 2 but will that work the same way as the Iris+?
More importantly, I've been doing research into the accessory port. Turns out there is serial access to the pixhawk but it is "unsupported" for developer use. Can I take that to mean warranty busting but it'll still work? If so how? Is it as simple as hooking up an usb to serial converter to the port and then hooking that up to OTG? In the long run, I don't want to have to open up every new Solo every time I want to use my setup. If I can build something that I can plug into the accessory port then I'm fine with that too.

Any ideas?
 
Not sure what your asking why would you need to do any of this. You don't need a cable everything is done in solo over WiFi using the UDP settings.
 
Last edited:
Sorry about that. The android device would remain attached to the solo during flight hence the wired connection instead of wifi. We've done this previously with the Iris+ by connecting to the USB port on the side (USB port on Iris+ > OTG cable > Android device) and it worked just fine. Such a port is not readily available on the Solo.
 
Maybe I should be more specific. Previously we've been sending specific commands to an Iris+ drone via Mavlink over the usb port connection on the Iris+. I'm looking to do the same with a Solo drone. I know the Solo is a bit of different beast (Onboard computer + Pixhawk 2) but I'm trying to find a way to access the Pixhawk 2 directly rather than going through a wifi connection on the controller or using any wireless method for that matter.
 
No worries I understand now kind of like a tethered flight or just testing purposes just like older APM and multiwii boards
 
If by tethered flight you mean the controller is essentially attached to the drone then yes. The android device opens up options that are more accessible to us and is, as a result, a better flight computer for our purposes. Long story short using our own variant of the Tower Android app has given exactly what we wanted ... except now i'm not entirely sure how to connect that to the Solo ... via an onboard connection.
 
still a little unclear
but wouldn't writing a custom script on the onboard Imx6 computer be a better way?
Its easy to SSH into the IMx6
couple people have written .py scripts and triggered them as a flight mode through the controller
check out the solo mod club FB page
 
Thanks again for the responses. The idea was to use the same software setup as we did on the iris+ (We still have a few of them so we're trying to have a common platform). If we have to start maintaining two separate pieces of software to do the same thing on two 3DR drones it'll start to become a handful pretty quick.

The workflow so far has been this.

- We communicate with the Android device
- Android device receives the command passes it to the pixhawk via OTG and the Tower app
- Drone Responds

It needs to be live so we can't write a static script on the onboard computer. Perhaps there is a way to talk to the onboard computer and then directing it to control the pixhawk but I'm mostly trying to find a way to talk to the pixhawk directly (or at least indirectly using mavlink) so that we can more or less leave our software solution intact. I think I saw somewhere that if you connect to the Pixhawk 2 module's USB port (There is apparently on the box itself) on the Solo you might be able to do the same thing as you did with the pixhawk 1 USB port on the Iris+ but I'd like to avoid opening each new Solo we get just to add that functionality. This may just wind up being necessary but if there is any way I can talk directly to the Pixhawk 2 via the Accesory port ... that would be really helpful.
 
Thanks Stephen. I missed your post by accident. I've read through that entire section which is why I'm mostly sure there is a way. There is a mavlink connection to the accessory port but it's "unsupported for developer use". Which makes me think that you can do it ... but 3DR won't support it. So I'm looking to see if anyone else has pulled this off. I've also found that board and i'll gladly pay $50 for it if i could be sure i could use it in that way.
 
I know the Solex app lets you send command lines directly to the aircraft while in flight. I've never used it but may be a viable solution


Sent from my iPhone using Tapatalk
 
If i understand it correctly I think that still connects through the controller and then to the drone. Sadly i'm looking for an onboard solution ... looks like a good app though.
 
There is a USB port on the side of the pixhawk, I've used it to download data logs. It is slow and the Pixhawk beeps loudly the entire time it is connected and the hdmi cable must be removed to gain unobstructed access. It's possible that a USB cable that had a 90° connector could be left in place and routed to the bottom rear air intake of the Solo.
 
  • Like
Reactions: Frank Foster
This is what I wound up doing but ultimately it wants to randomly disconnect with a "Data link lost - Check connection" message. Is there a way to talk directly to the solo's onboard computer from a wired connection (still trying to eliminate the controller). I know I can do it through the wifi on the controller by connecting the phone, but it removes our sensors which are attached to the phone. Any ideas on how i can:

a) Connect directly to the wifi on the solo
b) Connect directly to the companion computer on the solo via serial or some other stable connection

Connecting directly to the solo link on the solo would be most ideal but I am open to anyway I can keep the android device on the drone.
 
This is what I wound up doing but ultimately it wants to randomly disconnect with a "Data link lost - Check connection" message. Is there a way to talk directly to the solo's onboard computer from a wired connection (still trying to eliminate the controller). I know I can do it through the wifi on the controller by connecting the phone, but it removes our sensors which are attached to the phone. Any ideas on how i can:

a) Connect directly to the wifi on the solo
b) Connect directly to the companion computer on the solo via serial or some other stable connection

Connecting directly to the solo link on the solo would be most ideal but I am open to anyway I can keep the android device on the drone.
Good afternoon jkarlmen, I was wondering if you ended up having any luck sending commands directly to the pixhawk or IMX6 through a wired connection from onboard companion computer?
 
Hi everyone,

I'm hoping that I haven't missed this elsewhere in my searches but to be honest I'm not entirely sure what else to search for. We recently purchased a 3DR Solo to replace our 3DR Iris+. On the Iris+ we used an OTG cable (Micro USB to Micro USB) to connect directly to an android device running a variant of the Tower app. Doing so allowed us to control and view data from the drone. With the Solo first off, there is no external USB, only an accessory port. After doing some research iI've found that the USB port might exist directly on the Pixhawk 2 but will that work the same way as the Iris+?
More importantly, I've been doing research into the accessory port. Turns out there is serial access to the pixhawk but it is "unsupported" for developer use. Can I take that to mean warranty busting but it'll still work? If so how? Is it as simple as hooking up an usb to serial converter to the port and then hooking that up to OTG? In the long run, I don't want to have to open up every new Solo every time I want to use my setup. If I can build something that I can plug into the accessory port then I'm fine with that too.

Any ideas?
This should do the trick.
3DR Solo Standard Breakout Board – BrownieBoards Store
 
  • Like
Reactions: zlipp3032
Saijin,

Thank you for your response. I have the JAE connectors they suggest in the development guide and was able to wire the pins and verify their correct location with an oscilloscope. Do these connectors you have suggested provide anything the connectors from the development guide don't?

1) I have tried using serial 2 but was unable to receive heartbeat. (baud = 57600)
2) I have tried using the gimbal bay but was unable to receive heartbeat (baud = 230400)
3) have briefly tried the USB in the accessory bay, but am currently digging into this method but have still been unlucky. For some reason dmesg tells me the drivers are unsupported on my UP board. (using ubilinux as OS)

The issue for 1 and 2 is I am receiving nothing from the Rx end on my UP board (verified via Oscilloscope). I have tried using an FTDI to serial converter as well as the pinout on the UP with no avail. I am running a very simple code that should connect via MAVlink and arm the motors. I have heard the serial 2 port is unsupported but have read that people were able to send commands via a wired connection from a companion computer (other than IMX6).

Any advice will be much appreciated. I am currently using arducopter version 1.3.1 and not necessarily wanting to purchase the new cube (e.g. I was hoping to accomplish this without upgrading to 1.5.3).

Thanks in advance for bringing to light an old topic.

-Zack
 
Saijin,

Thank you for your response. I have the JAE connectors they suggest in the development guide and was able to wire the pins and verify their correct location with an oscilloscope. Do these connectors you have suggested provide anything the connectors from the development guide don't?

1) I have tried using serial 2 but was unable to receive heartbeat. (baud = 57600)
2) I have tried using the gimbal bay but was unable to receive heartbeat (baud = 230400)
3) have briefly tried the USB in the accessory bay, but am currently digging into this method but have still been unlucky. For some reason dmesg tells me the drivers are unsupported on my UP board. (using ubilinux as OS)

The issue for 1 and 2 is I am receiving nothing from the Rx end on my UP board (verified via Oscilloscope). I have tried using an FTDI to serial converter as well as the pinout on the UP with no avail. I am running a very simple code that should connect via MAVlink and arm the motors. I have heard the serial 2 port is unsupported but have read that people were able to send commands via a wired connection from a companion computer (other than IMX6).

Any advice will be much appreciated. I am currently using arducopter version 1.3.1 and not necessarily wanting to purchase the new cube (e.g. I was hoping to accomplish this without upgrading to 1.5.3).

Thanks in advance for bringing to light an old topic.

-Zack
Zack,
You're well above my paygrade with that line of inquiry, unfortunately :p

All I know is that from my talks with the designer of the brownieboard is that the USB header is meant to provide pass-through to the companion computer for compatible devices. I've not tried it myself, so I can't verify.

You don't need the GreenCube to run the SiteScan v1.53 firmware (run it on all 3 of my Solos), and the SiteScan v1.53 firmware is actually what is installed on non-GreenCube Solos when using OpenSolo. I would get on it immediately, it is vastly improved over the v1.31 base Solo firmware. It might even iron out some of the roadblocks you've been hitting since it was for their enterprise Solo users. Maybe they've more things enabled on it?
 
Saijin,

Thank you for your response. I have the JAE connectors they suggest in the development guide and was able to wire the pins and verify their correct location with an oscilloscope. Do these connectors you have suggested provide anything the connectors from the development guide don't?

1) I have tried using serial 2 but was unable to receive heartbeat. (baud = 57600)
2) I have tried using the gimbal bay but was unable to receive heartbeat (baud = 230400)
3) have briefly tried the USB in the accessory bay, but am currently digging into this method but have still been unlucky. For some reason dmesg tells me the drivers are unsupported on my UP board. (using ubilinux as OS)

The issue for 1 and 2 is I am receiving nothing from the Rx end on my UP board (verified via Oscilloscope). I have tried using an FTDI to serial converter as well as the pinout on the UP with no avail. I am running a very simple code that should connect via MAVlink and arm the motors. I have heard the serial 2 port is unsupported but have read that people were able to send commands via a wired connection from a companion computer (other than IMX6).

Any advice will be much appreciated. I am currently using arducopter version 1.3.1 and not necessarily wanting to purchase the new cube (e.g. I was hoping to accomplish this without upgrading to 1.5.3).

Thanks in advance for bringing to light an old topic.

-Zack
Serial 2 connects right to the pixhawk. You need to enable it by setting the desired baud rate and protocol in the arducopter parameter settings. It works perfectly fine for me.
The usb port on the accessory bay connects to the IMX companion computer. In order to talk to the IMX I installed pymata and use some python code to talk over the usb port with an Arduino.
 

New Posts

Members online

No members online now.

Forum statistics

Threads
13,095
Messages
147,750
Members
16,065
Latest member
alan r pfennig