#Happymodel X12 Pro UART ELRS + VTX - RxBt, FM, CURR telemetry not updated after boot

91 messages · Page 1 of 1 (latest)

stiff lily
#

RX HappyModel AIO 2.4GHz RX+VTX running ELRS maintenance 3.x.x
TX TX16s internal 2.4 running ELRS 3.5.6
Flashing via wifi as it's hard to flash this AIO via betaflight passthrough.
When powering up, "telemetry connected" is signalled on TX, then RxBt, CURR, etc get updated exactly once, then after some time "sensor lost" is signalled, as telemetry is no longer updated.
The issue doesn't reproduce on latest release 3.5.6 or on HM EP1 receivers I have.

Port configuration on FC is obviously fine since it works on 3.5.6 and other releases below this version.

I've tried to bisect the problematic commit but noticed that the issue comes up even in commits right after (78fed56998fa88a497de7328b3e69480418418d4) or before(24283db2bd11df3e56978cd71e70c62998e5614f) the commit for 3.5.6 (ee188b4efb9a707f682e8b2d966cd670de92ab50), so seems like any commit that's built locally and not taken cached from github has this issue for me.
Tried building via expresslrs configurator on linux and a different windows machine, getting the same issue regardless.

proper pendantBOT
stiff lily
#

Ok, asked another guy with x12 pro elrs to test, he experiences exactly the same symptoms. telemetry doesn't update on maintenance build, works fine on 3.5.6 release

stiff lily
unreal veldt
#

You may need to erase the flash on the MCU when flashing.

unreal veldt
#

Flashed by X12 AIO Pro here with 3.x.x maintenance branch and not having any issues with telemetry. I was on 250Hz packet rate with Std telemetry ratio.

stiff lily
stiff lily
#

Nope, switching to any other packet rate fixes the telemetry update until the next reboot, then it's broken again

#

How do I erase the flash assuming I flash either via passthrough or wifi? Doesn't seem to be an option in the configurator

#

Yep, it's only an option for uart, soldering would be a pain, will try later

unreal veldt
#

You have to do the !recovery flash procedure

green glenBOT
#

Follow these steps to recover a bricked RX:

- Move the 5V wire going to the receiver to a 5V pad that only powers on when a LiPo is connected 
- Disable Telemetry in Betaflight
- Save and Reboot
- Close Betaflight Configurator and unplug USB and LiPo
- Bridge the boot pads or hold down the boot button on the receiver
- Plug in USB
- Click "Flash" in the ExpressLRS Configurator, after selecting via Betaflight Passthrough method
- Wait for the line PASSTHROUGH DONE to appear
- Plug in LiPo (with boot button held down/bridged)
- Wait for the process to finish (with success hopefully)
- Unplug everything, unbridge the boot pads, then power on to confirm the LED blinks, and then goes into WiFi mode

Comprehensive guide here: https://www.expresslrs.org/quick-start/unbricking/

unreal veldt
#

Slightly different for the inbuilt RX though.

stiff lily
#

Yeah I don't get how am I supposed to power on the aio without powering the rx

unreal veldt
stiff lily
#

Yep

#

Even weirder that if I flash 3.5.6 by selecting from releases telemetry works normally even across reboots and all the packet rates, but if I build 3.5.6 from my local sources which have no changes it breaks again

#

Which probably means some of the dependencies on platformio got updated and no longer work on some x12 revisions (??)

hardy gorge
green glenBOT
#

AIO with Serial ELRS receiver recovery flash instructions:

  1. Disable Telemetry in Betaflight
  2. Unplug everything
    3a) if there are two boot buttons, hold down the receiver boot button, plug in USB, and click flash in ELRS Configurator
    3b) if there is only one boot button, hold it down, plug in USB, open Betaflight, click "Exit DFU mode", close Betaflight, click flash in ELRS Configurator
  3. Re-enable telemetry in Betaflight after successful flash

Note: If the recovery flash fails, try downgrading to Betaflight 4.4.3 temporarily.

https://cdn.discordapp.com/attachments/798006228450017290/1238518416181166100/betafpv5A1sAIO.jpg?ex=6640e528&is=663f93a8&hm=2bfe322bcb84c6e83fb65629013384f3708c4ef9ca45bb3c69cfee39716713a6&
https://cdn.discordapp.com/attachments/798006228450017290/1238518416583950467/exitDFU.jpg?ex=6640e529&is=663f93a9&hm=d810384bcf0daceaa83d9336dd62cda17595dcd263075a914773e6f1d0a80e5e&

stiff lily
#

Flashed using this methods and downgraded to betaflight 4.4.3, same telemetry issue

#

Altho I'm not sure it was in boot mode. When I boot the AIO by keeping holding the button with telemetry off it just fails on "connecting"

#

So passthrough only connects and flashes aio rx when elrs is not in boot mode

#

yep, consistently fails to flash in boot mode, should I try uart instead?

hardy gorge
#

Are you following the aio recovery flash instructions?

stiff lily
#
  1. Downgraded betaflight
  2. Configured rx
  3. Disabled telemetry
  4. Disconnected usb while holding boot key
  5. Connected usb while holding boot key
  6. Pressing flash on configurator
hardy gorge
#

Can you show a clear photo of both sides of the FC?

stiff lily
#

Are you asking whether I'm pressing the correct button?

