Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Namimno OLED TX module inconsistent binding #1260

Closed
Zestforlife808 opened this issue Jan 7, 2022 · 9 comments
Closed

Namimno OLED TX module inconsistent binding #1260

Zestforlife808 opened this issue Jan 7, 2022 · 9 comments
Labels
closing 🚪 Will close if no new information is reported hardware issue JHEMCU

Comments

@Zestforlife808
Copy link

Zestforlife808 commented Jan 7, 2022

Current Behavior

Namimno OLED TX module does not bind consistently with JHEMCU EP24S or Flywoo EL24P. I am able to get it to bind by messing with the LUA script but I don't feel that's intended behavior. TX module seems to work fine with HM 2G4 AIO.

Steps to Reproduce

I made a video showing the issue. See timestamps for context.
https://youtu.be/sxolYfHlH8M
:12 - Model was previously bound at 500 hz 1:8. Turning on TX shows module in 500 hz 1:8 25mw.
:20 - Plug in quad. Immediate "telemetry lost". Module goes into full power 500 hz 1:2 1000mw. RX light blinking (it will not bind if left in this state)
:27 - Bumped arm switch (yikes), curiously the quad beeps here despite appearing to have no bind and no telemetry. (Rxbt is 0.
RX still flashing.)
1:05 - Enter LUA script. LUA displaying 500 hz 1:8 but the module says 500 hz 1:2 1000mw. Change telemetry ratio to 1:2 via LUA script and exit.
1:32 - "Telemetry lost. Telemetry recovered." repeatedly. Rxbt is being returned. Module screen displaying 500 hz 1:2 25 mw.
1:44 - Re-enter LUA script. Change back to 1:8 telemetry ratio.
1:59 - TX module now says 500 hz 1:8 25 mw. No more telemetry lost messages. Solid blue light on RX.

Possible Solution (Not obligatory)

I don't know why this is happening but there seems to be a janky workaround as seen above. I have to do this process every time the transmitter is turned off and on again. Sometimes if the TX is left on and only the quad is power cycled, the bind will happen automatically.

Details

The behavior is nearly the same for both JHEMCU and Flywoo receivers. I detailed my experience with the JHEMCU in #1229. I tried both the DIY target and JHEMCU EP24S target with the same symptoms. For the Flywoo, I bricked it via WIFI flash using the EL24P target and had to revive it with bootloader + passthrough using the DIY 2400 RX ESP8285 SX1280 target. You are seeing the Flywoo with DIY target in the video.

Flywoo RX flash output. There is a warning about the crystal in there. Not sure if relevant. I also saw "Cannot detect RX target, blindly flashing!" on the initial WIFI flash and the subsequent passthrough flashes.

ExpressLrs Configurator
ExpressLRS Configurator v1.3.2
Build
Verifying build system
Downloading firmware
Building user_defines.txt
Flashing device
Logs
Processing DIY_2400_RX_ESP8285_SX1280_via_BetaflightPassthrough (platform: espressif8266@3.2.0; board: esp8285-8285; framework: arduino)
--------------------------------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
UID bytes: 147,162,92,163,87,43

build flags: ['-D PLATFORM_ESP8266=1', '-D VTABLES_IN_FLASH=1', '-D PIO_FRAMEWORK_ARDUINO_MMU_CACHE16_IRAM48', '-D CONFIG_TCPIP_LWIP=1', '-D BEARSSL_SSL_BASIC', '-O2', '-DTARGET_RX=1 -Wall -Iinclude', '-DRADIO_2400=1', '-include target/DIY_2400_RX_ESP8285_SX1280.h', '-DMY_BINDING_PHRASE="sanitized"', '-DMY_UID=147,162,92,163,87,43', '-DLOCK_ON_FIRST_CONNECTION', '-DAUTO_WIFI_ON_INTERVAL="20"', '-DHOME_WIFI_SSID="XXX"', '-DHOME_WIFI_PASSWORD="XXX"', '-DFAST_SYNC', '-DLATEST_COMMIT=98,101,102,102,48,50', '-DLATEST_VERSION=50,46,48,46,49', '-DTARGET_NAME=DIY_2400_RX_ESP8285_SX1280']

