An Electric Scooter Community on a Mission to Stamp out Transportation Mediocrity.

Store the power! Electric scooter battery and charging discussions go here.
By Yosupra
#56732
Hello,

Any one can explain and share link to unlock es90battery?

I have 3 wires, green/yellow/blue

red/black and charger port

thanks
By Yosupra
#56780
#include <SoftwareSerial.h>
#include "RuipuBattery.h" //ADD LYBRARI

SoftwareSerial mySerial(10, 11); // RX (green wire), TX (blue wire) AND GND
RuipuBattery myBattery(&mySerial);

unsigned long timer = 0;
bool haveReadData = false;

void setup()
{
Serial.begin(9600); // Initialize serial for printing results
mySerial.begin(9600); // Initialize serial for BMS communications
}

void loop()
{
// Non-blocking timer
if (millis() - timer > 500)
{
timer = millis();

myBattery.unlock(); // Send the unlock command
haveReadData = false; // Reset the read flag
}

if (myBattery.read() && !haveReadData)
{
haveReadData = true; // Set the read flag

// Serial plotter friendly outputs
Serial.print(" % Charge:");
Serial.print(myBattery.soc()); //Battery state of charge (0% - 100%)
Serial.print(", ");
Serial.print("Voltage:");
Serial.print(myBattery.voltage()); //Battery voltage as a float
Serial.print(", ");
Serial.print("Current:");
Serial.print(myBattery.current()); //Battery current as a float
Serial.print(", ");


Serial.print("Lowest cell volt:");
Serial.print(myBattery.low());
Serial.print(", ");
Serial.print("Highest cell volt:");
Serial.print(myBattery.high());
Serial.print(", ");
Serial.print("Max T:");
Serial.print(myBattery.maxTemp());
Serial.print(", ");
Serial.print("Min T:");
Serial.print(myBattery.minTemp());
Serial.print(", ");
Serial.println();
}
}
By Yosupra
#56782
Hello all,

Work still in progress

I added Oled 0.96" ssd1306 display.
Oled display Volatge, Current, Temp, SOC

WIRING=
GREEN FROM BATTERY GOES TO ARDUINO PIN 10
BLUE FROM BATTERY GOES TO ARDUINO PIN 11
BLACK FROM BATTERY GOES TO ARDUINO GND

Before you have to install a library
here the link .rar (just download it and add it from arduino IDE)


Link for the source and info
https://github.com/DookieSheets/OKAI-Battery-Lib


My code with oled display::::::::

// CODE TO UNLOCK ES-90 OKI BATTERY 36V 8HA 10S 4P 460Watt/H
#include <SoftwareSerial.h>
#include "RuipuBattery.h" //LIBRARY MUST BE INSTALL FROM Link
#include <SPI.h> //OLED LIBRARY
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define OLED_RESET 4
Adafruit_SSD1306 display(OLED_RESET);
SoftwareSerial mySerial(10, 11); // RX PIN 10 (green wire), TX PIN 11 (blue wire), and GND (Black Wire)
RuipuBattery myBattery(&mySerial);
unsigned long timer = 0;
bool haveReadData = false;

void setup()
{
Serial.begin(9600); // Initialize serial for printing results
mySerial.begin(9600); // Initialize serial for BMS communications
display.begin(SSD1306_SWITCHCAPVCC, 0x3C); // 0x03C IS OLED ADRESS //Ox03D is the other adress
display.display();
display.clearDisplay();
display.setTextSize(2);
display.setTextColor(WHITE);
display.setCursor(0,10);
display.println("ES-90 BATT MONITOR"); // IF BATTERY IS NOT CONNECTED/OR BADLY, YOU WILL GET THIS MESSAGE //WHEN BATTERY IS CONNECTED DO AN ARDUINO RESET (PRESS RESET BUTTON)
display.display();
display.clearDisplay();
}

void loop()
{
// Non-blocking timer
if (millis() - timer > 500)
{
timer = millis();
myBattery.unlock(); // Send the unlock command
haveReadData = false; // Reset the read flag
}

if (myBattery.read() && !haveReadData)
{
haveReadData = true; // Set the read flag

// Serial plotter friendly outputs
//CAN BE REMOVED FROM HERE
Serial.print(" % Charge:");
Serial.print(myBattery.soc()); //Battery state of charge (0% - 100%)
Serial.print(", ");
Serial.print("Voltage:");
Serial.print(myBattery.voltage()); //Battery voltage as a float
Serial.print(", ");
Serial.print("Current:");
Serial.print(myBattery.current()); //Battery current as a float
Serial.print(", ");
Serial.print("Lowest cell volt:"); // Lowest voltage cellule
Serial.print(myBattery.low());
Serial.print(", ");
Serial.print("Highest cell volt:"); //highest cell voltage
Serial.print(myBattery.high());
Serial.print(", ");
Serial.print("Max T:");
Serial.print(myBattery.maxTemp()); //Get Maximun Temperature from BMS
Serial.print(", ");
Serial.print("Min T:");
Serial.print(myBattery.minTemp()); //Get Min Temperature from BMS
Serial.print(", ");
Serial.println();
// TO HERE

//OLED DISPLAYING
display.setTextSize(2);
display.setTextColor(WHITE);
display.setCursor(0,2);
display.print("Charge: "); display.println(myBattery.soc());
display.print("Volt:"); display.println(myBattery.voltage());
display.print("Max T: "); display.println(myBattery.maxTemp());
display.print("Load:"); display.println(myBattery.current());
display.display();
display.clearDisplay();

}
}

As this was a rental version whos overstock was […]

Any one got any info on beryl bikes I seen a few[…]

LH/ TF-100 Style Display.

Hi I recently converted a Bird Zero to a personal […]

How do you operate dash without button? I have[…]