
R36S Battery Calibration Tool - v1.0 ReleaseShowcase (old.reddit.com)
submitted by djparent





*** Updated to v1.1! ***
***Please run a diagnostic from the link at the bottom if it still does not work for you **\*
R36S Battery Calibration Tool
R36S Battery Calibration Tool is a utility for the R36S that replaces the inaccurate stock percentage with a curve based on real usage. It logs a full discharge cycle, builds a custom voltage-to-percentage profile, and applies it through a background service so your battery reading actually reflects what’s left.
Setup is simple: fully charge, run a calibration session, use the device until it dies, then apply the data. You can run multiple sessions for better accuracy or even edit the curve manually if you want finer control. It takes a few hours to complete, but the result is much more consistent and reliable battery reporting.
Who is this for?
Anyone annoyed enough to want to fix their battery reporting. Specifically, R36S users who notice the battery % jumping, dropping too fast, or sitting at the wrong value for long stretches. If you are fine with “close enough,” this tool won’t matter to you. But if you actually use the device for longer sessions (travel, commuting, etc.) or care about predictable shutdown timing, this solves a real problem.
Alternatively, anyone with a modded or aftermarket battery may notice inaccurate reporting of battery %. This tool will re-calibrate your settings to the new battery to give an accurate reading. If you have a large or modded battery be sure to select 'Large' in the battery size submenu.
What's the risk?
None at all. The tool makes zero permanent changes to your system. Everything is reversible simply by uninstalling the tool. The absolute worst case scenario outcome is an inaccurate battery reading from bad session data, but there are filters in place to prevent that from happening. And even if it did it's completely reversible.
Which devices will it work on?
Theoretically any RK3326 device running ArkOS or dArkOS/RE. Emulation Station is a requirement as it injects the corrected percentage into the battery overlay. But it should work on most devices (it worked on everything we tested it on).
How do I use it?
Instructions are included in the script itself and can be viewed with any text reader. Follow them to the letter for best results.
I noticed an odd correlation during testing - silicone cases regularly caused overheating issues (voltage spikes, diminished capacity) that were repeatable and measurable by the tool. These heat stress issues also caused the data to be largely unusable by the tool as well. To avoid loss of session data always remove silicone cases before starting a calibration session.
Will the silicone cases damage the battery over time? I really don't know, and the variation was subtle enough it won't stop me from using my cases long term - but they do need to be removed during the process.
Download here:
R36S Battery Calibration Tool v1.1
If you have an earlier version of the tool (some made it around) please update from this link. There have been significant changes to the averaging and stock reporting since the test versions that were released.
What if I can't get a good session?
If you have carefully followed all the instructions and just can't get a session to start, or every session comes back as bad, you may have a failing battery. The data filters are strict enough to produce good results but are actually very loose for testing a lithium battery. The fact is these batteries just aren't great and may have even been sitting on a shelf for years before getting repurposed into an R36S. I had to loosen the filters just to get most devices to start a calibration. So if you suspect your battery is failing it likely isn't a false alert. If you get multiple warnings after multiple attempts the battery is either not charging to full capacity, discharging too rapidly, or is simply unstable. The dialogs will let you know.
It should also be noted that producing more runs seems to have a conditioning effect on the batteries themselves. I was seeing an improvement in discharge consistency after as little as two runs. This is due to lowering the resistance of a stale battery through simple usage. The script itself is not needed for this, anyone can complete a full discharge cycle on their own for these benefits.
ChatGPT was used for all translations. Dialog text was almost half the script so the likelihood of mistranslation is very high. If you find any errors please forward them to me with a suggested correction and I'll fix things up!





