Is it possible for iBus Fs-IA6B to have two way communication ?

Fs-iA6B GND connect to GND
Fs-iA6B VCC connect to 5V
Fs-iA6B RX connect to ESP32 GPIO12
Fs-iA6B TX connect to ESP32 GPIO 27
Fs-iA6B Channel 1 connect to Motor1 signal wire (the ground also connected to channel 1)
Fs-iA6B Channel 2 connect to Motor2 signal wire (the ground also connected to channel 2)

#include <HardwareSerial.h>
#include <IBusBM.h>

// Define the serial port for iBus communication
HardwareSerial iBusSerial(1);
IBusBM ibus;

void setup() {
  // Start the serial communication for debugging
  Serial.begin(115200);

  // Configure the iBus serial port
  iBusSerial.begin(115200, SERIAL_8N1, 12, -1);  // RX: GPIO3, TX: GPIO1
   // Configure the iBus serial port
  iBusSerial.begin(115200, SERIAL_8N1, -1, 27);  // RX: Not used, TX: GPIO27

  // Initialize the iBus object
  ibus.begin(iBusSerial);
}

void loop() {
  // Read channel values from iBus receiver
  int channel1 = ibus.readChannel(0);
  int channel2 = ibus.readChannel(1);

  int channel6 = ibus.readChannel(5); // Channel 6 as integer

  // Convert Channel 6 to boolean value
  bool isChannel6High = (channel6 > 1500);


  // Print channel values to Serial Monitor
  Serial.print("Channel 1: ");
  Serial.print(channel1);
  Serial.print(" | Channel 2: ");
  Serial.print(channel2);

  Serial.print(" | Channel 6 (bool): ");
  Serial.println(isChannel6High);

  delay(10);
}


It is only the coding for to get signal for each channel . The channel 6 I set as boolean because I want to make the motor move it's own (automatic) when it is high for channel 6 and when it is low the motor can be control using remote controller manually . I’m still a beginner level.

This are the value of signal when the motor are not moving.
image

This are the value of signal when the motor are moving.
image

#Note that the motor have its own build in esc so the signal wire of the motor is connected to iBus Fs-iA6B and the remote control for the motor that I'm using is FS-i6

Why split these initializations?

I think that code will just overwrite the first initialization:

The sensor example does RX/TX differently:

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.