Hitec telemetry
The Hitec telemetry system has changed the position of the signal line from the HTS-SS output to the data input of the OPTIMA 9. The power line and the signal line have been swapped. OPTIMA 9 diagram is incorrect.
Ok. I'll fix that.
Do you see the telemetry in the transmitter?
Ok. I'll fix that.
Do you see the telemetry in the transmitter?
Yes, I get the telemetry from transmitter.
This test was done with genuine Hitec parts.
I have attached an oscilloscope screen of the data line.
The top is the signal data on the red line, and the bottom is the data on the yellow line. Is this I2c or SPI communication? I don't think the red line is the power line. I think I'm wrong.
MSRC has not yet performed testing.
It is I2C protocol. Red wire is SCL, yellow is SDA and black is GND. I'll update this in the docs.
Added wire colors identification with commit. Please let me know if it works with MSRC.
Added wire colors identification with commit. Please let me know if it works with MSRC.
MSRC is not currently working properly with the Hitec system. Debug is attached. Hitec genuine temperature sensor #5583 HTS-TEMP is used. Resistance is 10kΩ. The circuit is wired based on MSRC-gui. The LED of Rp2040-zero is not flashing. Debug contents are as bellows.
USB. Debug enabled. MSRC firmware version 1.2.0 USB (84) Temperature (222): -9.79 USB (84) Temperature (96): -8.01 USB (84) Temperature (96): -9.26 USB (84) Temperature (96): -9.01 USB (84) Temperature (96): -7.76 USB (84) Temperature (96): -9.01 USB (84) Temperature (96): -8.25 USB (84) Temperature (96): -8.50 USB (84) Temperature (96): -8.25 USB (84) Temperature (96): -8.50 USB (84)
Also, when I branch it with the Hitec genuine telemetry system and take out the I2c signal, the telemetry on the transmitter is not displayed. The yellow signal is not a square wave and has changed. Best regards,
Mr. Daniel GA,
A test was conducted. The receiver is powered by the BEC power from the ESC. The PULL UP power source is the R2040's 3.3V power supply. The R2040 LED is not blinking. DEBUG is as follow's attachment file. The HITEC temperature sensor is 10kΩ.
Best regards, Gorochan
Ok. This is what I'm getting with an arduino mega as a receiver and temperature sensor enabled in msrc:
- Circuit
- msrc gui debug (in hex):
Hitec (239) > 17 0 0 0 D8 0 17
- Oscilloscope (upper signal is SDA and lower signal is SCL):
Which is in accordance with the msrc gui debug: Total 8 bytes:
- master 1 byte: 0x08 | read (B1)
- slave (msrc): 0x17 0x0 0x0 0x0 0xD8 0x0 0x17
Please, power before the rp2040, then the receiver and capture the signals (SDA & SCL) in the oscilloscope. I need to see the first request from the receiver. I suspect it is being stopped for some reason.
Attached the arduino sketch used:
If this doesn't work, capture the signal without the rp2040 or any sensor connected. In this case pullups are needed.
Mr. Daniel GA,
A test was conducted. The receiver is powered by the BEC power from the ESC. The PULL UP power source is the R2040's 3.3V power supply. The R2040 LED is not blinking. DEBUG is as follow's attachment file. The HITEC temperature sensor is 10kΩ.
Best regards, Gorochan
Valid pullups for arduino version where 1k to 2.7k.
Which pullups are you using?
Ok. I'll fix that. Do you see the telemetry in the transmitter?
Yes, I get the telemetry from transmitter. This test was done with genuine Hitec parts. I have attached an oscilloscope screen of the data line. The top is the signal data on the red line, and the bottom is the data on the yellow line. Is this I2c or SPI communication? I don't think the red line is the power line. I think I'm wrong.
MSRC has not yet performed testing.
Please, could you decode this signal from the genuine sensor. I assume it's temp sensor, isn't it?
I am attaching the data of the I2 signal of the genuine Hitec temperature sensor. Since the 2nd and 8th bytes of the 8 bytes of the oscilloscope data change, I am also attaching the PulseView data.
When I set your Arduino Mega as a virtual receiver, if I turn on the RP2040 first and then the Arduino Mega, the LED inside the RP2040 will blink. At that time, I can also get data with PulseView, but when I connect the RP2040's GP2 and GP3 to the Hitec receiver, the LED on the RP2040 stops blinking immediately.
Mr. Daniel Ga;
I use 1kohm resistor for the pull up .
Best regards,
Gorochan
----- 元のメッセージ ----- From: "DanielGeA" @.> 宛先: "dgatf/msrc" @.> Cc: "zxd00276" @.>, "Author" @.> 送信済み: 2025年03月27日 09:15 件名: Re: [dgatf/msrc] Hitec telemetry (Issue #149)
Mr. Daniel GA,
A test was conducted. The receiver is powered by the BEC power from the ESC. The PULL UP power source is the R2040's 3.3V power supply. The R2040 LED is not blinking. DEBUG is as follow's attachment file. The HITEC temperature sensor is 10kΩ.
Hitec_2025_03_27.txt
Best regards, Gorochan
Valid pullups for arduino version where 1k to 2.7k.
Which pullups are you using?
— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.
dgatf left a comment (dgatf/msrc#149)
Mr. Daniel GA,
A test was conducted. The receiver is powered by the BEC power from the ESC. The PULL UP power source is the R2040's 3.3V power supply. The R2040 LED is not blinking. DEBUG is as follow's attachment file. The HITEC temperature sensor is 10kΩ.
Hitec_2025_03_27.txt
Best regards, Gorochan
Valid pullups for arduino version where 1k to 2.7k.
Which pullups are you using?
— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.
When I set your Arduino Mega as a virtual receiver, if I turn on the RP2040 first and then the Arduino Mega, the LED inside the RP2040 will blink. At that time, I can also get data with PulseView, but when I connect the RP2040's GP2 and GP3 to the Hitec receiver, the LED on the RP2040 stops blinking immediately.
We know msrc is working properly with an arduino as a receiver. We have to find out why I2C bus gets stopped when connected to the receiver.
The receiver requests every few miliseconds to I2C address 0x08. This byte should be readable. Can you try to capture the receiver signal without connecting to rp2040? At least the first byte (0x08), should be readable when the receiver boots up.
Mr. Daniel Ga;
I use 1kohm resistor for the pull up .
Best regards,
Gorochan …
Just in case, try with a bigger resistor value, e.g. 10k, or even remove the pullups.
Does it works if you plug the genuine sensor after the receiver boots?
Check that SDA and SCL are not twisted to the rp2040.
I am attaching the data of the I2 signal of the genuine Hitec temperature sensor. Since the 2nd and 8th bytes of the 8 bytes of the oscilloscope data change, I am also attaching the PulseView data.
It is only different the 6th byte, as I have the temperature pin floating. Seems ok
This is what I get fron arduino mega when rp2040 is not connected:
I expect to see the same from the hitec receiver when nothing is connected to the telemetry port.
Arduino sketch updated, to release the bus after timeout:
Once we get this request from the receiver, we can continue. Otherwise is difficult. You are using two pull ups one for SDA, other SCL line, aren't you?
It could be that the pullups values are too low and the receiver can't drive low the lines. Use a bigger pullup resistor, 10k.
When I set your Arduino Mega as a virtual receiver, if I turn on the RP2040 first and then the Arduino Mega, the LED inside the RP2040 will blink. At that time, I can also get data with PulseView, but when I connect the RP2040's GP2 and GP3 to the Hitec receiver, the LED on the RP2040 stops blinking immediately.
Remember you need a common ground between rp2040 and receiver.
Mr. Daniel GA,
Please refer to the attached files of my RCGROUPS report #593. It is Pulseview data.
The first address read 08 is displayed in the file.
DIY - MSRC - Multi sensor telemetry for RC - Page 40 - RC Groups
Best regards,
Gorochan
----- 元のメッセージ ----- From: "DanielGeA" @.> 宛先: "dgatf/msrc" @.> Cc: "zxd00276" @.>, "Author" @.> 送信済み: 2025年03月28日 01:02 件名: Re: [dgatf/msrc] Hitec telemetry (Issue #149)
When I set your Arduino Mega as a virtual receiver, if I turn on the RP2040 first and then the Arduino Mega, the LED inside the RP2040 will blink. At that time, I can also get data with PulseView, but when I connect the RP2040's GP2 and GP3 to the Hitec receiver, the LED on the RP2040 stops blinking immediately.
We know msrc is working properly with an arduino as a receiver. We have to find out why I2C bus gets stopped.
The receiver requests every few miliseconds to I2C address 0x08. This byte should be readable. Can you try to capture the receiver signal without connecting to rp2040? At least the first byte (0x08), should be readable at least when the receiver boots up.
— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.
dgatf left a comment (dgatf/msrc#149)
When I set your Arduino Mega as a virtual receiver, if I turn on the RP2040 first and then the Arduino Mega, the LED inside the RP2040 will blink. At that time, I can also get data with PulseView, but when I connect the RP2040's GP2 and GP3 to the Hitec receiver, the LED on the RP2040 stops blinking immediately.
We know msrc is working properly with an arduino as a receiver. We have to find out why I2C bus gets stopped.
The receiver requests every few miliseconds to I2C address 0x08. This byte should be readable. Can you try to capture the receiver signal without connecting to rp2040? At least the first byte (0x08), should be readable at least when the receiver boots up.
— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.
Does it works if you plug the genuine sensor after the receiver boots?
Yes, telemetry data transmit to the transmitter.
Connected rp2040 to receiver: If you disable all sensors in msrc, can you still read the byte request from the receiver with the oscilloscope?
This is what I get fron arduino mega when rp2040 is not connected:
I expect to see the same from the hitec receiver when nothing is connected to the telemetry port.
Arduino sketch updated, to release the bus after timeout:
I was able to capture a signal, but it was not a square wave. However, the oscilloscope read the I2c address. Is the
pull-up necessary?
This is what I get fron arduino mega when rp2040 is not connected:
I expect to see the same from the hitec receiver when nothing is connected to the telemetry port.
Arduino sketch updated, to release the bus after timeout:
Attached is the signal data output from the virtual receiver Arduino Mega and the genuine Hitec sensor terminal. upper file: Arduino Mega signal lower file: Genuine Hitec sensor terminal
p.s. The waveform is distorted due to the large C capacitance caused by the long measurement cable. I may need to shorten the cable or increase the power.
I got the signal from the sensor terminal of the receiver based on the wiring of MSRC-GUI with RP2040. The signal line is PULL UP with 10kohm. 08 is not read. Please see the attachment.
This is what I get fron arduino mega when rp2040 is not connected:
I expect to see the same from the hitec receiver when nothing is connected to the telemetry port. Arduino sketch updated, to release the bus after timeout: hitec2.zip
Attached is the signal data output from the virtual receiver Arduino Mega and the genuine Hitec sensor terminal. upper file: Arduino Mega signal lower file: Genuine Hitec sensor terminal
p.s. The waveform is distorted due to the large C capacitance caused by the long measurement cable. I may need to shorten the cable or increase the power.
Yes, please use short wires. The quality of the signal is too bad to read. I've got a square signal with rp2040 & arduino.
See this article
Try with different pullups to check for a better signal quality. This seems to be the issue.