• Hello ES! We could use some help to get us past the finish line on building the new knowledgebase for the forum.
    Can you donate? Please see our fundraising page. Thank you!

TSDZ8 OSF (open source firmware)

I have today TSDZ2 with 860C display, if I upgrade to TSDZ8 and I still use the same display ?

Not sure if this is helpful, but I decided to share my feedback about using test6_with_pll. I've been using it for a few weeks now. In general, it works well — assistance maybe feels smoother than before (main branch).

I saw overcurrent mentioned here, and I experienced it twice as well. What’s interesting is that these were not situations where I would normally expect overcurrent to happen. For example, once it stopped with an overcurrent error on a snowy hill. Because of going slowly on an "easy" gear, the slippery surface and spinning wheel, I wouldn’t expect current to peak.

While writing this, I had a thought about why it could happen. On an icy surface, the wheel could slip for a moment, making it impossible for my legs to follow the pedals fast enough. That could create an instant load increase on the motor, which might reasonably trigger overcurrent. One moment the motor spins easily because it’s slipping on ice with leg assistance, and the next moment it suddenly catches traction while my legs are not helping because they couldn’t keep up with the rapid slipping.

One more thing I wanted to ask about.

Yesterday I installed brakes with a braking sensor. It works very well, but I’m interested in what the braking signal actually means for the motor. Initially, I thought it just cuts current to zero, but now I’m not sure, because:

When I use the throttle to spin the wheel while not moving, and at the same time apply the brake, I can hear a click in the motor. At the same time, I see the front sprocket stop almost instantly, like something is actively braking it from inside the motor.

When I ride the bicycle with constant pressure on the pedals and press the brake lever just enough to send a signal to the motor (without actually braking the wheel), I can feel that click through the pedals. At that time, nothing visibly stops spinning because I’m still pedaling.

I would expect the braking sensor to behave like releasing the throttle — the motor would just quietly stop spinning. But since it behaves differently with the brake sensor, I’m really interested in what is happening inside, and whether using the brake during motor peak current or peak speed could harm the motor.

If someone has an easy explanation, I’d be happy to hear it 🙂
About overcurrent, in normal version 0.2.x I added some more checks to protect the motor. It uses some new internal parameters. It could be that I used to low limits. As said in some posts hereabove, I made a 860c version avoiding those new checks. I have not yet got a feedback on it.

About the brake: when you apply brake, the motor is immediately disabled. I expect that all 3 low side mosfets become ON. It is like a short cut between the 2 windings. This stops rapidly the motor.
When you do not use the brake, OSF applies a deceleration and so the motor reduce current and speed progressively.
This seems me the more logic explanation.
 
I tried this version today: OSF_TSDZ8_860C_SPIDER_3_V00_02.02.hex

Unfortunately the e7 overcurrent still happens a lot for me. It happens irregularly, but usually when going slow and when there is some resistance and perhaps jerkiness in pedaling, like in snow or starting uphill. But it also happened going on a flat road and just switched to a higher gear, for example.

My battery is 48v and I've set the motor to 975w and battery current mostly at 20a, I've tried between 19 and 22a. I tried disabling start up boost, i thought it worked for a while, but no. And also tried disabling overcurrent delay, and setting it to 5.

I don't know anything about programming, so it is hard for me to make any suggestions.
 
I tried this version today: OSF_TSDZ8_860C_SPIDER_3_V00_02.02.hex

Unfortunately the e7 overcurrent still happens a lot for me. It happens irregularly, but usually when going slow and when there is some resistance and perhaps jerkiness in pedaling, like in snow or starting uphill. But it also happened going on a flat road and just switched to a higher gear, for example.

My battery is 48v and I've set the motor to 975w and battery current mostly at 20a, I've tried between 19 and 22a. I tried disabling start up boost, i thought it worked for a while, but no. And also tried disabling overcurrent delay, and setting it to 5.

