TSDZ2 OSF for all displays, VLCD5-VLCD6-XH18, LCD3, 860C-850C-SW102.

Unfortunately I don't have a SW102 display to try, but I think I figured out where the problem is.

Do you have something like "buy me a coffee"?
I would be happy to throw in some amount, and there are more than 1 person like me here, so there will be an opportunity to buy SW102 and something else for "experiments".
(if you have, please add a link to the profile-signature so that everyone can see it, thanks)
 
Last edited:
What the difference between orange and black button versions(execept color:)). Which is better for OSF?

sw102-orange.png sw102-black.png
p.s. also I found the colour ver. (but SW102-T to be true):
1739711181544.png
As far as I understand, the color-version doesn't fit at all?
 
What the difference between orange and black button versions(execept color:)). Which is better for OSF?
They are both suitable for OSF (I used both).

The black button version is more recent, and I found the following differences with the old one :
- The soldering pads (for initial flash) are on the opposite side of the PCB
- The waterproofing has been improved. It makes it a little more difficult to cut open (but does eventually open nicely), but also easier to put back together with new sealant (I use now black silicone instead of glue)
- The tactile feedback of the buttons is much improved.
- The lower keypad is a little longer.

I definitely recommend going with the new, black version.

I have no info about the color version, first time I see it !

Edit : I first mistakenly wrote that the orange version is the new one. It is the opposite.

Edit 2 : The new black button I'm talking about is this one : https://fr.aliexpress.com/item/1005006232735747.html
The shape of the on/off button is significantly different than the black one in your pictures. Unfortunately, it's not very visible on AE pictures.
 
Last edited:
I hope this is the right place....I've never posted before. I really want to install the OSF and have followed all the instructions...all software and github repository put in the root C directory, but no matter how many reinstalls/restarts (all day so far) I just can't get JavaConfigurator.jar to 'open'. I have tried reinstalling Java several times over, including the development kit version (20.01 I think), and downloaded the repository again but the same happens. I double click or 'open with' , Java appears then to be running in task manager, but no sign of the configurator. I tried the run from command prompt suggestion I found on Github and met with the Nullpointerexception problem.
...er..any suggestions ? (Windows 10 64 bit)
Cheers
silas
 
I just tested the new version of the Java configurator version 5.1.
Really great.
For Mac users, I also tested the firmware update from a VirtualBox virtual machine (Windows7 64)
It works perfectly well
 
Hello everyone and nice rides!
I have been using the Bafang BBS02 for more than 5 years, and I have covered about 16 thousand kilometers... but I decided to design a new light eBike based on the TSDZ2.
A year ago, I bought one on the Aliexpess marketplace. I specially chose the TSDZ-2 52V in order to get more torque, and I also had a battery charger for 52 V. To be honest, I didn't expect super power from Tzongsheng, but my main disappointment was that the throttle couldn't give the maximum power of the motor. Almost always, I ride in assistance mode, but sometimes I need maximum power without pedaling (intense acceleration before climbing or sudden acceleration). I usually get it from the BBS immediately after pushing the throttle... intense acceleration makes me more confident in most cases. I decided it could be improved by using OSF, made by the remarkable Mbrusa guy, but unfortunately, I wasn't able to do it.. I even can't copy the base data from my controller.
Could you please specify whether it relates to various versions of the controller, because I bought the TSDZ2 1 years ago and maybe it is equipped with an non updateable controller? How can I check this? And even if I am able to change the software on the OSF, will it give me a chance to change the throttle settings in order to operate at maximum power?
i'm sorry if the same questions already discussed earlier, please forward the link and i investigate it deeply. with best regards!
 

Attachments

  • 5303230016156463286.jpg
    5303230016156463286.jpg
    27.9 KB · Views: 8
  • 5303113549528297659.jpg
    5303113549528297659.jpg
    288.4 KB · Views: 8
  • 5303113549528297658.jpg
    5303113549528297658.jpg
    278.2 KB · Views: 9
1. Even with OSF, throttle on tsdz2 will not come close to what you're used to. If you wanted a Tongshen you could use throttle on, tsdz8 would've been be your better choice.

