new tsdz8 pswpower

I'm very excited about the firmware project! I hope that other displays will also be compatible with it (I currently use the EKD01).
 
I published on github a beta version of my open source firmware for the TSDZ8.
Here is the link to see this project.

If you are interested, look at the readme and let me know if it is clear enough.

Please note that this is an experimental project that has not been tested on a bike.
I only made tests with a motor on a table and connected to a PC. So, I was not able to check essential parts like torque sensor, speed sensor or cadence sensor.

Use it at your own risk. I can't give any waranty that it works.
Even if I tried to implement security checks (e.g. on max current), there is a real risk to damage your controller or even your motor.

If malfunctions are discovered (as I expect), it can be quite difficult to find the bugs. Hopefully, it is possible to let the controller send debug informations to a PC via the jlink device. Ideally, the firmware should be tested with the motor installed on an exercise bike. (best with a power supply allowing to limit the current). I am sorry but I do not have such an exercide bike.

I hope someone is willing/able to make some tests. I can provide more information/documentation on how to proceed.
I suggest then to further discuss with the volunter testers on a specific thread (or on another channel like Discord) to avoid polluting this forum.
 
I think readme quite clear. I'm still waiting for motor and j-link. Motor will arrive soon but j-link and cable for that might take long.

Is it possible to make this software also for 860C display?
 
I think readme quite clear. I'm still waiting for motor and j-link. Motor will arrive soon but j-link and cable for that might take long.

Is it possible to make this software also for 860C display?
I am not sure but I think it is already possible.
In fact for the code managing the display, I tried to copy exactly what mbrusa did in his version of OSF.
In his readme section, he says;
This fork is based on the TSDZ2-v0.20beta1 adapted for Tongsheng protocol displays, like stock VLCD5, VLCD6, XH18 or other displays with the same protocol and 6-pin Tonsheng connector, SW102, DZ41, 850C or 860C for TSDZ2. With these last displays, the visualization of data and errors must be checked..
To be sure that 860C could be used, best would be to ask the question on the OSF forum for TSDZ2.
 
I am not sure but I think it is already possible.
In fact for the code managing the display, I tried to copy exactly what mbrusa did in his version of OSF.
In his readme section, he says;
This fork is based on the TSDZ2-v0.20beta1 adapted for Tongsheng protocol displays, like stock VLCD5, VLCD6, XH18 or other displays with the same protocol and 6-pin Tonsheng connector, SW102, DZ41, 850C or 860C for TSDZ2. With these last displays, the visualization of data and errors must be checked..
To be sure that 860C could be used, best would be to ask the question on the OSF forum for TSDZ2.
I use 860C display with TSDZ2 and TSDZB. It works fine. But it have to flashed also, not only motor. mbrusa allways makes different versions for displays.


By the way I ordered TSDZ8 with 860C display. So I think stock firmware works with it. I cannot order TSDZ2 or TSDZB with 860C display, only choice is VLCD5.

Link to PSWPower TSDZ8.
 
Last edited:
I use 860C display with TSDZ2 and TSDZB. It works fine. But it have to flashed also, not only motor. mbrusa allways makes different versions for displays.


By the way I ordered TSDZ8 with 860C display. So I think stock firmware works with it. I cannot order TSDZ2 or TSDZB with 860C display, only choice is VLCD5.

Link to PSWPower TSDZ8.
I am afraid this becomes quite confusing.
I expect (but I am perhaps wrong) that there are several versions of OSF.
Some requires to flash also the display. It is then possible to take profit of the display possibilities (e.g. to get more data on the same screen).
There is one version that does not require to flash the display. It is this one that I adapted for the TSDZ8.
The advantage is that it does not require to change the display.
The drawback is that it is not so user friendly (and perhaps does not offer to change as many motor parameters from the display)
 
Which is why the java configurator is such a handy tool.
OSF (at least the version that I reused) has currently more that 100 parameters that can be choosen by the user.
Most of them can only be defined within the Java configurator. The configurator generates a file with is used during the compilation step to provide the final firmware. It means that the code implemented in the controller is more or less complex depending on the values filled in the configurator. It is then not possible for the display to activate those function.s that are not in the generated code.
With the display, the user can only activate a few options (like select the assist mode between Power, Torque, Cadence, eMTB,... or the way the lights are working).

E.g. in the configurator you can define the % of assistance in ECO, TOUR, SPORT and TURBO for several assist mode (POWER, TORQUE, CADENCE, ...). With the display you can not changes those % but you can select the assist mode (POWER, TORQUE, ...) that you want.
 
The only configuration option I know from memory is E02 - value 1 is on value 0 is off, press light button again to change, E02 starts flashing and goes away -> value saved.

That's street mode. All the other settings, I wouldn't know ;)

edit: just saying, I knew you can change assist mode ect ect, but I've only ever changed startup assist mode in the configurator and had it selected at startup for instance.
 
I am afraid this becomes quite confusing.
I expect (but I am perhaps wrong) that there are several versions of OSF.
Some requires to flash also the display. It is then possible to take profit of the display possibilities (e.g. to get more data on the same screen).
There is one version that does not require to flash the display. It is this one that I adapted for the TSDZ8.
The advantage is that it does not require to change the display.
The drawback is that it is not so user friendly (and perhaps does not offer to change as many motor parameters from the display)
I'm just curious about this, but did you consider bbs-fw at all? It does already support tsdz2, but has a downside
of supporting only bafang uart displays. Upside(imo.) is it does allow changing settings written into the flash, and
can be configured to be usable w/o any display at all.
 