I don't know anything about programming, so it is hard for me to make any suggestions.
I just put on github 2 other compiled versions V00.02.02 for 860C display in test6_with_pll branch. One does not perform anymore the overcurrent checks I added and the other uses upper limits.
Please note that those versions still use an orginal overcurrent check foreseen in TSDZ2 OSF but this check can be skipped too. to skip it, overcurrent delay must be set on 0 (this parameter can be edited from the display).
 
Hello @mstrens ,

A long while back I asked around here for the status of the custom firmware. I found it a bit hard to follow changes in this thread all the time. I'm using the TSDZ8 with a 850c (I think default firmware?), so as far as I remember I'm forced to use VLCD5 version or buy a new display, correct?

Is it currently seen as stable for general use and am I able to program a street (limited power/speed) vs / high speed mode? Thanks for the reply.
 
Hello, I have now tried this new version on a 30km ride today: V00_02.02_higher_overcurrent.hex

No overcurrent warnings whatsoever. And motor runs good and feels responsive. Thanks mstrens!

The thing I would like to improve is that the motor is a bit weak uphill and the power also flatens out to soon when accelarating. It seems to me that the motor should be able to keep up the power for longer, I think it could with the original fw.

But perhaps I just need to change some settings or increase power? Motor set to 975w and 20a with a 48v battery.

Anyhow, really many thanks for your great work mstrens!
 
Yesterday, I drove 56 km with the OSF_TSDZ8_860C_SPIDER_3_V00_02.02_no_overcurrent.hex version. The motor jerked quite a lot. The frequency was sometimes fast and sometimes slow. The power also cut out of motor three times. The display remained on, and no error codes were shown. After restart motor worked again.
 
Hello, I have now tried this new version on a 30km ride today: V00_02.02_higher_overcurrent.hex

No overcurrent warnings whatsoever. And motor runs good and feels responsive. Thanks mstrens!

The thing I would like to improve is that the motor is a bit weak uphill and the power also flatens out to soon when accelarating. It seems to me that the motor should be able to keep up the power for longer, I think it could with the original fw.

But perhaps I just need to change some settings or increase power? Motor set to 975w and 20a with a 48v battery.

Anyhow, really many thanks for your great work mstrens!
I agree you. I tested today higher_overcurrent.hex on 860C display and it worked much better than no_overcurrent.hex.
 
I have loaded Katana 1.35 F7 with configurator OSF F5 on my Z8/vlcd5 to get the goal of running at 36V as : first I have several batteries 36V, second the power will be much more law compliant and I do not need so much power third surely no risk of overheating on a Z8
At street power I do not feel any difference in power nor in consumption between 36 and 48V.
The motor runs fine, correct display of the battery charge percentage, power even too high, but the power is uneven, random higher power for just 1 second.
Somebody have an idea how to correct ?
 
I have loaded Katana 1.35 F7 with configurator OSF F5 on my Z8/vlcd5 to get the goal of running at 36V as : first I have several batteries 36V, second the power will be much more law compliant and I do not need so much power third surely no risk of overheating on a Z8
At street power I do not feel any difference in power nor in consumption between 36 and 48V.
The motor runs fine, correct display of the battery charge percentage, power even too high, but the power is uneven, random higher power for just 1 second.
Somebody have an idea how to correct ?
I suggest you try the latest version. It is file OSF_TSDZ8_VLCD5_SPIDER_3_V00_02.01.hex in test6_with_pll branch.
Perhaps it will help.
I am also using a 36V battery with the TSDZ8 because I had one and I do not need lot of power.
 
I'd say at this point the Factory firmware is vastly superior in terms of performance. I put factory FW back on my bike and I nearly fell off the bike. It's more torque per amp and a better FOC implementation. Both factory and OSF doing 21.5 AMPS and about 1100W and its night and day difference.

I have a relatively new motor from Powallon that they claim has improved firmware on it, the hex file is 155KB (much larger than previous FW HEX files i have seen, so I think they added to it and improved it), and the factory performance blows away the OSF