2. Link to the ali page you bought it might help, but afaik only Enerdan sells the V2 equipped controllers for which OSF will not work.

edit:

3. You connectivity issues can also come from a 'bad' ST-link. I've personally run into that, thinking there were other issues but when swapping out St-Link everything suddenly just worked. And make sure you got good connection between St-link and the tsdz2.
 
Last edited:
1. Even with OSF, throttle on tsdz2 will not come close to what you're used to. If you wanted a Tongshen you could use throttle on, tsdz8 would've been be your better choice.

2. Link to the ali page you bought it might help, but afaik only Enerdan sells the V2 equipped controllers for which OSF will not work.

edit:

3. You connectivity issues can also come from a 'bad' ST-link. I've personally run into that, thinking there were other issues but when swapping out St-Link everything suddenly just worked. And make sure you got good connection between St-link and the tsdz2.
Thank you for your response!
1. tsdz8 is heavy and I've had the bbs02) I barely want that throttle give me power the same like on 4th level assistance, without any time lag. (pushes throttle on 100% and gives 100% of power immediately).
2. it was "Ebird Store" : https://aliexpress.ru/item/10050046...readType=socialShare&tt=MG&utm_medium=sharing
3. yes, maybe you are right! probably I bought the faulty st-link. could you share the link on the Aliexpess marketplace for buying working and tested ST-link ?
 

Attachments

  • Screenshot_38.jpg
    Screenshot_38.jpg
    95.2 KB · Views: 4
Even with OSF, tsdz2 isn't well suited for throttle. I never used one, but I am certain others have reported it never feels like it's giving maximum power with a throttle. OSF does improve over stock, but it's not going to be even on par with bbs02.

Quote from ChatGPT

TSDZ2 Throttle Support

  • The throttle on a TSDZ2 is not fully independent like on the BBS02. Instead, it still works within the torque-sensing framework of the motor.
  • With stock firmware, throttle support is limited and often feels indirect or delayed because the motor prioritizes torque sensing.
  • Custom firmware (like OSF - Open Source Firmware) can improve throttle response and provide better configurability, making it behave more like a BBS02 throttle.

BBS02 Throttle Support

  • The BBS02 throttle acts like a direct power control, bypassing pedal assist if needed.
  • It provides instant response similar to a hub motor throttle.
  • Works well even without pedaling, making it ideal for off-road riding or throttle-heavy use cases.

Comparison

FeatureTSDZ2 (Stock)TSDZ2 (OSF)BBS02
Throttle TypeLimited, torque-basedMore configurableFull power override
ResponsivenessDelayedImprovedInstant
Independent UseNo (requires PAS interaction)ConfigurableYes (full override)
Best forLight throttle useCustomizable experienceThrottle-heavy riding

Conclusion

If you rely on throttle as a primary control, the BBS02 is the better choice due to its direct power delivery. The TSDZ2, even with OSF, still works best as a pedal-assist system with a throttle as an extra, rather than a primary control.

For ST-Link, I bought my second batch ( of two... I mean they are cheap and better safe then sorry ) was from this store more out of it being in stock unlike Farnell where it was out.

*note this is NOT an original ( STMElectronics ) it's a clone. But it works perfectly for me and it's cheaper even then the normal one which is already cheap.

I bought one here once. It's also worked great, is an original from STM but I 'lost it' ( probably in some drawer somewhere ).

I am not sure these ship to Belarus though. And I wouldn't be able to point to one on Ali as I've bought them locally ( there is no real price difference for this item anyway ).
 
Thanks, yes, I have now. The problem persists...
So I have just tried to get somewhere on my Windows 7 partition but with the same results...and then back to Windows 10 and here's screenshot having just run the .bat option. What am I doing wrong ? Is this what my C folders should look like ?
 

Attachments

  • Nojoy.jpg
    Nojoy.jpg
    326.5 KB · Views: 6
I don't think your current issue is a path issue, it looks like your java install is borked or you have some weird user permission issue.

Are you using an admin account? Run as admin?

