a-emile / lime_gen3_iot_replacement Goto Github PK
View Code? Open in Web Editor NEWCustom IoT for Lime Gen 3 E-Scooter and info about serial communication
License: Apache License 2.0
Custom IoT for Lime Gen 3 E-Scooter and info about serial communication
License: Apache License 2.0
Im looking at the code and it's size. you may wanna look into switch to nimble stack to reduce the program size. also im looking at https://learn.sparkfun.com/tutorials/esp32-ota-updates-over-ble-from-a-react-web-application/all to do firmware updates which would eliminate the need for starting the wifi and having to use that of OTA updating.
Im messing with the nimble stack tonight to see if i can convert it over.
Here is some more info i learned when modding the lime 2.5. looks like the packets haven't changed much.
keep alive: 0x4643110100084C494D4542494B45BE8A
light on: 0x464316120001F12B26
Show firmware version: 0x464311140000EAFB
Show UART version: 0x464311150000DDCB
Show hardware version: 0x4643111800009F9A
Show some weird id: 0x464311200000F39E
Blink front light: 0x464316130001F15D92
Blink front light stop: 0x46431613000100A2AC
Lock motor wheel: 0x464316630001F11FE7
Unlock motor wheel: 0x464316630001F00FC6
turn off and lock: 0x464316610000F0D19F
turn on and unlock: 0x464316610000F1C1BE
example response from controller
46 58 0C FF 00 27 11 00 00 40 00 00 41 53 6A 42 00 7B 44 4F 52 4F 61 F0 80 01 40 72 07 07 01 77 82 00 00 00 00 E0 00 0A 93 F1 45 00 00 1E BD
byte 1 is the start byte
byte 2-6 are part of the header
in the example byte 7 = 0x27 which in dec is 39 which is the length of the frame meaning 6(SOF and header)+39+2(the crc) is the full packet.
Hello i succesfully flaashed original controler with hacked firmware. I wired up ESP with the scotter and uploaded your code. Scooter is powering up then i can connect to it using your app normally. When i am clicking unlock button the scooter unlocks, shows 0km/hs. And now there is issue. Scooter's display shows 0% on battery. I measured battery with multimeter and it's fully charged. Second problem is scooter doesn't react for the throttle and because of this it's not driving. Strange thing is when i unlock scooter the breaking light blinks a few times then stops and start blinking again. When i lock the scooter or disconnect it lock's itself normally and breaking light stops blinking.
Any advice about this issue? This scooter version is 1.04 (IoT PCB). I tried it with hacked firmware and original IoT with soldered jumper cable to make it boot but it behaviors simillar. Diffrence is it showing battery percentage correctly, is all time unlocked, breaking light reacts to break handle. But still doesn't react for the throttle.
Maybe i did something wrong in the wiring because i disconnected controller and take it to the home i had no IoT plug and just plugged ESP directly to controller but there are two sets of cables coming from controller with same collors. One is with 5 wires, second one is with 6. Maybe i taked wrong cable to connect RX and TX to the ESP? Does it matter?
Some pictures for addition.
Hi,
is it possible to create another branch for XIAO ESP32C3 pinout?
https://wiki.seeedstudio.com/XIAO_ESP32C3_Getting_Started
edit: can be deleted
https://docs.github.com/en/issues/tracking-your-work-with-issues/deleting-an-issue
Hi, I'm very much a noob to this so please forgive me if this is obvious.
Not sure what info you need to help me, but I'm running IDE 2.3.2 on a Win 10 64bit V 22H2
My ESP32 Dev Mod is installed and I can upload working test sketchs to it.
The compiling error I get is the following:
C:\Users\ZRam\OneDrive\Documents\Arduino\LimeIoT\commands.ino: In member function 'virtual void MainBLECallback::onWrite(BLECharacteristic*)':
C:\Users\ZRam\OneDrive\Documents\Arduino\LimeIoT\commands.ino:3:50: error: conversion from 'String' to non-scalar type 'std::string' {aka 'std::__cxx11::basic_string'} requested
3 | std::string value = pCharacteristic->getValue();
| ~~~~~~~~~~~~~~~~~~~~~~~~~^~
C:\Users\ZRam\OneDrive\Documents\Arduino\LimeIoT\settings.ino: In member function 'virtual void SettingsBLECallback::onWrite(BLECharacteristic*)':
C:\Users\ZRam\OneDrive\Documents\Arduino\LimeIoT\settings.ino:4:50: error: conversion from 'String' to non-scalar type 'std::string' {aka 'std::__cxx11::basic_string'} requested
4 | std::string value = pCharacteristic->getValue();
| ~~~~~~~~~~~~~~~~~~~~~~~~~^~
exit status 1
Compilation error: conversion from 'String' to non-scalar type 'std::string' {aka 'std::__cxx11::basic_string'} requested
I've tried to work this out myself, but I'm at a loss, please help!
Thanks in advance, Aidan.
DE market have 20kmh limit. Unlocked firmware have 27kmh. Maybe there is chance to change max speed of the scooter above this 27kmh?
Hello! First of all, thank you for all your efforts making this repository for make personal LIME gen 3.
Can you write how to wiring the BUCK converter? Is this "wiring diagram" correct?
PIN 4 (Controller 36V)---------------- ( In+ BUCK CONV. Out+ ) ------- (Input AMS1117 - OUT 5V AMS1117 ) -- ESP32 ? Or ESP32 and display?
PIN 6 (Controller GND)--------------- ( In- BUCK CONV. Out-) --------(GND AMS1117 - GND AMS1117) --- ESP32 ? Or ESP32 an Display?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.