u/MrMicahBerkley

Free Your Echelon EX-5s/7s — The Complete Liberation Guide

🙏🏽 Mod's Delete this if redundant...

The Complete Liberation Guide

Turn a locked Echelon Connect EX-5s-22 (and likely EX-5s-10 / EX-7s family) kiosk tablet into a fully open, rooted, wirelessly-accessible Android device — no PIN, no kiosk, no forced updates.

Verified end-to-end on 2026-08-09 against:

  • Hardware: Echelon Connect EX-5s-22 (21.5" GloryStar Z33 tablet, Rockchip RK3288W, 4GB RAM, 16GB flash)
  • Firmware: Z33P-JST-180-9.0-21.5-SW3.5-20240308 (Android 9, userdebug, test-keys)
  • App: EchelonFit 2.5.15.0-mounted (versionCode 155), package com.viatek.fitnation.echelon_android

Everything below was executed live on a real machine. Nothing here is theory.

What you get when you're done

Before After
Boots into locked Echelon kiosk Boots into a normal launcher (Nova)
5-tap PIN gate you can't pass Gate gone forever
Forced update screens Updater disabled — can never phone home
No access to Android Full Android 9 tablet + root + wireless ADB
$1000+ brick if you cancel A $5 tablet that happens to have a bike attached

The Echelon app still works. You keep your rides, your subscription, your metrics. It just stops owning the device.

Bought a used Echelon EX-5s-22 for $5. It was stuck in a locked "kiosk" mode asking for a PIN I didn't have. Here's exactly how I got out and turned it into a normal Android tablet + working bike. Everything below is just tapping the screen — no screwdriver, no computer needed for the main trick.

⚠️ ONE RULE BEFORE YOU START: Do NOT let the tablet update, and don't sign into the Echelon app and accept any update. Newer firmware (mid-2025) makes the bike phone home to Echelon just to turn on. If your bike still works offline, protect that.

Step 1 — Get to the hidden menu

  1. Turn on the bike. Let the Echelon screen load.
  2. Tap the top-left corner of the screen 5 times, fast (like double-tapping, but 5 times). If nothing happens, also try the bottom-left corner 5 times, and tapping the App Version line 5 times.
  3. A box pops up asking for an access code.

Step 2 — The code

The code is 354364. Type it in. (This one is built into the app itself, so it works offline.)

This opens a secret Developer Options menu.

Step 3 — Reset the app (this is the trick)

In Developer Options, tap "Reset App (Clears all data)."

This wipes the part that makes it a locked gym bike. The app restarts like a brand-new normal bike. That's the whole trick — you're not "guessing the PIN," you're making the app forget it was ever locked.

Step 4 — Set it up like normal

It'll walk you through setup (language, WiFi, time zone). Just tap through:

  • Language: English
  • Region: United States
  • Time zone: New York (GMT-04:00) for East Coast

If it asks to update the app, hit "Remind Me Later" — never update.

Step 5 — Leave the app and use it as a tablet

Now that it's reset, the corner code works normally:

  • Tap the bottom-right corner 5 times fast → enter the code.

About that exit code: this one comes from Echelon's server and changes sometimes. As of now it's 928713 — try that. If it doesn't work, the current one can be looked up. (In the comments I can post how to grab the live code if it's changed.)

Will this work on the newest version?

  • Older firmware (before ~mid-2025): YES. The 354364 dev menu + Reset App is there, and the bike works fully offline. This is the best case.
  • Newest firmware (mid-2025 and later): the bike part got locked down — Echelon made it check in online just to unlock the bike. The screen unlock (steps above) may still get you into the Android tablet part, but the bike may not run offline anymore. If you're on old firmware, don't update and you'll keep the good version.