edit - i've attached the factory firmware that I am using that is 155Kb from the Powallon TSDZ8 motor kit bought recently in 2025 , if anyone wants to try it, I'm not sure if its compatible with old TSDZ8 motors so please use at your own risk, But thats what came on my TSDZ8 and it feels like the torque per amp and overall performance is much better. The kit came with an EKD01 display which uses 5 PAS levels and the throttle is NOT tied to the PAS level, instead the throttle seems to do full power 22A or possibly 26A, speed limit is set from the display

edit: my display HW and FW are as follows, "B02N Display" , which apparently is the EKD01 with bluetooth??


the PAS levels in the factory firmware on my powallon tsdz8 are as follows,


again, pls be careful with this attached firmware, its for a tsdz8 from the powallon kit, The Dangers Involved:
  • Bricking: This is the most significant risk. If the firmware file is for a slightly different controller hardware revision, is corrupt, or is incomplete, flashing it can permanently damage your controller, rendering it an expensive paperweight.
  • Incompatibility: The 2025 firmware is designed for 2025 hardware. Flashing it onto an older controller (e.g., from 2023) might lead to unexpected behavior, poor performance, or failure, as it may be looking for hardware components that don't exist on your board.

Hi all! I've just tried this firmware on my TSDZ8. I bought it from PSW in march '25 (so I guess it is an old model). With the original firmware, I found that the assistance was not powerfull enough, I really had to pedal hard to get max power. The motor is build on a cargo bike, so more meant for lazy sweat-less transportation than sport.
The Powallon firmware solved the lack of support issue. I still have to make more tests, but I'm happy with it so far ;)
So a big thank you to @ebikebuilder :)
 
I will look for the link of the 02 and report when any status update.
One question pls : is it possible to use a 860c Bafang on a Tongsheng if I load osf firmware ?
 
One question pls : is it possible to use a 860c Bafang on a Tongsheng if I load osf firmware ?
The OSF currently supports three hardware versions of the 860C display:
860C_v20
860C_V12
860C_V13
If your display is compatible, you can try flashing it with OSF. You will need a programming kit for the APT displays. You can either buy it or make it yourself (a USB-to-UART adapter, a power booster board, and a matching display connector).
Please be aware that the display may be bricked if anything goes wrong during the flashing process. If you hesitate, don't do it
 
The OSF currently supports three hardware versions of the 860C display:
860C_v20
860C_V12
860C_V13
If your display is compatible, you can try flashing it with OSF. You will need a programming kit for the APT displays. You can either buy it or make it yourself (a USB-to-UART adapter, a power booster board, and a matching display connector).
Please be aware that the display may be bricked if anything goes wrong during the flashing process. If you hesitate, don't do it
Also you can't go back right? No one has the stock firmware for the 860c displays? Please correct me if I'm wrong.
 
Z8 Katana 1.35 F7 + config F5
Initially powerful but uneven power.
After some kilometers an some off /on I got a fix error 02.
Installed Spider 2.01 F7 + config F5.
Initially lower power but perfectly working.
After some km sometime it boot correctly, sometime error 02.
Any suggestion pls ?
Somebody have a surely working Z8 36V file ?
 
Z8 Katana 1.35 F7 + config F5
Initially powerful but uneven power.
After some kilometers an some off /on I got a fix error 02.
Installed Spider 2.01 F7 + config F5.
Initially lower power but perfectly working.
After some km sometime it boot correctly, sometime error 02.
Any suggestion pls ?
Somebody have a surely working Z8 36V file ?
I am using TSDZ8 with OSF with a 36V battery.
Error 02 means that there is an error about the torque sensor. I expect that you have to calibrate the sensor. If I remember wel the process is explained in some (old ) posts on this forum. The idea is to look at the values provided by the torque sensor (on the display) for different positions of the pedal with no load on the pedal. Then you fill in (as offset) the highest values with an additional margin. On top of it, you have also to adapt the value with full load on the pedal.
Please look also at the readme file provide with the project.
I do not think that the issue is related to the voltage of the battery (36V versus 48V).


