Jump to content
GMOne

Speed2Increase and how to change max Ninebot speed

Recommended Posts

mf2m0d.pngJyIHIL.png13B4Iy.png

 

Some other tests... ? They require more fine tuning about limits, tiltbacks and currents (that i won't change, if i don't want to burn my Ninebot)...

Share this post


Link to post
Share on other sites

Rev. 1.0.1

Minor bugs (only cosmetics)!

 

Edited by GMOne

Share this post


Link to post
Share on other sites

Nice! I have this wheel and it needs this. Any info on how safe this is? 

I will test it when I have time. 

 

Share this post


Link to post
Share on other sites
18 minutes ago, UniVehje said:

Nice! I have this wheel and it needs this. Any info on how safe this is? 

I will test it when I have time. 

 

Absolutely safe. Not much code has been changed in this version. I used it for one month and it runs smooth. Of course i can't release a so important software without being sure about firmware mods. Every suggestion i'm looking for it's about the software by itself, or other hints if you want to change the behaviour at high speeds.

No firmware can be safe for crazy people that use it without RESPONSIBILITY.

Different thing is to go beyond 30 Km/h. I'm trying a little more changed firmware, but it won't be public soon.

Edited by GMOne
  • Like 1

Share this post


Link to post
Share on other sites
On 6/29/2018 at 1:39 PM, nte said:

Missing BORLNDMM.DLL

It seems to be a very common problem of my compiler. I'm trying to solve it... Stay tuned! In the meanwhile i compiled a slightly different version and i can give missing libraries.

V 1.0.3

Minor bugs

Missing libraries are given. Keep them into the same folder.

 

Edited by GMOne

Share this post


Link to post
Share on other sites

V 1.0.4

DLL problems solved

 

Edited by GMOne

Share this post


Link to post
Share on other sites

I did a similar firmware some time ago (I asked one member of this forum and 7 more devices). Later I will add support for S2 to my program, but only I strictly scored 1 battery - 24, 2 batteries - speed 30. Displays idle time and minor improvements.

Edited by MRN76

Share this post


Link to post
Share on other sites
Just now, MRN76 said:

I did a similar firmware some time ago (I asked one member of this forum and 7 more devices). Later I will add support for C2 to my program, but only I strictly scored 1 battery - 24, 2 batteries - speed 30. Displays idle time and minor improvements.

I don't care about it. I talked with you and you chosed to ask money. You didn't reply anymore. Now i can modify whatever i want.

Never challenge a programmer or a mathematician, especially if they are the same person.

  • Like 1

Share this post


Link to post
Share on other sites

Good. Then I will not do it. Let the ruler S2 be on you)

Share this post


Link to post
Share on other sites

Hint. Do not touch the bootloader area, most boards come with a 1.0.0 bootloader version, but rarely come across with 0.1.4 (there may be others I've seen -
  only these two), and it is not known how the wheel behaves after processing your program. It may simply not be included.

Share this post


Link to post
Share on other sites
On 6/30/2018 at 12:00 AM, MRN76 said:

Hint. Do not touch the bootloader area, most boards come with a 1.0.0 bootloader version, but rarely come across with 0.1.4 (there may be others I've seen -
  only these two), and it is not known how the wheel behaves after processing your program. It may simply not be included.

V 1.0.5

Some check boxes added.

You can go for the default option, even if bootloader with other limits is executed at the beginning each time.

 

I partially agree with you. To be sure (even if, i know, the risk is almost zero) i added some check boxes. First of all you can try to choose "firmware" only, the default option. The "backup firmware" is not very useful (but i like to mod it to have same firmware on the board), because it cannot be called from anyone.

 

Edited by GMOne

Share this post


Link to post
Share on other sites

V 1.1.0

Changed approach and some contraints added.

You must check your file first (firmware and bootloader), and it will enable right options (you can change them if you don't agree). If you have different bootloader you won't be able to change it, only the firmware part. If you try to use it on a different firmware you won't be able to do any mod. This will prevent ANY (even voluntary) possible damage through my app.

When you will open your firmware file it will also recognize the speeds written into your firmware.

This is for your worries about your file, and about your monocycle too... ?

Of course i remember that NOTHING about the firmware has been changed, only steps ahead in this simple app.

 

Edited by GMOne

Share this post


Link to post
Share on other sites

Some screenshots

First Step

plMezGe7p

Second step if checked OK

pnGzLwUop

Second step if bootloader is recognized different from a standard one

plnBuJ4mp

Step 2 if incompatible firmware

plN0sqomp

Example of Step 3 (and if you try to reopen the same file the different speeds are recognized by the app)

poQyt6sUp

 

1) This is can check other firmware versions! No damage will be done if incompatible.

2) I don't ask for administrator permissions, so remember that if your firmware file is not accessible by your user you can't do anything. You can "run as administrator" if you want to be sure to grant access rights.

  • Like 1

Share this post


Link to post
Share on other sites

Every firmware from 1.0.7 is supported.

In the next revision there will be a part about serial number: S1, A1 and A1+ can change model to S2 (with its limits), and then increase their limits up to 30Km/h.

Share this post


Link to post
Share on other sites
4 hours ago, GMOne said:

Every firmware from 1.0.7 is supported.

