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

Covers electric scooter models whether shared or for consumers.
By LesPoros
#56256
Hello guys,

I am trying to get my salvaged bird zero to work but no matter what I try the scooter stops working after a while.
I have read a good amount of this thread viewtopic.php?f=56&t=6284 with no avail. The instructions on the first page seem to have been removed and I've been putting the pieces together. So far I have tried the following Arduino code with every single message, I have also tried the scooter-starter.ino I am connecting the blue to the 3v on Arduino (tried D5 in case it has slightly higher voltage) yellow to rx and green tx
Code: Select all
/*
 * byte messageD[] = {0xA6, 0x12, 0x02, 0x85, 0x24, 0x4D}; // CHANGE LOOP TO MODIFY AND TEST
This gives me 22.9 MPH. Happy scooting.
Tested on Jump ES200B

#include <Arduino.h>

int powerPin = 5;
byte messageA[] = {0xA6, 0x12, 0x02, 0x10, 0x14, 0xCF}; //SOME SORT OF UNKNOWN COMMAND THAT IS SENT EVERYTIME SCOOTER TURNS ON
byte messageB[] = {0xA6, 0x12, 0x02, 0x01, 0x14, 0xE7}; // TURNS ON ESC AND DISPLAY IN MPH
byte messageC[] = {0xA6, 0x12, 0x02, 0x05, 0x14, 0xDC}; // LOOP CODE TO STAY ON: TURNS ON HEADLIGHT, ESC ON, AND DISPLAY IN MPH
byte messageD[] = {0xA6, 0x12, 0x02, 0x85, 0x24, 0x4D}; // CHANGE LOOP TO MODIFY AND TEST

void setup() {
// initialize Serial1:
Serial.begin(9600);

pinMode(powerPin, OUTPUT);
digitalWrite(powerPin, HIGH);

Serial.write(messageA, sizeof(messageA));
//delay(500);
//Serial.write(messageB, sizeof(messageB));

}

void loop() {
delay(500);
Serial.write(messageD, sizeof(messageD));
}
It appears that the only bytes that matter are the 4th set for lights on, lights blink, MPH, or KPH select
The fifth set is for speed mode select: 20kph or 36kph
byte messageA[] = {0xA6, 0x12, 0x02, 0x10, 0x14, 0xCF}; // MAKES HEADLIGHT BLINK CODE BEFORE STARTUP
byte messageB[] = {0xA6, 0x12, 0x02, 0XE5, 0xE4, 0xDD}; // LIGHT ON & ESC ON & MPH & MAX SPEED
byte messageC[] = {0xA6, 0x12, 0x02, 0XF5, 0xE4, 0x31}; // LIGHT ON & ESC ON & KPH & MAX SPEED

byte messageE[] = {0xA6, 0x12, 0x02, 0XE1, 0xE4, 0xE6}; // LIGHT OFF & ESC ON & MPH & FAST
byte messageF[] = {0xA6, 0x12, 0x02, 0XE3, 0xE4, 0x77}; // LIGHT Flash & ESC ON & MPH & Fast
byte messageG[] = {0xA6, 0x12, 0x02, 0XE5, 0xE4, 0xDD}; // LIGHT ON & ESC ON & MPH & FAST

Scooter unlock code for the ES200B Jump Scooter.
Created by @bastis256 with collaboration from @MrSpriggs1
*/

#include <Arduino.h>

int powerPin = 5;
// byte messageA[] = {0xA6, 0x12, 0x02, 0x10, 0x14, 0xCF};
// byte messageB[] = {0xA6, 0x12, 0x02, 0x11, 0x14, 0x0B};
byte messageG[] = {0xA6, 0x12, 0x02, 0XE5, 0xE4, 0xDD}; // LIGHT ON & ESC ON & MPH & FAST
byte messageA[] = {0xA6, 0x12, 0x02, 0x10, 0x14, 0xCF}; // MAKES HEADLIGHT BLINK CODE BEFORE STARTUP
byte messageB[] = {0xA6, 0x12, 0x02, 0XE5, 0xE4, 0xDD}; // LIGHT ON & ESC ON & MPH & MAX SPEED
byte messageC[] = {0xA6, 0x12, 0x02, 0XF5, 0xE4, 0x31}; // LIGHT ON & ESC ON & KPH & MAX SPEED
byte messageD[] = {0xA6, 0x12, 0x02, 0x85, 0x24, 0x4D};
byte messageE[] = {0xA6, 0x12, 0x02, 0XE1, 0xE4, 0xE6}; // LIGHT OFF & ESC ON & MPH & FAST
byte messageF[] = {0xA6, 0x12, 0x02, 0XE3, 0xE4, 0x77}; // LIGHT Flash & ESC ON & MPH & Fast
byte messageH[] = {0xA6, 0x12, 0x02, 0x35, 0xFF, 0x38}; // LIGHT Flash & ESC ON & MPH & Fast

void setup() {
  // initialize Serial:
  Serial.begin(9600);

  pinMode(powerPin, OUTPUT);
  digitalWrite(powerPin, HIGH);
}

void loop() {
  delay(200);   // it's the good time in the original kit
  Serial.write(messageH, sizeof(messageH));
}
By 2kan521
#56374
Hello,

I interested too but I don't know how to contact by mp? Can you contact me please ?

I have developped an mobile application combined with esp32 to replace the original control module. I'll be happy to share but still have the two minutes limitations without you help with protocol....

Thank you.
User avatar
By EPOK
#56398
2kan521 wrote:
Sun Feb 20, 2022 3:02 pm
Hello,

I interested too but I don't know how to contact by mp? Can you contact me please ?

I have developped an mobile application combined with esp32 to replace the original control module. I'll be happy to share but still have the two minutes limitations without you help with protocol....

Thank you.
PM
By hiho
#56970
EPOK can you please pm me the new code for the patched bird scooters, just bought a newer one and it seems to have this problem.
Thanks
User avatar
By EPOK
#56980
hiho wrote:
Tue Jun 28, 2022 6:06 pm
EPOK can you please pm me the new code for the patched bird scooters, just bought a newer one and it seems to have this problem.
Thanks

PM bro
By Sc00tr
#56982
Could you send me a PM as well?
EPOK wrote:
Thu Jun 30, 2022 12:38 pm
hiho wrote:
Tue Jun 28, 2022 6:06 pm
EPOK can you please pm me the new code for the patched bird scooters, just bought a newer one and it seems to have this problem.
Thanks

PM bro

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[…]