hardy gorge
#

No, I'm asking for clear photos of both sides of the FC

stiff lily
#

If you have any specific area of interest like the esp chip I can take a microscope pictures of it

hardy gorge
#

Looks fine

stiff lily
#

Well it's brand new 🙂

hardy gorge
#

So it's only 3.x.x-maintenance that isn't working? Regardless of if you flash with ELRS Configurator or locally?

stiff lily
#

I've checker and flashing 3.5.6 locally the issue starts to appear there as well

hardy gorge
#

Will it flash successfully if you're not in bootloader mode?

stiff lily
#

With elrs configuration build of 3.5.6 the issue isn't there

hardy gorge
#

How can 3.5.6 locally be different than 3.5.6 in Configurator?

stiff lily
#

And yes passthrough works when not in bootloader mode

stiff lily
#

I assume configurator uses cached builds from somewhere?

hardy gorge
#

Flash 3.x.x-naintenance via ELRS Configurator in normal mode then, update Betaflight, then post a !supportid and screenshots of the !webui

green glenBOT
#

Submit Support Data

  1. Open the CLI tab in Betaflight Configurator.
  2. Click the "Submit Support Data" button.
  3. Optionally enter a brief description of the problem.
  4. Wait for it to finish.
  5. Copy the resulting support ID.

See the image below for visual steps:

#

Connect to your transmitter's or receiver's WiFi network to access the web UI:

stiff lily
#

Forgot to post options

hardy gorge
#

Disable model match

#

And use a binding phrase

#

In Betaflight:

feature -DISPLAY
set tlm_halfduplex = OFF
set dshot_burst = OFF
save```
stiff lily
#

Nope, same issue

hardy gorge
#

@prime depot any idea why the VTX target isn't working with 3.x.x-maintenance?

unreal veldt
unreal veldt
stiff lily
unreal veldt
#

Configurator flashes are ok, but local build does not work for you?

#

Or no flash any way works?

stiff lily
#

So apparently your cached builds don't have this issue somehow

stiff lily
#

I have a suspicion that some of the pio dependencies or compiler version changed and this causes some side-effect, so maybe your post-3.5.6 linux builds might also be affected, idk

#

Unless linux builds do the compiler toolchain and depencies manually

stiff lily
#

Ok so I tried to flash with erase via uart, wired up uart1 and gnd to my uart adapter according to the diagram. So adapter tx to rx1 and rx to tx1, also connected grounds together. When holding the boot button it clearly goes into boot mode as rgb led is solid red, yet configurator gets stuck on connecting and doesn't flash. Honestly no clue what can be wrong at this point. I'll probably just switch to spi variant of the boart as it's way more stable in all regards.

stiff lily
#

There's also a solder blob seemingly connecting esp and vtx circuit to the 5v trace, so I might try soldering a wire directly to it, so I could power the esp without powering the rest of the fc, maybe that could fix the uart flashing idk

#

nope, even if i power the esp separately from the fc it simply refuses to flash, idk what else to do. Guess I'll wait for another aio to arrive and if it's also broken then I'd at least know what's wrong

#

In case anyone wants to try connecting uart adapter to the elrs esp chip, 5v goes to a solder bridge, just unbridge it and solder uart adapter's 5V wire to the right side of the bridge going to esp chip, this should only power the esp while keeping the rest of the aio off

#

Here's an actual photo

stiff lily
#

New AIO has arrived and has no such issue after flashing, I guess there was some kind of faulty batch which we've got

stiff lily
#

Nevermind, conformal coated the aio, rebooted it a few times and now the same issue

#

I swear this aio is just cursed

#

Exactly the same behavior, if I change any settings in elrs script like frequency telemetry starts working properly until next reboot

stiff lily
#

Accidentally flashed a wrong target through passthrough and now I can't revive it as mentioned previously because pressing the boot button on startup still fails the flash as it can't even connect to the esp. I'm giving up on the aio as I've already put too much effort into troubleshooting instead of actually flying, just stick to spi lads.

hardy gorge
#

Sounds like a still issue

stiff lily
#

I have three happymodel X12 UART ELRS PRO boards which have telemetry issues after updating to newer elrs 3.6 builds. Other uart elrs AIOs are fine so I assume the issue is on happymodel's side. Knowing how chinese companies provide support I doubt it'll ever be fxed so either try AIOs from other companies or buy spi elrs variants with separate openvtx onboard, as their rx+vtx elrs setups seem very broken for now.

Will dupe my reply in other happymodel aio github issue here just in case.

#

As for happymodel I contacted them like a few weeks ago, obviously got ignored

hardy gorge
stiff lily
hardy gorge
#

If you do it properly, and don't break anything in the process

stiff lily
#

Awh yes, breaking something with a soft brush, three times in a row

#

And the other person who reported the same issue doesn't have the board coated I think?

#

Also if that was a pure hardware damage telemetry wouldn't work on 3.5.6 to begin with

#

Or after changing configuration on 3.6

#

Unless their board is bad and a bit of parasitic capacitance somehow interferes with the pcb, either from conformal coating or grass and other debris

stiff lily
stiff lily
#

Oh damn, a friend of mine told me he can give me a new board which is completely new, no coating, not even pigtail soldered yet, if it also has issues on 3.6 then either happymodel is non-conforming or elrs is buggy, will test tomorrow after visiting him