Building for ESP8266/ESP8285 Platform
AUTO_WIFI_ON_INTERVAL = ON
CONFIGURATION: https://docs.platformio.org/page/boards/espressif8266/esp8285-8285.html
PLATFORM: Espressif 8266 (3.2.0) > Generic ESP8285 Module
HARDWARE: ESP8266 160MHz, 80KB RAM, 1MB Flash
PACKAGES: 
 - framework-arduinoespressif8266 3.30002.0 (3.0.2) 
 - tool-esptool 1.413.0 (4.13) 
 - tool-esptoolpy 1.30000.201119 (3.0.0) 
 - tool-mklittlefs 1.203.210628 (2.3) 
 - tool-mkspiffs 1.200.0 (2.0) 
 - toolchain-xtensa 2.100300.210717 (10.3.0)
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 68 compatible libraries
Scanning dependencies...
Dependency Graph
|-- <ESPAsyncWebServer-esphome> 1.3.0
|   |-- <ESPAsyncTCP-esphome> 1.2.3
|   |-- <Hash> 1.0
|   |-- <ESP8266WiFi> 1.0
|-- <SX1280Driver>
|   |-- <logging>
|   |-- <SPI> 1.0
|-- <CONFIG>
|   |-- <EEPROM>
|   |   |-- <logging>
|   |   |-- <EEPROM> 1.0
|   |   |-- <Wire> 1.0
|   |-- <logging>
|   |-- <OTA>
|   |   |-- <CRSF>
|   |   |   |-- <CRC>
|   |   |   |-- <CrsfProtocol>
|   |   |   |   |-- <CRC>
|   |   |   |-- <MSP>
|   |   |   |   |-- <logging>
|   |   |   |-- <TelemetryProtocol>
|   |   |   |-- <FIFO>
|   |   |   |   |-- <logging>
|   |   |   |-- <helpers>
|   |   |   |-- <logging>
|   |-- <POWERMGNT>
|   |   |-- <DAC>
|   |   |   |-- <Wire> 1.0
|   |   |   |-- <helpers>
|   |   |   |-- <logging>
|   |   |-- <SX1280Driver>
|   |   |   |-- <logging>
|   |   |   |-- <SPI> 1.0
|-- <CRC>
|-- <CRSF>
|   |-- <CRC>
|   |-- <CrsfProtocol>
|   |   |-- <CRC>
|   |-- <MSP>
|   |   |-- <logging>
|   |-- <TelemetryProtocol>
|   |-- <FIFO>
|   |   |-- <logging>
|   |-- <helpers>
|   |-- <logging>
|-- <BUTTON>
|   |-- <DEVICE>
|   |   |-- <helpers>
|   |   |-- <POWERMGNT>
|   |   |   |-- <DAC>
|   |   |   |   |-- <Wire> 1.0
|   |   |   |   |-- <helpers>
|   |   |   |   |-- <logging>
|   |   |   |-- <SX1280Driver>
|   |   |   |   |-- <logging>
|   |   |   |   |-- <SPI> 1.0
|   |-- <logging>
|   |-- <POWERMGNT>
|   |   |-- <DAC>
|   |   |   |-- <Wire> 1.0
|   |   |   |-- <helpers>
|   |   |   |-- <logging>
|   |   |-- <SX1280Driver>
|   |   |   |-- <logging>
|   |   |   |-- <SPI> 1.0
|-- <DEVICE>
|   |-- <helpers>
|   |-- <POWERMGNT>
|   |   |-- <DAC>
|   |   |   |-- <Wire> 1.0
|   |   |   |-- <helpers>
|   |   |   |-- <logging>
|   |   |-- <SX1280Driver>
|   |   |   |-- <logging>
|   |   |   |-- <SPI> 1.0
|-- <LED>
|   |-- <DEVICE>
|   |   |-- <helpers>
|   |   |-- <POWERMGNT>
|   |   |   |-- <DAC>
|   |   |   |   |-- <Wire> 1.0
|   |   |   |   |-- <helpers>
|   |   |   |   |-- <logging>
|   |   |   |-- <SX1280Driver>
|   |   |   |   |-- <logging>
|   |   |   |   |-- <SPI> 1.0
|   |-- <CrsfProtocol>
|   |   |-- <CRC>
|   |-- <POWERMGNT>
|   |   |-- <DAC>
|   |   |   |-- <Wire> 1.0
|   |   |   |-- <helpers>
|   |   |   |-- <logging>
|   |   |-- <SX1280Driver>
|   |   |   |-- <logging>
|   |   |   |-- <SPI> 1.0
|   |-- <logging>
|-- <WIFI>
|   |-- <DEVICE>
|   |   |-- <helpers>
|   |   |-- <POWERMGNT>
|   |   |   |-- <DAC>
|   |   |   |   |-- <Wire> 1.0
|   |   |   |   |-- <helpers>
|   |   |   |   |-- <logging>
|   |   |   |-- <SX1280Driver>
|   |   |   |   |-- <logging>
|   |   |   |   |-- <SPI> 1.0
|   |-- <CONFIG>
|   |   |-- <EEPROM>
|   |   |   |-- <logging>
|   |   |   |-- <EEPROM> 1.0
|   |   |   |-- <Wire> 1.0
|   |   |-- <logging>
|   |   |-- <OTA>
|   |   |   |-- <CRSF>
|   |   |   |   |-- <CRC>
|   |   |   |   |-- <CrsfProtocol>
|   |   |   |   |   |-- <CRC>
|   |   |   |   |-- <MSP>
|   |   |   |   |   |-- <logging>
|   |   |   |   |-- <TelemetryProtocol>
|   |   |   |   |-- <FIFO>
|   |   |   |   |   |-- <logging>
|   |   |   |   |-- <helpers>
|   |   |   |   |-- <logging>
|   |   |-- <POWERMGNT>
|   |   |   |-- <DAC>
|   |   |   |   |-- <Wire> 1.0
|   |   |   |   |-- <helpers>
|   |   |   |   |-- <logging>
|   |   |   |-- <SX1280Driver>
|   |   |   |   |-- <logging>
|   |   |   |   |-- <SPI> 1.0
|   |-- <helpers>
|   |-- <HWTIMER>
|   |   |-- <logging>
|   |-- <logging>
|   |-- <POWERMGNT>
|   |   |-- <DAC>
|   |   |   |-- <Wire> 1.0
|   |   |   |-- <helpers>
|   |   |   |-- <logging>
|   |   |-- <SX1280Driver>
|   |   |   |-- <logging>
|   |   |   |-- <SPI> 1.0
|   |-- <SX1280Driver>
|   |   |-- <logging>
|   |   |-- <SPI> 1.0
|   |-- <DNSServer> 1.1.1
|   |   |-- <ESP8266WiFi> 1.0
|   |-- <ESP8266mDNS> 1.2
|   |   |-- <ESP8266WiFi> 1.0
|   |-- <ESP8266WiFi> 1.0
|   |-- <ESPAsyncWebServer-esphome> 1.3.0
|   |   |-- <ESPAsyncTCP-esphome> 1.2.3
|   |   |-- <Hash> 1.0
|   |   |-- <ESP8266WiFi> 1.0
|-- <EEPROM>
|   |-- <logging>
|   |-- <EEPROM> 1.0
|   |-- <Wire> 1.0
|-- <FHSS>
|   |-- <SX1280Driver>
|   |   |-- <logging>
|   |   |-- <SPI> 1.0
|   |-- <logging>
|-- <helpers>
|-- <HWTIMER>
|   |-- <logging>
|-- <logging>
|-- <LQCALC>
|-- <MSP>
|   |-- <logging>
|-- <OTA>
|   |-- <CRSF>
|   |   |-- <CRC>
|   |   |-- <CrsfProtocol>
|   |   |   |-- <CRC>
|   |   |-- <MSP>
|   |   |   |-- <logging>
|   |   |-- <TelemetryProtocol>
|   |   |-- <FIFO>
|   |   |   |-- <logging>
|   |   |-- <helpers>
|   |   |-- <logging>
|-- <PFD>
|-- <POWERMGNT>
|   |-- <DAC>
|   |   |-- <Wire> 1.0
|   |   |-- <helpers>
|   |   |-- <logging>
|   |-- <SX1280Driver>
|   |   |-- <logging>
|   |   |-- <SPI> 1.0
|-- <StubbornReceiver>
|-- <StubbornSender>
|-- <Telemetry>
|   |-- <CrsfProtocol>
|   |   |-- <CRC>
|   |-- <CRSF>
|   |   |-- <CRC>
|   |   |-- <CrsfProtocol>
|   |   |   |-- <CRC>
|   |   |-- <MSP>
|   |   |   |-- <logging>
|   |   |-- <TelemetryProtocol>
|   |   |-- <FIFO>
|   |   |   |-- <logging>
|   |   |-- <helpers>
|   |   |-- <logging>
|-- <TelemetryProtocol>
|-- <Servo> 1.0.2
Building in release mode
PLATFORM : 'espressif8266'
BUILD ENV: 'DIY_2400_RX_ESP8285_SX1280_VIA_BETAFLIGHTPASSTHROUGH'
Retrieving maximum program size .pio\build\DIY_2400_RX_ESP8285_SX1280_via_BetaflightPassthrough\firmware.elf
Checking size .pio\build\DIY_2400_RX_ESP8285_SX1280_via_BetaflightPassthrough\firmware.elf
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
RAM:   [====      ]  42.9% (used 35180 bytes from 81920 bytes)
Flash: [====      ]  37.0% (used 378380 bytes from 1023984 bytes)
Configuring upload protocol...
AVAILABLE: custom, espota, esptool
CURRENT: upload_protocol = custom
Uploading .pio\build\DIY_2400_RX_ESP8285_SX1280_via_BetaflightPassthrough\firmware.bin
Uploading .pio\build\DIY_2400_RX_ESP8285_SX1280_via_BetaflightPassthrough\firmware.bin
======== PASSTHROUGH INIT ========
  Trying to initialize COM3 @ 420000