What you end up with

  • A normal Android tablet (22" touchscreen) — install a launcher (Nova), a browser, whatever.
  • The Echelon app still works if you have a subscription — it's just a normal app now, not a lock.
  • Bluetooth still talks to the bike, so apps like QZ (qdomyos-zwift) can read it (that's a separate app that lets you use Zwift etc.).

Quick FAQ

The 5-tap does nothing? Tap faster — if you wait too long between taps it resets. Do all 5 in under ~2 seconds.

354364 says "bad code"? You're probably at the wrong prompt. The bottom-right "exit the app" box is a different, server-side code — 354364 only works on the top-left developer box. Reset the app first (Step 3), then the exit box works.

It keeps hiding the back/home buttons? The app hides Android's buttons. Install "VirtualSoftKeys" (free) for a floating home button, or just swipe up from the bottom edge.

Happy to answer questions in the comments. This is your hardware — you should be able to use it.

Why this works (the 30-second version)

Echelon's tablet ROM is a userdebug build signed with public test-keys, and it ships:

  1. Pre-rooted — /system/xbin/su is setuid, daemonsu is running.
  2. ADB on by default — persist.sys.usb.config=mtp,adb, and ro.adb.secure=0 means no "Allow USB debugging?" dialog ever.
  3. A hardcoded developer code — 354364 — buried in the app.
  4. An unauthenticated exit-code API — api.echelonfit.com/v1/exit-code — encrypted with a key that's hardcoded in the app.
  5. The updater as a testOnlyAdmin Device Owner — which Android lets you strip with one command.

Troubleshooting

  • "Bad code" on 354364: wrong app build → use the ADB bypass (Phase 2). You never needed the menu.
  • Exit prompt rejects the global code: the app is still bound to a commercial account → do Phase 1 step 5 (Reset App) first.
  • 5-tap does nothing: tapping too slowly. Each tap must be <800ms after the last. Listen for the beep.
  • pm disable-user → "protected package": remove Device Owner first (Phase 3b step 1).
  • Tablet boot-loops into Echelon after all this: the launcher default didn't stick — re-run Phase 3b step 3 and confirm with get-default-launcher.
  • Lost the IP after router shuffle: pin the tablet's MAC in your router's DHCP, or nmap -p 5555 192.168.0.0/24.
  • Only the Back button works; Home (circle) and Recents (square) are dead: this ROM blocks the HOME/RECENTS keys at the framework level (kiosk hardening). No setting re-enables them. Fix = install a floating nav app that sends intents instead of keys — see the "Navigation buttons" note in Phase 5.

Brief your AI — copy-paste this to your assistant

If you're working with an AI (Cline, Copilot, ChatGPT, whatever), don't describe the problem from scratch. Paste this block and it will know exactly what to do:

>I have an Echelon Connect EX-5s-22 (GloryStar Z33 tablet, Rockchip RK3288W, Android 9). It's locked in Echelon's kiosk. I want to turn it into a normal Android tablet I fully control. Here's what I know works — please walk me through it and run the ADB commands for me once I give you access: 1. The ROM is userdebug + test-keys, ships pre-rooted (/system/xbin/su), ADB is on by default with no auth prompt (ro.adb.secure=0). 2. There's a hidden dev menu: 5 fast taps on the top-left corner of the app's More screen → enter 354364 → "Reset App (Clears all data)" to drop the commercial/gym binding. 3. The kiosk is enforced by com.echelonfit.echelon_21_updater, a Device Owner with testOnlyAdmin=true — strippable via adb shell su -c 'dpm remove-active-admin com.echelonfit.echelon_21_updater/.DevAdminReceiver', then pm disable-user --user 0 com.echelonfit.echelon_21_updater, then set a real launcher as HOME. 4. The corner "exit" prompt validates against a live unauthenticated API: GET https://api.echelonfit.com/v1/exit-code, AES-256-CBC decrypted with a hardcoded app key. 5. I do NOT want to flash firmware or factory reset — just defang the kiosk and keep the Echelon app working as a normal app. Start by checking if ADB can reach the tablet, and take it from there.

That one paragraph hands any competent AI the full attack plan — the entry points, the exact package/component names, and the constraint (no flashing, keep the app working).

What to actually ask your AI to do, step by step

If you'd rather drive it interactively, these are the requests that map to real progress — in order:

  1. "Check if the ROM is pre-rooted and ADB is open." → Have it run adb devicesadb shell idadb shell su -c id. If su returns uid=0(root), you've already won half the battle.
  2. "Find the kiosk/updater package and whether it holds Device Owner." → adb shell dumpsys device_policy | grep -i owner and adb shell pm list packages | grep -i updater.
  3. "Strip Device Owner and disable the updater." → the two commands in Phase 3b.
  4. "Set my launcher as default HOME." → Phase 3b step 3.
  5. "Make wireless ADB survive reboots." → Phase 4.
  6. "Verify with a reboot." → confirm it boots to your launcher, not the kiosk.

The AI doesn't need to discover any of this — it's all confirmed. It just needs ADB access and these commands.

What NOT to ask your AI to do

  • ❌ "Find the PIN in the APK/firmware" — it isn't there on commercial units; you'll burn an hour. (Asking it to find the method is fine; asking for a static PIN is a dead end.)
  • ❌ "Flash a newer Android / GSI" as a first step — unnecessary for liberation, adds brick risk. Only pursue this after you're free, and only if a specific app demands it.
  • ❌ "Root it" — it's already rooted. Asking to root wastes effort on a solved problem.
  • ❌ "Factory reset to clear the lock" — re-enrolls you into the commercial/MDM state and doesn't help.
reddit.com
u/MrMicahBerkley — 12 days ago

I'm an alienated dad and a software engineer. Here's the weapon I built so my daughters find the truth the day they go looking.

It's been almost six years. Identical Twin girls... Michaela and McKenzie. Insane public court battles. Dragged through national media with fake stories. All of them pulled back, but the media doesn't cover that part. Unfair court cases.... the whole machine a lot of you know far too well. I won't drag anyone through the details. I'll just say it plain... a dad got erased, and it was never the girls' fault and it was never my choice.

I watch them almost every week on social media. Watching them grow up. Crazy fam.

I'm a software engineer. I couldn't out-argue any of it in a courtroom. So I did the one thing nobody could stop me from doing.

I built.

It's a site for my daughters. Everything I couldn't hand them in person, I put in one place:

  • Every real photo I kept. Every home video. A letter from Daddy that types itself out like I'm sitting right next to them.
  • I cloned my own voice with AI, so "goodnight, I love you" is already waiting for them in the voice that used to sing them to sleep.
  • An AI chat... "Talk to Daddy." Trained on our real family. Our memories. Our little "Daddy's Home" dance. They can ask it anything and it answers like me, with love, and there is child-safety moderation on every single message so it can never go anywhere it shouldn't. It will never say one bad word about their mother. I made sure of that part first.

I built the whole thing with Claude and Codex. The design, the code, the chatbot, all of it. Most people use this stuff to write emails. I used it to make sure two little girls can never be told their daddy didn't exist.

Here's the part I really want you to hear, because it might matter for your kids too.

I engineered it so the day my girls ever type their own names into Google... I'm the first thing they find. That is not a someday. I checked this week. Search "Michaela and McKenzie Berkley" and my site is the number one result. Their names lead home now.

And I get a notification when AI sees engagement from with location where they reside. A photo opened. A heart held down. The letter read all the way to the end. So when they finally come looking... I'll know. And I'll already be reaching back.

I keep thinking about this... we might be the first generation of alienated parents who don't have to just sit by a phone that never rings. The system doesn't move for us. We all learned that the hard way. But we can build presence now. We can put the truth somewhere our kids will find it, in their own time, with nobody standing in the doorway. That is new. That is ours. I think it's part of how we start to win.

So, two things.

If this moved you and you've got any kind of social media... a share of the link would mean more than I can say. Not for me. The further it travels, the better the odds it reaches my girls, or someone who knows them.

And if you want to do this for your own kid... take the whole idea. Steal it. I will help anyone here who wants to build one. DM me. I promise I will do my best!

Brick by brick.

theberkleytwins.com
Check it out please - STEAL EVERYTHING I AM DOING FOR YOUR BABY(S)

https://preview.redd.it/aanqt6ywgm7h1.png?width=2140&format=png&auto=webp&s=677ca2af13bbbe4f976b0c7086b878a6d320e14c

https://preview.redd.it/cfqen2qxgm7h1.png?width=1764&format=png&auto=webp&s=2d76736c51ecfcff93f1deed803ba50e234c06ce

https://preview.redd.it/aw3itibygm7h1.png?width=2094&format=png&auto=webp&s=d65351ac56441fb446b32868d923d81f83a0a2e8

reddit.com
u/MrMicahBerkley — 2 months ago