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:
-
Updated the firmware to the latest version via an online search.
-
Flashed the bootloader.
-
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 5V → Here4 pin 1
-
Arduino GND → Here4 pin 6
-
Arduino RX → Here4 pin 3
-
Arduino TX → Here4 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!