Attempting to detect FC UART configuration...
    ** Serial RX config detected: 'serial 3 64 115200 57600 0 115200'
Enabling serial passthrough...
  CMD: 'serialpassthrough 3 420000'
======== PASSTHROUGH DONE ========
======== RESET TO BOOTLOADER ========
  * Using full duplex (CRSF)
Cannot detect RX target, blindly flashing!
Uploading .pio\build\DIY_2400_RX_ESP8285_SX1280_via_BetaflightPassthrough\firmware.bin
esptool.py v3.0
Serial port COM3
Connecting........_____...
Chip is ESP8285
Features: WiFi, Embedded Flash
WARNING: Detected crystal freq 7.32MHz is quite different to normalized freq 26MHz. Unsupported crystal in use?
Crystal is 26MHz
MAC: 34:ab:95:3f:b6:06
Uploading stub...
Running stub...
Stub running...
Configuring flash size...
Compressed 382528 bytes to 277396...
Writing at 0x00000000... (0 %)
Writing at 0x00000800... (1 %)
Writing at 0x00001000... (2 %)
Writing at 0x00001800... (2 %)
Writing at 0x00002000... (3 %)
Writing at 0x00002800... (4 %)
Writing at 0x00003000... (5 %)
Writing at 0x00003800... (5 %)
Writing at 0x00004000... (6 %)
Writing at 0x00004800... (7 %)
Writing at 0x00005000... (8 %)
Writing at 0x00005800... (8 %)
Writing at 0x00006000... (9 %)
Writing at 0x00006800... (10 %)
Writing at 0x00007000... (11 %)
Writing at 0x00007800... (11 %)
Writing at 0x00008000... (12 %)
Writing at 0x00008800... (13 %)
Writing at 0x00009000... (13 %)
Writing at 0x00009800... (14 %)
Writing at 0x0000a000... (15 %)
Writing at 0x0000a800... (16 %)
Writing at 0x0000b000... (16 %)
Writing at 0x0000b800... (17 %)
Writing at 0x0000c000... (18 %)
Writing at 0x0000c800... (19 %)
Writing at 0x0000d000... (19 %)
Writing at 0x0000d800... (20 %)
Writing at 0x0000e000... (21 %)
Writing at 0x0000e800... (22 %)
Writing at 0x0000f000... (22 %)
Writing at 0x0000f800... (23 %)
Writing at 0x00010000... (24 %)
Writing at 0x00010800... (25 %)
Writing at 0x00011000... (25 %)
Writing at 0x00011800... (26 %)
Writing at 0x00012000... (27 %)
Writing at 0x00012800... (27 %)
Writing at 0x00013000... (28 %)
Writing at 0x00013800... (29 %)
Writing at 0x00014000... (30 %)
Writing at 0x00014800... (30 %)
Writing at 0x00015000... (31 %)
Writing at 0x00015800... (32 %)
Writing at 0x00016000... (33 %)
Writing at 0x00016800... (33 %)
Writing at 0x00017000... (34 %)
Writing at 0x00017800... (35 %)
Writing at 0x00018000... (36 %)
Writing at 0x00018800... (36 %)
Writing at 0x00019000... (37 %)
Writing at 0x00019800... (38 %)
Writing at 0x0001a000... (38 %)
Writing at 0x0001a800... (39 %)
Writing at 0x0001b000... (40 %)
Writing at 0x0001b800... (41 %)
Writing at 0x0001c000... (41 %)
Writing at 0x0001c800... (42 %)
Writing at 0x0001d000... (43 %)
Writing at 0x0001d800... (44 %)
Writing at 0x0001e000... (44 %)
Writing at 0x0001e800... (45 %)
Writing at 0x0001f000... (46 %)
Writing at 0x0001f800... (47 %)
Writing at 0x00020000... (47 %)
Writing at 0x00020800... (48 %)
Writing at 0x00021000... (49 %)
Writing at 0x00021800... (50 %)
Writing at 0x00022000... (50 %)
Writing at 0x00022800... (51 %)
Writing at 0x00023000... (52 %)
Writing at 0x00023800... (52 %)
Writing at 0x00024000... (53 %)
Writing at 0x00024800... (54 %)
Writing at 0x00025000... (55 %)
Writing at 0x00025800... (55 %)
Writing at 0x00026000... (56 %)
Writing at 0x00026800... (57 %)
Writing at 0x00027000... (58 %)
Writing at 0x00027800... (58 %)
Writing at 0x00028000... (59 %)
Writing at 0x00028800... (60 %)
Writing at 0x00029000... (61 %)
Writing at 0x00029800... (61 %)
Writing at 0x0002a000... (62 %)
Writing at 0x0002a800... (63 %)
Writing at 0x0002b000... (63 %)
Writing at 0x0002b800... (64 %)
Writing at 0x0002c000... (65 %)
Writing at 0x0002c800... (66 %)
Writing at 0x0002d000... (66 %)
Writing at 0x0002d800... (67 %)
Writing at 0x0002e000... (68 %)
Writing at 0x0002e800... (69 %)
Writing at 0x0002f000... (69 %)
Writing at 0x0002f800... (70 %)
Writing at 0x00030000... (71 %)
Writing at 0x00030800... (72 %)
Writing at 0x00031000... (72 %)
Writing at 0x00031800... (73 %)
Writing at 0x00032000... (74 %)
Writing at 0x00032800... (75 %)
Writing at 0x00033000... (75 %)
Writing at 0x00033800... (76 %)
Writing at 0x00034000... (77 %)
Writing at 0x00034800... (77 %)
Writing at 0x00035000... (78 %)
Writing at 0x00035800... (79 %)
Writing at 0x00036000... (80 %)
Writing at 0x00036800... (80 %)
Writing at 0x00037000... (81 %)
Writing at 0x00037800... (82 %)
Writing at 0x00038000... (83 %)
Writing at 0x00038800... (83 %)
Writing at 0x00039000... (84 %)
Writing at 0x00039800... (85 %)
Writing at 0x0003a000... (86 %)
Writing at 0x0003a800... (86 %)
Writing at 0x0003b000... (87 %)
Writing at 0x0003b800... (88 %)
Writing at 0x0003c000... (88 %)
Writing at 0x0003c800... (89 %)
Writing at 0x0003d000... (90 %)
Writing at 0x0003d800... (91 %)
Writing at 0x0003e000... (91 %)
Writing at 0x0003e800... (92 %)
Writing at 0x0003f000... (93 %)
Writing at 0x0003f800... (94 %)
Writing at 0x00040000... (94 %)
Writing at 0x00040800... (95 %)
Writing at 0x00041000... (96 %)
Writing at 0x00041800... (97 %)
Writing at 0x00042000... (97 %)
Writing at 0x00042800... (98 %)
Writing at 0x00043000... (99 %)
Writing at 0x00043800... (100 %)
Wrote 382528 bytes (277396 compressed) at 0x00000000 in 16.8 seconds (effective 182.2 kbit/s)...
Hash of data verified.