I'm just curious about this, but did you consider bbs-fw at all? It does already support tsdz2, but has a downside
of supporting only bafang uart displays. Upside(imo.) is it does allow changing settings written into the flash, and
can be configured to be usable w/o any display at all.
I did not know this project but if I understand it rigth, it does not support the torque sensor of the TSDZ2. Futhermore, it can't be used for TSDZ8 because TSDZ8 uses another microprocessor.
 
What use would a Tongshen be with ... ugh... bafang firmware without torque sensor support... just buy a .... ugh... bafang... then.
 
I did not know this project but if I understand it rigth, it does not support the torque sensor of the TSDZ2.
There is code for the torque sensor in bbs-fw for TSDZ2, but these TSDZs are totally unknown to me,
so got no experience with it.

Futhermore, it can't be used for TSDZ8 because TSDZ8 uses another microprocessor.
Yes, that's why i asked if you did consider porting it to TSDZ8, as it is already "structured" to
be portable to different MCUs.

What use would a Tongshen be with ... ugh... bafang firmware without torque sensor support... just buy a .... ugh... bafang... then.
Didn't ask you a thing. If i knew as much as you i'd just stfu now.
 
Didn't ask you a thing. If i knew as much as you i'd just stfu now.
I feel this walking sewage leak here got out of bed with the wrong foot today.

It's ok, we all been there. To bad this one spews so much nasty tho.
 
Last edited:
I did not know this project but if I understand it rigth, it does not support the torque sensor of the TSDZ2. Futhermore, it can't be used for TSDZ8 because TSDZ8 uses another microprocessor.
There is code for the torque sensor in bbs-fw for TSDZ2, but these TSDZs are totally unknown to me,
so got no experience with it.
So you splatter from the wrong end of evolution should perhaps 'stfu', like the malfunctioning porto-potty in human form tells others when he thinks they have nothing to contribute?

Don't throw stones in a glass house. .
 
Last edited:
The language at the end of post #289 above does not meet the standards of productive helpful discourse we attempt to maintain here at ES. We have received reports from other members noting inappropriate tone.

I have sent an official warning to the poster.

Let's all make better efforts to express ourselves in a more constructive manner.
 
I expect it should work with 52V and VLCD5 but the displayed voltage levels will be wrong.
The number of bar to display is calculated by the controller and transmitted to VLDC5 based on a 48V battery.
 
@mstrens
Question regarding your OSF version:
As the ENERdan TSDZ2 also has the V2 controller, do you think your firmware works on this motor too?
I have a TSDZ2 with V2 and a TSDZ8 here for testing, but I wanted to try it first on the TSDZ2. My TSDZ8 bike is farely new I dont want to risk damaging it.
 
@mstrens
Question regarding your OSF version:
As the ENERdan TSDZ2 also has the V2 controller, do you think your firmware works on this motor too?
I have a TSDZ2 with V2 and a TSDZ8 here for testing, but I wanted to try it first on the TSDZ2. My TSDZ8 bike is farely new I dont want to risk damaging it.
I expect that my OSF version for TSDZ8 could be adapted for the TSDZ2 V2. Still it would require several minor changes mainly because TSDZ2 motor has 8 poles instead of 4 poles for TSDZ8.
At this stage, I do not plan to adapt my version for TSDZ2 V2.
My priority is that it works for TSDZ8 with a VLCD5 display (or similar).
Afterwards, I plan to make a version for TSDZ8 with a 860C display (this allows the user do change all config parameters from the display without need for a configurator/reflash).

I am still waiting that someone accept to test my version.
In the meantime, I am fine tuning my version (trying to implement some more calibrations and optimizations).
 
I expect that my OSF version for TSDZ8 could be adapted for the TSDZ2 V2. Still it would require several minor changes mainly because TSDZ2 motor has 8 poles instead of 4 poles for TSDZ8.
At this stage, I do not plan to adapt my version for TSDZ2 V2.
My priority is that it works for TSDZ8 with a VLCD5 display (or similar).
Afterwards, I plan to make a version for TSDZ8 with a 860C display (this allows the user do change all config parameters from the display without need for a configurator/reflash).

I am still waiting that someone accept to test my version.
In the meantime, I am fine tuning my version (trying to implement some more calibrations and optimizations).
This is good news. I have received Motor but I'm still waiting J-link. It should arrive next week but that is only estimate.

I ordered TSDZ8 with 860C display which I like (I don't like VLCD5). When I bouht my first TSDZ motor seven years ago I chanced it first to KTLCD then to 850C and when 860C came I have since used it.

I have tested TSDZ8 at table and connect power on it. It works with 860C display with came along with TSDZ8 I tested it also with old VLCD5 display and it works too.

860C display has different cable on TSDZ8 motor than other 860C displays. Connector is similar to speed sensor connector. Cable form motor to display is harness with four connector.

Can I downlaod original hardware with j-lilnk and save it and reinstall it if needed?860C_display_connector_to_TSDZ8_motor.JPG860C_display_on_TSDZ8_5_assist_levels.JPG860C_harness.JPGTSDZ8_VLCD5.JPGVersion_Information.jpg Thus I think I don’t like it. I’ve read that two first assist levels assists too much.
 
Last edited:
Back
Top