# GAN 356 i3 API



## Cozy (Nov 15, 2021)

So I recently got a GAN 356 i3 smart cube, and wanted to try use its bluetooth capabilities outside of its companion app "Cubestation". However I discovered that it was not possible to use the i3 with any existing GAN smart cube implementations. Is there anyone who knows how to work around Bluetooth / Android Apps or knows of any possibility to use data from the cube?


----------



## Lucas Garron (Nov 15, 2021)

cubing.js can read the data in Chromium-based browser!


----------



## Cozy (Nov 15, 2021)

Lucas Garron said:


> cubing.js can read the data in Chromium-based browser!


And this works for the new i3? I've tried existing solutions but none worked with it. I will check this out tomorrow.


----------



## pantelinoux (Apr 25, 2022)

Cozy said:


> And this works for the new i3? I've tried existing solutions but none worked with it. I will check this out tomorrow.


Did you check it?


----------



## Echo42 (Apr 27, 2022)

Lucas Garron said:


> cubing.js can read the data in Chromium-based browser!



Hey all I've been digging into this exact thing. As far as I can tell the new gan 356 i3 doesn't work with cubing.js because the API and encryption scheme has changed. I found some code on GitHub (https://github.com/D0ntPanic/tpscube) written in Rust that works (mostly) with the i3.

Using that and some shouting I've managed to get a rough web app working with typescript. I'm not sure what the preferred way to share code is on these forums but I'm more than happy to share everything I've done. What I have so far:


Determining encryption key for a cube, I'd like to get info from someone else to determine if this is unique per cube or just a fixed thing.
Extracting cube state into a Cubie Cube, comes in the cs timer cubie cube format
Extracting moves from the cube
Extracting battery state from the cube
I'm pretty sure the gyro information is being sent through but I am not entirely sure how it is formatted and how to extract it.
All of this requires a Chromium based browser with experimental features turned on.


----------



## Cozy (May 17, 2022)

Echo42 said:


> Hey all I've been digging into this exact thing. As far as I can tell the new gan 356 i3 doesn't work with cubing.js because the API and encryption scheme has changed. I found some code on GitHub (https://github.com/D0ntPanic/tpscube) written in Rust that works (mostly) with the i3.
> 
> Using that and some shouting I've managed to get a rough web app working with typescript. I'm not sure what the preferred way to share code is on these forums but I'm more than happy to share everything I've done. What I have so far:
> 
> ...


This is amazing. Are there any public Github repos you have, that I can check out? I've never done any encryption stuff so I gave up on the initial try very quickly.


----------