My folder structure is
C:\TSDZ2-Smart-EBike-1-master\TSDZ2-Smart-EBike-1-master
C:\SDCC
C:\st_toolset
 
I don't think your current issue is a path issue, it looks like your java install is borked or you have some weird user permission issue.

Are you using an admin account? Run as admin?

My folder structure is
Yes, I am the administrator...and have installed uninstalled Java several times and tried the/a development kit...this install is the one pointed to from github.....I've still got some hair to tear out
 
Actually, it's not java itself. The null reference is 1739796478372.png

Do you have the 'proven settings' subfolder? Does it contain the proper files?1739796947216.png

It should have
1739797038745.png


File[] provenSettingsFiles = provenSettingsDir.listFiles();
Arrays.sort(provenSettingsFiles);
for (File file : provenSettingsFiles) {
provenSettingsFilesModel.addElement(new TSDZ2_Configurator.FileContainer(file));

-> if (lastSettingsFile == null) {
lastSettingsFile = file;
} else {
if(file.lastModified()>lastSettingsFile.lastModified()){
lastSettingsFile = file;
}
}
}

It should do a null check before

File[] provenSettingsFiles = provenSettingsDir.listFiles();
if (provenSettingsFiles != null) {
File lastSettingsFile = null;

for (File file : provenSettingsFiles) {
provenSettingsFilesModel.addElement(new TSDZ2_Configurator.FileContainer(file));

if (lastSettingsFile == null || file.lastModified() > lastSettingsFile.lastModified()) {
lastSettingsFile = file;
}
}
}

edit: and off besides the null check, it should prompt the user it can't find certain files if it fails and exit properly.

edit2: I am NOT using the latest version atm btw, so it's possible this has already been fixed in newer versions.
 
Last edited:
Actually, it's not java itself. The null reference is View attachment 365845

Do you have the 'proven settings' subfolder? Does it contain the proper files?View attachment 365846

It should have
View attachment 365847




It should do a null check before



edit: and off besides the null check, it should prompt the user it can't find certain files if it fails and exit properly.
Yes the proven settings are there...I mean anyway I copied the whole repository from github....in fact first I downloaded the zip file and later when all wasn't working tried the cloning method...
 
Well, if the folder structure is correct and the files are there, it shouldn't throw a nullrefence there.

Download the latest version if you're not on that already -> link removed, seems the latest beta has some errors, and it's linked from the homepage.

edit: list to latest 'stable' release -> Release Open source firmware TSDZ2-v20.1C.2-update-3 VLCD5-VLCD6-XH18 · emmebrusa/TSDZ2-Smart-EBike-1

I am sure folder structure is correct ( other users have already used it successfully ).

If that still throws errors, you'll have to wait for mbrusa as I'm out of 'suspects'.
 
Last edited:
Well, if the folder structure is correct and the files are there, it shouldn't throw a nullrefence there.

Download the latest version if you're not on that already -> Release Open source firmware TSDZ2-v20.1C.6-beta-1 VLCD5-VLCD6-XH18 · emmebrusa/TSDZ2-Smart-EBike-1

edit: list to latest 'stable' release -> Release Open source firmware TSDZ2-v20.1C.2-update-3 VLCD5-VLCD6-XH18 · emmebrusa/TSDZ2-Smart-EBike-1

I am sure folder structure is correct ( other users have already used it successfully ).

If that still throws errors, you'll have to wait for mbrusa as I'm out of 'suspects'.
!!!!! well whadayaknow that works ! (the update 3 one) Wow, thanks so much, I can proceed.

So for reference the repository I copied that wasn't working was from the link from the wiki home page... Home
 
!!!!! well whadayaknow that works ! (the update 3 one) Wow, thanks so much, I can proceed.

So for reference the repository I copied that wasn't working was from the link from the wiki home page... Home

I just noticed that the homepage goes to the current development branch and not the latest stable release

@stancecoke is that intentional? ( I saw stancecoke was listed as maintainer / editor ). Pretty sure there was a very well visible link to the latest stable version before?

edit: for people downloading -> use this:

1739805811691.png
And NOT
1739805885053.png
 
Last edited:
Back
Top