Leaving...
Soft resetting...
========================= [SUCCESS] Took 32.44 seconds =========================

Environment                                           Status    Duration
----------------------------------------------------  --------  ------------
DIY_2400_RX_ESP8285_SX1280_via_BetaflightPassthrough  SUCCESS   00:00:32.437
========================= 1 succeeded in 00:00:32.437 =========================
Result
Success!
Actions

Your Environment

  • TX hardware: Namimno OLED TX
  • RX hardware: JHEMCU EP24S or Flywoo EL24P
  • Handset model: Radiomaster TX16s MAX
  • EdgeTX version : 2.5
  • ExpressLRS version (TX & RX MUST MATCH): 2.01 for both
  • Packet Rate: 500 hz
  • Telemetry Ratio: 1:2, 1:8, 1:16
  • user_defines: N/A
  • Model match is on. Dynamic power is on. Binding phrase is set.
@Zestforlife808 Zestforlife808 added the bug 🐛 Something isn't working label Jan 7, 2022
@Xedos9er
Copy link

Xedos9er commented Jan 7, 2022

Check out my thread, to me it sounds like the same issue:
#1247

@Zestforlife808
Copy link
Author

@Xedos9er I've been watching your issue with great interest. I hope this is something that can be resolved with software because, at least in my case, there's clearly a way to establish a bind. I have a hot air station and I can remove caps to test, but I think even that's a bit much to ask with these component sizes.