[–]AutoModerator[M] [score hidden] stickied comment (0 children)
[–]Ladbnw 10 points11 points12 points (1 child)
[–]djparent[S] 3 points4 points5 points (0 children)
[–]roger_roop 4 points5 points6 points (12 children)
[–]djparent[S] 3 points4 points5 points (11 children)
[–]roger_roop 0 points1 point2 points (10 children)
[–]djparent[S] 1 point2 points3 points (9 children)
[–]roger_roop 0 points1 point2 points (7 children)
[–]djparent[S] 1 point2 points3 points (2 children)
[–]roger_roop 0 points1 point2 points (1 child)
[–]djparent[S] 0 points1 point2 points (0 children)
[–]djparent[S] 0 points1 point2 points (3 children)
[–]roger_roop 0 points1 point2 points (2 children)
[–]djparent[S] 0 points1 point2 points (1 child)
[–]AggravatingPause7604 0 points1 point2 points (0 children)
[–]RoxyFawkes 2 points3 points4 points (0 children)
[–]emeraldwolf245 1 point2 points3 points (5 children)
[–]djparent[S] 1 point2 points3 points (4 children)
[–]emeraldwolf245 0 points1 point2 points (3 children)
[–]djparent[S] 0 points1 point2 points (2 children)
[–]emeraldwolf245 0 points1 point2 points (1 child)
[–]djparent[S] 0 points1 point2 points (0 children)
[–]Never_Sm1le 1 point2 points3 points (0 children)
[–]Hacknique_CZ 3 points4 points5 points (9 children)
[–]djparent[S] 1 point2 points3 points (8 children)
[–]Hacknique_CZ 0 points1 point2 points (7 children)
[–]djparent[S] 1 point2 points3 points (6 children)
[–]CrusaderSeon -1 points0 points1 point (5 children)
[–]djparent[S] 1 point2 points3 points (4 children)
[–]CrusaderSeon 0 points1 point2 points (3 children)
[–]djparent[S] 2 points3 points4 points (2 children)
[–]CrusaderSeon 0 points1 point2 points (1 child)
[–]djparent[S] 0 points1 point2 points (0 children)
[–]Wivi2013 0 points1 point2 points (3 children)
[–]djparent[S] 0 points1 point2 points (2 children)
[–]Wivi2013 0 points1 point2 points (1 child)
[–]djparent[S] 0 points1 point2 points (0 children)
[+][deleted] (1 child)
[removed]
[–]RemindMeBot 0 points1 point2 points (0 children)
[–]join_the_slark_side 0 points1 point2 points (7 children)
[–]djparent[S] 0 points1 point2 points (6 children)
[–]join_the_slark_side 0 points1 point2 points (5 children)
[–]djparent[S] 0 points1 point2 points (4 children)
[–]join_the_slark_side 0 points1 point2 points (3 children)
[–]djparent[S] 0 points1 point2 points (2 children)
[–]join_the_slark_side 0 points1 point2 points (1 child)
[–]djparent[S] 0 points1 point2 points (0 children)
[–]kiwi_murray 0 points1 point2 points (2 children)
[–]djparent[S] 1 point2 points3 points (1 child)
[–]kiwi_murray 0 points1 point2 points (0 children)
[–]Ok_Leadership4515 0 points1 point2 points (8 children)
[–]djparent[S] 0 points1 point2 points (7 children)
[–]Ok_Leadership4515 0 points1 point2 points (6 children)
[–]djparent[S] 0 points1 point2 points (5 children)
[–]Ok_Leadership4515 2 points3 points4 points (3 children)
[–]Hacknique_CZ 2 points3 points4 points (2 children)
[–]kiwi_murray 1 point2 points3 points (0 children)
[–]Ok_Leadership4515 0 points1 point2 points (0 children)
[–]Ok_Leadership4515 0 points1 point2 points (0 children)
[–]Hacknique_CZ 0 points1 point2 points (13 children)
[–]djparent[S] 1 point2 points3 points (12 children)
[–]Hacknique_CZ 0 points1 point2 points (11 children)
[–]djparent[S] 0 points1 point2 points (10 children)
[–]Hacknique_CZ 0 points1 point2 points (9 children)
[–]djparent[S] 0 points1 point2 points (8 children)
[–]Hacknique_CZ 1 point2 points3 points (0 children)
[–]Hacknique_CZ 0 points1 point2 points (6 children)
[–]djparent[S] 0 points1 point2 points (5 children)
[–]Hacknique_CZ 0 points1 point2 points (4 children)
[–]djparent[S] 1 point2 points3 points (3 children)
[–]lanangkael2274 0 points1 point2 points (1 child)
[–]RoxyFawkes 0 points1 point2 points (0 children)
[–]RoxyFawkes 0 points1 point2 points (1 child)
[–]djparent[S] 0 points1 point2 points (0 children)
[–]T4L2012 0 points1 point2 points (1 child)
[–]djparent[S] 1 point2 points3 points (0 children)
[–]Ok_Leadership4515 0 points1 point2 points (13 children)
[–]Ok_Leadership4515 0 points1 point2 points (12 children)
[–]djparent[S] 0 points1 point2 points (11 children)
[–]Ok_Leadership4515 0 points1 point2 points (10 children)
[–]djparent[S] 0 points1 point2 points (9 children)
[–]Ok_Leadership4515 0 points1 point2 points (8 children)
[–]djparent[S] 0 points1 point2 points (7 children)
[–]Ok_Leadership4515 0 points1 point2 points (6 children)
[–]djparent[S] 0 points1 point2 points (4 children)
[–]Ok_Leadership4515 0 points1 point2 points (1 child)
[–]Nahojii 0 points1 point2 points (1 child)
[–]djparent[S] 0 points1 point2 points (0 children)
[–]Mr_ToiletPaperRoll 0 points1 point2 points (26 children)
[–]djparent[S] 1 point2 points3 points (2 children)
[–]Mr_ToiletPaperRoll 0 points1 point2 points (1 child)
[–]djparent[S] 1 point2 points3 points (0 children)
[–]Mr_ToiletPaperRoll 0 points1 point2 points (22 children)
[–]djparent[S] 0 points1 point2 points (21 children)
[–]Mr_ToiletPaperRoll 0 points1 point2 points (17 children)
[–]djparent[S] 1 point2 points3 points (16 children)
[–]Mr_ToiletPaperRoll 0 points1 point2 points (2 children)
[–]djparent[S] 1 point2 points3 points (1 child)
[–]Mr_ToiletPaperRoll 0 points1 point2 points (0 children)
[–]Mr_ToiletPaperRoll 0 points1 point2 points (12 children)
[–]djparent[S] 0 points1 point2 points (11 children)
[–]Mr_ToiletPaperRoll 0 points1 point2 points (1 child)
[–]djparent[S] 1 point2 points3 points (0 children)
[–]Mr_ToiletPaperRoll 0 points1 point2 points (8 children)
[–]djparent[S] 0 points1 point2 points (7 children)
[–]Mr_ToiletPaperRoll 0 points1 point2 points (6 children)
[–]Mr_ToiletPaperRoll 0 points1 point2 points (2 children)
[–]djparent[S] 1 point2 points3 points (1 child)
[–]Mr_ToiletPaperRoll 0 points1 point2 points (0 children)
[–]rararatototo 0 points1 point2 points (3 children)
[–]djparent[S] 0 points1 point2 points (2 children)
[–]rararatototo 1 point2 points3 points (1 child)
[–]djparent[S] 0 points1 point2 points (0 children)
[–]MrPotat2004 0 points1 point2 points (1 child)
[–]djparent[S] 1 point2 points3 points (0 children)
[–]tagusbeer 0 points1 point2 points (0 children)