You can also look at this tuto : TSDZ8 open source firmware OSF update (860C and SW102 displays version) using J-Link v9 programming kit
It is related to the 860c version but the idea is the same.
 
Really sorry, I am an idiot.
This is the Z8 PSW sold as blocked at 110Eur.
I found two broken teeth, rebuilt but I havebopened and closed the motor a lot af times ..... I forgot the magnet on !!!
Now it work.
Tomorrow longer test.
Tks
 
Z8 V5 36V
After a test of 48km I can say the error 02 was surely caused by th service magnet forgot on site, but the uneven power still exist.
In my opinion it is some sort of battery related issue.
I have used 3 batt : 7,4 BigOne, 7,4 Nilox, 4.2 Nilox.
In any case big big differences in power between full charge 42v and 34v when I change the battery.
Moreover after a stop of few minutes at restart the power is full for one minute and drop down quickly.
Any idea ?
 
Hello, does anyone know why my gear shift sensor isn't working? I have an 860c display with OSF installed. It flashes red. When I change gears, it continues to flash red. It only flashes blue once when I unplug and plug it back in.

and please tell me if there is a way to somehow turn off the power steering when changing gears if the sensor does not work?
 
is a way to somehow turn off the power steering
you should never disable power steering in your car /s

In all seriousness, to disable the motor use brake sensors instead. The signal can be wired to a momentary switch that can be perfectly timed for nice and quick shifts. Or use a brake lever as a 'clutch'.
 
As @prozyc mentioned, you would need a firmware file for your version of the display. If you can get that, then you can flash it back
Oops sorry that was a confusing use of the word "can't". I know you can if you have the original firmware. I've just seen a lot of people asking for stock/original firmware for the 860C and I've never seen any one have it before. But that's awesome that @prozyc has at least some version(s) of it and hopefully others do as well. It makes trying out OSF a little less risky for folks. Especially while it's under active development.
 
I have been riding three days with TSDZ8_860C_SPIDER_3_V00_02.02
There is occasionally jerking. It happens often when riding long uphill. Assist suddenly goes down little bit and stays there usually end of uphill. There is also fast jerking sometimes, assist goes down and up fastly.

TSDZ8_860C_SPIDER_3_V00_02.02_no_overcurrent.hex acts same way
 
Hi all! I've just tried this firmware on my TSDZ8. I bought it from PSW in march '25 (so I guess it is an old model). With the original firmware, I found that the assistance was not powerfull enough, I really had to pedal hard to get max power. The motor is build on a cargo bike, so more meant for lazy sweat-less transportation than sport.
The Powallon firmware solved the lack of support issue. I still have to make more tests, but I'm happy with it so far ;)
So a big thank you to @ebikebuilder :)
I assume this is the Firmware that is installed on all newer TSDZ8.
Just to be sure:
There are two stock Firmware Versions for TSDZ8
  • Old Firmware with PAS Level 1 and 2 working very poorly
  • Newer Firmware with more motor support in general
Or does the Powallon firmware differ from that of the newer motor versions e.g. supplied by pswpower or aliexpress?
 
I assume this is the Firmware that is installed on all newer TSDZ8.
Just to be sure:
There are two stock Firmware Versions for TSDZ8
  • Old Firmware with PAS Level 1 and 2 working very poorly
  • Newer Firmware with more motor support in general
Or does the Powallon firmware differ from that of the newer motor versions e.g. supplied by pswpower or aliexpress?
I don't know. I have installed a TSDZ8 on another bike, bought in december at PSW, that still had the old firmware I guess as it shows the same sympoms as the first one (lack of assistance in general).
I just got another one from PSW that I will install in the coming days, I'll see if it also has the old FW.
 
Back
Top