@SunjunKim
Copy link
Contributor

Maybe related to #1229?
Did you try with other RXes?

@Zestforlife808
Copy link
Author

JHEMCU EP24S and Flywoo EL24P behave the same. I don't have anything else besides a Happy Model 2G4 AIO and that's working fine. I have a Happy Model EP1 on the way and will update if that's any better.

@SunjunKim
Copy link
Contributor

From the image searched from internet, JHEMCU EP24S and Flywoo EL24P have just rebranded the same board apparently.
That board seems particularly problematic regarding the recent issue reports.

@Zestforlife808
Copy link
Author

Zestforlife808 commented Jan 13, 2022

Well, as a follow up to this. I installed the Happy Model EP1 and I was able to upgrade it via WIFI flash from v1 to v2.01 without issue. I can also bind instantly every time the quad or TX is power cycled.

If there is no planned or possible fix for the JHEMCU or Flywoo RX issues, I would suggest putting up an advisory of some sort to let people know not to waste their money. Especially since the Flywoo and JHEMCU variants seem to be more readily available at the moment. I have never had a problem with any other Flywoo or JHEMCU product, but I would've gladly steered away if there was an official statement about their potential problems.

@maybenikhil
Copy link
Member

We are working on a ExpressLRS Configurator & HW Errata List

@pkendall64
Copy link
Collaborator

Can we close this as this is not a Namimno issue and there is an issue for JHEMCU RX.

@pkendall64 pkendall64 added the closing 🚪 Will close if no new information is reported label Jan 22, 2022
@AlessandroAU
Copy link
Member

Agreed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
closing 🚪 Will close if no new information is reported hardware issue JHEMCU
Projects
None yet
Development

No branches or pull requests

7 participants