Here4 UART

I have a Here4 and I am trying to fly on a vehicle that does not have CAN.

Is it possible to use the included breakout board to communicate via standard Pixhawk UART/I2C GPS/RM3100 MAG interface as listed here? Here 4 Manual - CubePilot

It does power up, but I can’t seem to get any magnetometer or UART activity within PX4 standard drivers or even with a USB UART adapter that has worked with other UBLOX-based GNSS receivers.

If I’m not mistaken the here 4 can be used as a flight controller? Not sure if the firmware is available for that yet . I might be wrong about this.

Yes – technically with the STM32 baked in, it could and they breakout all of the IO with the additional board.

That’s a great feature and option at its pricepoint. Basically an AIO board to do Ardupilot/PX4.

That said, I am more first just trying to use it as a GPS on a vehicle that does not have CAN. I was hoping to use UART.

@Steven_Turner please connect Serial I2C connector through the breakout board and ensure that CAN is not connected. I2C line is how Here4 detects that it needs to be in Serial I2C mode and will receive LED commands over it. So if successfully detected, you should see Ardupilot LEDs working.

On Ardupilot, you will need to set GPS_DRV_OPTION bitmask for 115200 as well. This feature is not very well tested, so please feedback how it goes.

@Steven_Turner Hello, did you managed to connect through UART to Here4?

I am in a similar situation and have not been successful in getting it to work.

I got the I2C working, or at least It appears to be, the red status lights are flashing. Before I2C was working they were simply white. I tried changing GPS_DRV_OPTION as instructed above, I don’t have that option so think I worked around it by changing the GPS Serial Baud rate to the 115200 mentioned above. I’ve double checked that its pinned out correctly and have even tried it both ways.

Does anyone have any other ideas?

Any update on this. As i also want the same.
Has anyone flown with UART/I2C setting?

I have pushed some fixes to enable Serial I2C operation. Following parameters need setting on Ardupilot:

GPS_DRV_OPTIONS          4 # Enables Ublox to operate at 115200
GPS_TYPE/GPS_TYPE2       2 # Defines GPS Type to be Ublox, this is needed to honour above option
GPS_SAVE_CFG             1 # Ensures that baudrate 115200 sticks

Also I2C line needs to be connected as well, and CAN disconnected. I2C is how Here4 will know that it needs to switch to Serial/I2C operation. No other config on Here4 is needed. You should also see status LEDs behaving per Ardupilot status, and also RM3100 mag should appear as well.

The latest firmware build should be used, its available here: fix Serial I2C operation for Here3+ and Here4 · CubePilot/GNSSPeriph-release@9eabf65 · GitHub . Use the file Here4_FW.bin in GNSSPeriph zip under Artifacts.

If all goes well with testing and feedback, I will push a release.

It works, it took very long for first FIX but after that it seems normal. Compass is visible on the list. Thanks Siddharth.

Thanks for the update Siddharth, my Adrupilot bench test seems to be working, haven’t flown it. The copter I need to fly I2C uses PX4/QGC and doesn’t have the same options. Are there a set of parameters I can change there to achieve the same results?

Thanks for all your help!

@Pyroman PX4 should work normally as well. We haven’t tested it yet with PX4, so if you face any issues please report here. Thanks!

Hi. I have some troubles with Here 4.

My setup is Cube Orange+ (dark orange metallic color) with Cube Orange Mini Carrier Board and latest version of Arducopter and Here 4 GPS

There are two problems:

  1. If I use Here 4 over uavcan I didn’t see Here 4 built in compass in compass list but see gps.
  2. If I use Here 4 over expansion board I see compass and leds over i2c, but don’t see gps over uart (I use SERIAL 4 / UART 4 / I2C 2 | Connector: GPS2 on board) (Here 4 has firmware that you provide)

Could you please help me. Second variant more preferable for me.


@palma For getting serial/i2c operation to work. Please use the steps as I mentioned in above comments and also set the parameters as needed.

Although the compass issue seems to be a separate issue, have you enable CAN and followed the process here to do so? DroneCAN Setup — Copter documentation Do you then see DroneCAN GPS show up in the compass setup page of mission planner? Please raise a separate issue for this on the forum, we can continue this part of discussion there.

I feel a bit dumb, but I’m having the same issue… I just want to use my new Here 4 GPS connected via its 10-pin connector to the included uart/breakout board, and then have a standard 6-pin uart/telem connect from the gps-breakout to my flight-controller. …and I can’t for the life of me work out the steps to do it.
I’ve tried all the params/doco/configure-via-can-forwarding , read/change params from ardupilot, and also read/update can/node params from the CAN device as well, and at this point I’ve got a device that reliably shows up in droncan-gui-tool and the MP dronecan-page, but I can’t get data to come out its uart no matter what…?

Surely anyone with a can-less flight-controller is gonna want to do this, right ? Or anyone who wants to consume its data without a flight controller.? In my case I want to feed its data into a raspberry-pi’s uart, but anything similar .

@David_Buzz if you connect Here4 and follow the instructions here Here4 UART - #8 by sidbh this will work on a CAN Less flightcontroller running Ardupilot or PX4. Although it is necessary that its connected to 6pin GPS connection where I2C is present and Toshiba LED is being driven and/or MAG data being read, that is how its detected that its being used as a Serial GPS and not CAN GPS.

as mentioned by Sid many many times…

it just “works” if you connect i2c, OR just mod the firmware to “Always” use serial…

This is an unusual application as you are not using ardupilot of px4…

but its open… hack away

so… just to clarify… your proposed instructions are:
1 - first update to this random firmware fix Serial I2C operation for Here3+ and Here4 · CubePilot/GNSSPeriph-release@9eabf65 · GitHub

2 - then set these CAN parameters:

GPS_DRV_OPTIONS          4 # Enables Ublox to operate at 115200
GPS_TYPE/GPS_TYPE2       2 # Defines GPS Type to be Ublox, this is needed to honour above option
GPS_SAVE_CFG             1 # Ensures that baudrate 115200 sticks

3 - then ensure you have a i2c compass or i2c led connected as well as the serial connection.

Does updating the firmware to the above one linked affect the NEO vs ZED functionality of the unit? I hear a rumor that it might?

Is this the correct process?

User/s are expected to magically know this?

The ublox firmware is not being discussed here

Just the ap periph