In the next revision there will be a part about serial number: S1, A1 and A1+ can change model to S2 (with its limits), and then increase their limits up to 30Km/h.

I am going to be doing this process tonight. Should I use the hex editor/MRN76's program for now?

Also I might PM you for help, but I'm pretty sure I have the process down if I can figure out the Segger computer program.

Share this post


Link to post
Share on other sites

I suggest you to do it manually. I cannot release it until one day or so... Although it is quite simple. I did it for sake of simplicity. Follow the suggested steps and you will be ok. I will pay attention to your posts... ?

Share this post


Link to post
Share on other sites

Curious how the firmware change the speed limit as the battery gets depleted? Is it linear or is it 30 kph up until certain battery percentage and then gradually decrease as the battery charge gets lower?

Share this post


Link to post
Share on other sites

aoBa8n.png

V 1.2.0

-Serial number feature added (A1/A1+ S1 can be changed to an S2);

-If it checks a file and it has no admin rights about it it gives "error";

-Little cosmetic changes;

-Some minor fixes.

 

Hint

If you want to check the patched file close the program, reopen it and check the file.

Remember that new speed limits are valid IF AND ONLY IF you "have" an S2. ?

 

Notes

When you check a firmware file the program will check if it can be patched (right firmware), read its serial number and then you can change model and/or speed limits (if you are on A1/A1+ or S1 you can go for S2 and increment speed limits all together).

Remember to BACKUP YOUR FIRMWARE, even if you can easily revert to original settings.

 

Please use it with RESPONSIBILITY, do not climb mountains at full speed (goodbye mosfets), do not downhill at full speed in front of walls (goodbye health)...

Speed2Increase120.zip

Share this post


Link to post
Share on other sites
21 minutes ago, Rotciv said:

Curious how the firmware change the speed limit as the battery gets depleted? Is it linear or is it 30 kph up until certain battery percentage and then gradually decrease as the battery charge gets lower?

It is an interesting question. I didn't take a look about it because i don't want to change these behaviours. High speeds at low battery percentage is the most dangerous thing IMHO.

But maybe i will investigate about it. Thanks for the idea!

Share this post


Link to post
Share on other sites
16 minutes ago, GMOne said:

V 1.2.0

-Serial number feature added (A1/A1+ S1 can be changed to an S2);

-If it checks a file and it has no admin rights about it it gives "error";

-Little cosmetic changes;

-Some minor fixes.

 

 

YOU'RE THE MAN!

Share this post


Link to post
Share on other sites

I think the situation is a little bit confusing so i will summarise every step needed.

1) Have a Ninebot A1 / A1+ / S1 / S2;

2) Buy a Chinese clone or an original J-Link interface;

3) Do a mod to the J-Link interface (workaround on its problem, it won't power your microcontroller so you have to do one bridge). If the original one (on latest EDU version) the mod is the following one:

My chinese already had a 3.3V enabled bridge

9GjJR7.jpg

Then you have to bridge externally VTref and 3.3V, i did it on the add-on board, but you can do it internally also if you like

9mNPuW.jpg

4) Disassemble your ninebot (not difficult, you have to remove every screw you see, and "gently" open it, you can follow one of one million tutorials on youtube). You need to access to the control board. AFTER YOU DISCONNECTED THE BATTERIES THEN PUSH POWER BUTTON TO DISCHARGE ALSO CAPACITORS.

5) Solder 5 wires connected to right PINS on the interface

6) (BATTERIES ARE ALREADY DISCONNECTED AND CAPACITORS DISCHARGED) Use J-Flash (4.20a for clone or latest for original, Google it) to read the chip. Configure it first as follows:

K1DMSh.png

7) In menu Target try to connect it, if it gives error about power check your mod (better with a multimeter)

8 ) Read back your chip (Target menu) and save your file (in multiple copies!)

9) Download latest version of Speed2Increase from the topic you are reading ?

10) Open it and open one copy of your firmware

11) Check it, and choose what you want

    - If you have an A1 A1+ or S1 it is suggested to convert it to S2 (otherwise you cannot change limits), and then increase your limits;

    - If you have an S2 you can directly increase your speed limits;

12) Patch the file, write it back through the J-Flash menu Target choosing write and verify (yes, you can delete the areas...)

13) Disconnect the chip (from the same menu), close the Ninebot taking out the soldered wires from one of the two side holes (i took out a connector, so i can connect it to one of the add-on board connectors); in that way you don't need to reopen your ninebot to reprogram it; connect of course batteries (don't worry about sparks...).

Before closing the Ninebot you can connect batteries only (power and control contacts, you don't need lights ;-)) and check the result with its Segway software on your mobile phone;

Pay attention to wires you took out! They must be isolated each other! No contact between them at all!

14) Remember to thank me through the "heart button" and please donate me some coffee... ?

15) Ride your monocycle freely but with RESPONSIBILITY!

 

REMEMBER THAT EACH TIME YOU WANT TO REPROGRAM YOUR NINEBOT YOU HAVE TO DISCONNECT YOUR BATTERIES AND DISCHARGE CAPACITORS PUSHING POWER BUTTON.

I hope i didn't forget anything.

HAPPY FLASHING!!!

GMOne 

 

Edited by GMOne
  • Upvote 2

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×