Here4 as Flight Controller

Hi there,

I’m attempting to set up the Here4 as a flight controller (FC) using a CubeOrange and the breakout board for the Here4. Below are the steps I’ve taken so far:

Solution Attempt 1

I’m using macOS and Mission Planner for macOS. Following the Here4 Manual, I:

  1. Updated the firmware to the latest version via an online search.

  2. Flashed the bootloader.

  3. Refreshed the parameters.

Afterward, I disconnected the CubeOrange and CAN line, then connected a 4-pin UART from the Here4 to its breakout board. I wired it to an Arduino Nano Every with these connections:

  • Arduino 5VHere4 pin 1

  • Arduino GNDHere4 pin 6

  • Arduino RXHere4 pin 3

  • Arduino TXHere4 pin 2

This setup follows the manual’s UART instructions. I used this Arduino code for serial passthrough:



void setup() {

Serial.begin(115200); // USB to laptop

Serial1.begin(115200); // UART to Here4


}


void loop() {


if (Serial.available()) Serial1.write(Serial.read());

if (Serial1.available()) Serial.write(Serial1.read());

}

In the Serial Monitor, I see Init Gyro and:

****** RM3100: Found at address 0x1 as compass 0

However, messages sent from the Serial Monitor don’t appear, and the Here4 isn’t detected in Mission Planner’s “Install Firmware” section. The LEDs flash briefly on power-up but remain off afterward.

Solution Attempt 2

Following a forum post, I tried wiring the I2C lines and adjusting parameters in Mission Planner. Since the suggested firmware was outdated, I updated it with a newer version but still had no success.

I modified the Arduino code to include I2C initialization:

#include <Wire.h> // Include Wire library for I2C communication

  

void setup() {

Serial.begin(115200); // USB to laptop

Serial1.begin(115200); // UART to Here4

Wire.begin(); // Initialize I2C (critical for Here4 mode switch)

}

void loop() {

// Forward USB ↔ Here4

if (Serial.available()) Serial1.write(Serial.read());

if (Serial1.available()) Serial.write(Serial1.read());

}

Solution Attempt 3

I discovered this GitHub repository and its Here4FC_bl.bin firmware file. After flashing it, the Here4 LEDs slowly brighten and dim, but DroneCAN reports that it’s in maintenance mode with Vendor Specific Code 12, and I can’t see any parameters.

I proceeded to try using the same serial communication with connected I2C lines but encountered similar issues.

I would greatly appreciate any advice or insights you can provide! Let me know if further details are needed.

Thank you!