The dreaded Error 16 code



  • @NotSure said in The dreaded Error 16 code:

    @Lia said in The dreaded Error 16 code:

    The patient has made it's way to me and I've spent this morning taking a look.

    WHO
    šŸ‘
    ARE
    šŸ‘šŸ‘
    YOU???
    šŸ‘šŸ‘šŸ‘

    from planet catwheel trying to phone home



  • Swapped the resistor, issue persists!
    alt text
    So that means the ST1480AB chip might be dead. Good thing it's replaceable.

    Having to order from China because Mouser, Digikey and Farnell are all out of stock for this chip with an expected wait time of November. Found one on eBay so ordered that. Gonna take a while since shipping seems to be economy.

    While I had the board out I gave it some more poking with the multimetre. Traced back the pins on the other side of the chip, they all lead back to the ARM chip (stm32f103VB) as suggested by the datasheet for the ST1480AB. The actual via's are under the chip so I spent a while probing everywhere coming up empty till I realised there were some under the chip I had to probe from behind.

    Here's what that all looks like.
    IMG_7570.jpg

    The other 4 (3 since 2 are connected) pins coming off the ST1480AB appear to go back to 3 I/O pins on the ARM chip. They'll be programmed in the firmware for reading the data. Assuming those are where the pins are meant to go then no break/short appears to be present.

    So with that all in mind it brings me back to ST1480AB is bad or... the Arm chip. Fingers crossed it's the ST1480AB otherwise some sort of hack will be needed to tell the ARM chip to ignore battery info if at all possible.

    I'd like to imagine it's ST1480AB that died and in turn caused the resistor to die, or the resistor died and caused ST1480AB to die... Either way it makes more sense that it's the problem. We'll have to see when this replacement comes in... a few weeks >.>

    --

    Edit: So looks like even if the main ARM chip is dead some people have managed to extract the firmware from this type of chip already. If this one is dead there could be a chance that I could extract the existing firmware and write it to a new chip that isn't faulty.
    alt text
    Here's a video of someone doing it to the same family of chip.

    Edit again: Still waiting on this ST1480AB chip to arrive.
    Shipping from China is so slooooooooooooooooooow



  • Chip arrived early but I still get the same fault.
    Dunce Fox.png

    Silver lining to this is I haven't killed the board further or mine while using it as a donor for testing.

    Removed the old chip and compared it to the new one before soldering and found that pins 7 and 6 have a resistance between them on a fresh chip but not the old one.
    IMG_7670.JPG
    Ignore the slight variation in silk-screening, they're the same ST1480AB chip just made at different times and probably a different country.

    This implies the old chip has failed open much like the 121ohm resistor had. Whatever caused it isn't present anymore since the new chip and resistor haven't died, question is what still is? I really Really REALLY don't want it to be the ARM chip...
    Onewheel Error16.jpg

    Going to take a step back and think a bit more on this, pick a few peoples brains and for good measure beg FM's support to give me a hint.

    One thought came to mind, wondering if during development of the different hardware revisions they swapped the data pins from the battery. This is HW4206 and mine is HW4208 so if they did between those then they'd fail to communicate. Going to verify that first by asking around before just blindly swapping data pins.



  • @Lia -- Impressive work you are doing! Best of luck and good wishes on this!



  • @Lia, I really love your artwork! Great story telling. :)



  • @blkwalnutgrwr Thanks :) If anything comes of this hopefully it guides another person having this issue in the right direction. This seems to be a woefully uncommon fault.

    @HorsePlay Aha glad you like it, can't take credit for that sadly. I just modified the original meme which in itself was a re-drawing of another.
    Sadly whoever did the re-drawing of it didn't leave a signature or anything in the corner so it's unclear who actually made it.



  • Needed to take Slushy apart to modify her power button and fix the front light that's been flickering like mad for the past few months. Decided to compare both the controllers and see what might explain the failure of the 4206.

    Here are both controllers almost exactly matched in framing for comparing.
    Onewheel-4206-vs-4208.gif

    Small differences, one of which I think is how FM disabled CnR on later models, I'll go into that later.
    HD versions below.
    Onewheel 4206 vs 4208 (4206).jpg
    Onewheel 4206 vs 4208 (4208).jpg

    So far other than minor variations in resistance across certain parts I've been looking at seem to be present but nothing that looks like a short where there shouldn't or an open line where there should be resistance.

    Going to keep poking, eventually I'll find a significant difference, failing that a redditor suggested I probe the signals coming in and out of the chips to see if they're actually doing anything.

    .

    Regarding the CnR theory from earlier, after 4206 CnR was impossible. Plugging a charger into your board prevented you from riding it. Before you could just connect up a battery to the charge port and away you go. The disabling of CnR will have been hardware related otherwise we'd all be unable to do it if it was purely firmware.

    Onewheel XR Charger Input.jpg

    Comparing the 2 boards it looks like an additional diode (D31) and resistor (R34) between Batt+ and Batt- makes it's way to a formerly unused pin on the Arm chip being PD8. Presumably tampering with this new circuitry might enable it. I don't think it will be as simple as cutting the trace to PD8 but I'll see.

    Edit: Apparently this was already solved lol. Clearly I don't keep up. Can't find instructions but a guy in this vid says "cut the resistor" which I can only assume is R34.
    Gonna test it out and see if that actually works.



  • @Lia said in The dreaded Error 16 code:

    Comparing the 2 boards it looks like an additional diode (D31) and resistor (R34) between Batt+ and Batt- makes it's way to a formerly unused pin on the Arm chip being PD8. Presumably tampering with this new circuitry might enable it. I don't think it will be as simple as cutting the trace to PD8 but I'll see.
    Edit: Apparently this was already solved lol. Clearly I don't keep up. Can't find instructions but a guy in this vid says "cut the resistor" which I can only assume is R34.
    Gonna test it out and see if that actually works.

    Lol... soooo... why did they disable it? just curious.



  • @NotSure FM don't like battery mods, each major hardware revision usually has measures in to prevent the latest ways to add range to the board. CnR was the first to go and was the simplest way to charge on the go without warranty voiding methods.

    I imagine it's down to the bad press they'll get when someone's modded board catches fire or injures them. Headlines don't typically explain the nuance of a given situation so they'll probably just say "Death by Onewheel" and suddenly our boards get lumped in with all the other "dangerous" self balancing products :(

    Personally I think CnR was the safest of all the methods minus the chance of snagging the cable and destroying the port if you roll the board. All variants after it involved a fair bit of DiY that results in absolute destruction if something goes wrong.



  • Found a difference!

    On my board probing between either of the signal wires from the battery and ground results in an open line.
    On the faulty board between either of the signal wires from the battery and ground results in a resistance of a few mega ohms.

    If I remove the new chip that goes away, if I add the old one I get 121 ohms, the resistance of R49 suggesting a short in the chip.

    Probing the faulty chip again I get a short between pin 6 and 5 (white data line to ground). Not sure if this happened when removing the chip but even with the new one something isn't right suggesting the old chip is faulty and the new one isn't quite right. According to the chip specifications the chip is designed to handle a short in this manner so it's possible the arm chip is safe (hooray).

    Another thing of note is they changed the chips between models. On the 4206 the RS-485 Transceiver is a ST1480AB but on my 4208 it's a VP1781.

    Going to try one of those instead under the assumption that maybe... just maybe the eBay ST1480AB was a fake/wrong or for some reason the corresponding VP1781 in my battery doesn't want to talk to a ST1480AB on the controller. Not sure why since I don't believe anyone else has had issues changing boards but this at least seems like a worthy thing to chase.

    Noticed on part of the datasheet the pinouts appear to be swapped on A and B however looking at the actual pin layout I can see they are correct.

    ST1480AB
    da87b4f1-5aba-4b13-b389-8994a32e7a6d-image.png

    VP1781
    b429885c-324e-4128-b7c9-a698bfb822ef-image.png

    Going forward with the replacement VP1781 since the chips differ in terms of their internal resistances enough that I assume you shouldn't mix different brands. Fingers crossed.



  • This delivery time is killing me >:/
    9378f5db-551c-4d2c-bb8a-8f592027796f-image.png
    alt text


Log in to reply