• 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)

Thank you very much for your answers. I see how it's done now. I'm embarrassed by my lack of knowledge.

So, does this mean I should first flash the file OSF_TSDZ8_VLCD5_KATANA_V00_01_33.hex, and then flash the TSDZ8_config.hex file over it?

I have updated the display firmware again with the file EKD01_UART_TSE_N22_bin. However, it is still not working. The main screen shows error code E02, but when I check the error list in the menu, errors E00 through E04 are all displayed.

What should I do now? Please help.

Thank you.

yes that is correct to my understanding, V00_01_33 is the latest OSF hex file in the git hub

i havent updated the firmware on my EKD01 display , i think that is only necessary for the 860C or the SW102 which have more functionality

error 02 seems to happen when you start the display / turn it ON, and your foot is applying pressure on the torque sensor

although, i had an error 02 earlier today where even when my foot was removed from the cranks i couldnt fix the error 02, i pedaled really hard on the cranks and turned it on and off aagain and the error 02 went away.

I made a video here where I originally set up the tsdz8 osf with the mstrens/OSF firmware (using an ekd01)

I show the somewhat confusing process of calibrating the torque sensor, you might be getting the error 02 if your torque sensor isnt calibrated, Id try like 215 or 220 for the ADC no weight , and 450 or 460 for adc max weight (i measured up to 479 on mine) , I had to set Adc step to 12 to get the torque sensor to feel like it was doing something.

Im still messing around with it myself and Kind of scratching my head as to why the factory firmware felt much more powerful despite using the same power levels and battery current
 
Last edited:
i tried this osf out recently in eMTB mode and it does not work whatsoever, lots of error 7's for days, regardless of settings

it was easy to reproduce by using high settings like 1000W+ max power, and 21A + battery current, in eMTB mode when I go up a hill and pedal hard, error 7

i switched to hybrid mode, i got a couple error 7's but only 2 instances of the error over 27 miles, I was pedaling hard and hit a rock one time, and the other time i think i shifted it under load into a higher gear when i was throttling. SO, It seems like a sudden shock load on the motor can cause it to throw an error 7. (even when the battery amps and max power watts shouldn't allow it to get anywhere near the 31amp hardcoded max value that triggers the error 7)

I'm also not sure my TSDZ8 motor that I got in a kit from Powallon is measuring the current properly with the OSF?? not sure if there are different shunt resistors in different batches of motors?? Or what that might be related to? but when I configure it to 1100W, it will do about 900W max on my watt meter. The peak amps are always 2A or 3A less on my amp meter than I set in the configurator. It seems like it throws the error 7 because the firmware THINKS the amps are above 31Amps, but it seems like the measurement itself might be faulty, because my amp meter never shows anywhere near 31 amps, I think the most i have seen on my watt meter with OSF was like 1000W peak.

It seems like there is potentially a bug with the "TSDZ8" motor dropdown option in the java configurator. When I start up the configurator, and load my settings which were previously saved for TSDZ8 motor type, it always reverts back to TSDZ2 motor type in the dropdown for some reason, like the value isn't being saved, or the dropdown is buggy in some way. I havent actually double checked in the file to see what it's saving but i always select TSDZ8 and save it like that. And it reverts back to TSDZ2 for some reason
I've noticed on my freshly delivered sw102 with OSF, the assist levels are set very very high, and it seems to error 07 due to this. I can set the battery amps and max power to 20a, 1125 watts, and it'll be fine until I hit assist level 5, set to 254 as factory default from vendor. It'll then almost immediately break with an 07 overcurrent. I adjusted the level 5 assist values down and it resolved it.

Given this fw is doubling all/some of those assist values, I wonder is it possible that there's some issue there?

I'm taking a look through the source code to see how this all works and if my conclusion is valid or silly (i.e. am I fixing the symptom or the cause?) Either way it doesn't seem like the assist level being set oddly should cause an overcurrent situation.

And as it's my first post here, thanks to everyone involved in creating, maintaining, and porting this firmware.
 
I've noticed on my freshly delivered sw102 with OSF, the assist levels are set very very high, and it seems to error 07 due to this. I can set the battery amps and max power to 20a, 1125 watts, and it'll be fine until I hit assist level 5, set to 254 as factory default from vendor. It'll then almost immediately break with an 07 overcurrent. I adjusted the level 5 assist values down and it resolved it.

Given this fw is doubling all/some of those assist values, I wonder is it possible that there's some issue there?

I'm taking a look through the source code to see how this all works and if my conclusion is valid or silly (i.e. am I fixing the symptom or the cause?) Either way it doesn't seem like the assist level being set oddly should cause an overcurrent situation.

And as it's my first post here, thanks to everyone involved in creating, maintaining, and porting this firmware.

i think mstrens did not update the eMTB mode for the tsdz8 after porting from tsdz2? So Im not sure it works properly, i had lots of problems with error 7 in eMTB mode. Hybrid mode fixed most of my error 7s using default assistance settings.

it could have been related to my settings maybe, the TSDZ8 default settings.ini file that loads in the java configurator doesnt actually appear to have tsdz8 settings (seems more like tsdz2 settings) - So im not sure i started out with proper settings in the first place.

it seems to work better in hybrid mode , but a shock load or sudden change in resistance / RPM on the motor seems to cause the error 7, this can be caused by shifting gears, it also seems to happen when all of a sudden i pedal extremely hard on the torque sensor, i also have it happen when my rear wheel is going over a loose rock and then the wheel suddenly spins with no resistance, and then lands back on the ground with high resistance. So in general, a shock load or sudden change in resistance , or pedaling hard on the torque sensor, big changes or pulses in current, seem to cause error 7

several examples of error7 in various circumstances in this test ride,

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??
SW: B02NU_SYZN_TS02_N06
HW: B02NU_V1.01

the PAS levels in the factory firmware on my powallon tsdz8 are as follows,
250W
350W
750W
22amps or about 1100W
26amps , over 1300W

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.
 

Attachments

  • tsdz8 factory firmware hex powallon.zip
    37.9 KB · Views: 109
  • B02NU_TS02display_instrument_specification_V1.1.pdf
    1.4 MB · Views: 63
Last edited:
i think mstrens did not update the eMTB mode for the tsdz8 after porting from tsdz2? So Im not sure it works properly, i had lots of problems with error 7 in eMTB mode. Hybrid mode fixed most of my error 7s using default assistance settings.

it could have been related to my settings maybe, the TSDZ8 default settings.ini file that loads in the java configurator doesnt actually appear to have tsdz8 settings (seems more like tsdz2 settings) - So im not sure i started out with proper settings in the first place.

it seems to work better in hybrid mode , but a shock load or sudden change in resistance / RPM on the motor seems to cause the error 7, this can be caused by shifting gears, it also seems to happen when all of a sudden i pedal extremely hard on the torque sensor, i also have it happen when my rear wheel is going over a loose rock and then the wheel suddenly spins with no resistance, and then lands back on the ground with high resistance. So in general, a shock load or sudden change in resistance , or pedaling hard on the torque sensor, big changes or pulses in current, seem to cause error 7

several examples of error7 in various circumstances in this test ride,

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 tied to the PAS level, speed limit is set from the display

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.
For info, the size of 155k is normal if you made a copy of the whole flash memory with the J-link device. The firmware uses only part of the flash memory.
 
For info, the size of 155k is normal if you made a copy of the whole flash memory with the J-link device. The firmware uses only part of the flash memory.
New firmware from Varstrom is 96kb.
Is that the actual size of the firmware in the flash memory?
 
I will upgrade my Z8 to a new firmware but before that I want to know the current firmware version.
Is there a way to know the current firmware version of your motor?
 
i think mstrens did not update the eMTB mode for the tsdz8 after porting from tsdz2? So Im not sure it works properly, i had lots of problems with error 7 in eMTB mode. Hybrid mode fixed most of my error 7s using default assistance settings.

it could have been related to my settings maybe, the TSDZ8 default settings.ini file that loads in the java configurator doesnt actually appear to have tsdz8 settings (seems more like tsdz2 settings) - So im not sure i started out with proper settings in the first place.

it seems to work better in hybrid mode , but a shock load or sudden change in resistance / RPM on the motor seems to cause the error 7, this can be caused by shifting gears, it also seems to happen when all of a sudden i pedal extremely hard on the torque sensor, i also have it happen when my rear wheel is going over a loose rock and then the wheel suddenly spins with no resistance, and then lands back on the ground with high resistance. So in general, a shock load or sudden change in resistance , or pedaling hard on the torque sensor, big changes or pulses in current, seem to cause error 7

several examples of error7 in various circumstances in this test ride,

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 tied to the PAS level, speed limit is set from the display

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.
That is probably the same firmware that i did on my tsdz8 that i have from varsttom. They have not the updated firmware on it, but thing Shen made a file that you can put on the tsdz8 and improves the motor a lot.

I wish that they would update the software, so you can choose throttle settings on the display. As they ad a setting where you can choose different settings like walk assist mode, then it would be fine for me.
 
I will upgrade my Z8 to a new firmware but before that I want to know the current firmware version.
Is there a way to know the current firmware version of your motor?
It appears in the setup menu on my VLCD5 display. For example I have stock fw TSDZ_V5_1 which came with the lt I bought in March 2025.
 
It appears in the setup menu on my VLCD5 display. For example I have stock fw TSDZ_V5_1 which came with the lt I bought in March 2025.
In the EKD01 display I get:

SW: EKD01_TB_N22
HW: B02NU_V1.01

These seem to be versions of the display itself.
 
Last edited:
For your reference, here is the firmware for the TSDZ8 I ordered on July 27, 2025.
The display is:
SW: EKD01_UART_TSE_N22_bin (firmware upgrade) (previous: B02NU_10020_TS_N04)
HW: B02NU_V1.01

When compared with the firmware uploaded by ebikebuilder, the file size is the same, but some of the internal numbers (I’m not sure what they mean) are slightly different.

I am providing the file for you, but please note that all responsibility lies with the individual.

The place of purchase is Alibaba.
(This translation was made using a translation tool.)
 

Attachments

  • original TSDZ8-20250902.zip
    43.4 KB · Views: 51
So it seems that there is no way to read the installed firmware version.
 
For info, the size of 155k is normal if you made a copy of the whole flash memory with the J-link device. The firmware uses only part of the flash memory.
thanks for the clarification, I will try to re - save my factory firmware, without the entire flash, When I get a chance To see how big it is,

I tested my factory firmware again and its actually doing 25 AMPS. UP to 1250W peak. When I put it on 52V it seems to do about 25 amps as well, 1300W with a small 14s 2p battery

the PAS 1 2 3 feel fine in my firmware. So i think Tongsheng has fixed the issue where low PAS levels had no power from the torque sensor.

When I am in PAS 1 the torque sensor works great for a gentle assistance. Offsets the weight of the ebike and helps just a slight amount.


For your reference, here is the firmware for the TSDZ8 I ordered on July 27, 2025.
The display is:
SW: EKD01_UART_TSE_N22_bin (firmware upgrade) (previous: B02NU_10020_TS_N04)
HW: B02NU_V1.01

When compared with the firmware uploaded by ebikebuilder, the file size is the same, but some of the internal numbers (I’m not sure what they mean) are slightly different.

I am providing the file for you, but please note that all responsibility lies with the individual.

The place of purchase is Alibaba.
(This translation was made using a translation tool.)

Thanks for providing that factory firmware file for reference and comparison, i got mine on ali express from GREY WOLF EBIKES and they sell Powallon TSDZ8 kits.

I went for a ride again today with my factory firmware, works great, i think tongsheng has it figured out or improved it in some way.

I've had some intermittent error 2's with the powallon tsdz8 kit on my 52v battery, but it doesnt seem to happen on my 48V battery, otherwise everything is great with it

I think the TSDZ8 is going to give the CYC photon gen 2 a run for its money, at 1/3 or 1/2 of the price, It will be hard to compete with the TSDZ8 . I cant wait to see. I will be cheering for team TSDZ8.
 
Last edited:
I took a look at the code and it seems I was misreading when I thought this FW doubled all assist values, it looks like it only does it for POWER and HYBRID modes. Which makes perfect sense but I think the documentation is a little confusing there. I can raise a little PR to update the docs but I'm going to investigate the over-current issue first.

Just leaving this comment here in case anyone else was confused by this.
 
i did a little further testing and it seems 25 or 26amps is the max in my factory tsdz8 from powallon. Throttle seems to do full power regardless of PAS setting, from what i can tell.

IT seems like our displays all have slightly different software on them; I imagine the "dealer" or vendor flashes the display, to change the start up image, and so on

our displays themselves seem to be similar hardware, B02NU_V1.01 (i thought it was an EKD01 but its actually a B02N ??)

SW: B02NU_SYZN_TS02_N06
HW: B02NU_V1.01
 
  • Like
Reactions: hgg
Due to frequent error codes, I reverted back to the original setup. However, after having previously upgraded the display (B0NU) firmware to SW: EKD01_UART_TSE_N22_bin, I found that even with the factory firmware, pressing the "+" key + power key allows you to easily change the speed limit from 25 km/h to unlimited.
This is quite a meaningful firmware upgrade. For your reference
 
i've updated my previous post with a detailed manual on the behavior of my tsdz8 and how the "B02NU" display (EKD01 with bluetooth) interacts with the TSDZ8.

An interesting point is this manual has a list of error codes at the end which seem to match the behavor of my tsdz8 kit. One of the error codes is "error 1 temperature protection", so i wonder if my tsdz8 has a temp sensor?? or how does temperature protection work? because quite frankly, Im surprised I haven't damaged my tsdz8 with the factory firmware, I have read it does not have a temperature sensor, but at the same time I rode it in 100F temperatures to see if it would break, and it didn't. It seems to throttle the power when the motor reaches a certain temperature after riding for a long time

however, when I was using the OSF, i never saw a motor temperature reading, it always said 0

also , Has anyone experimented- :unsure:I wonder what happens if you use a firmware file that doesn't match the display software? I wonder if it would only be a communication error, or if something bad would happen?? :oop:
 
i did a little further testing and it seems 25 or 26amps is the max in my factory tsdz8 from powallon. Throttle seems to do full power regardless of PAS setting, from what i can tell.

IT seems like our displays all have slightly different software on them; I imagine the "dealer" or vendor flashes the display, to change the start up image, and so on

our displays themselves seem to be similar hardware, B02NU_V1.01 (i thought it was an EKD01 but its actually a B02N ??)
How are you measuring current/power? My EKD01 is pretty crappy when it comes to the power output readings, and does a terrible averaging job with a super long lag even when reading voltage. I get 1850W or more on a steep climb, and I can tell that’s not accurate even measuring by the seat of the pants. Im going to install my inline meter next time I ride just to see how bad it is. I haven’t tried checking the reading to my phone via Bluetooth, but I suspect it won’t be any better.
 
How are you measuring current/power? My EKD01 is pretty crappy when it comes to the power output readings, and does a terrible averaging job with a super long lag even when reading voltage. I get 1850W or more on a steep climb, and I can tell that’s not accurate even measuring by the seat of the pants. Im going to install my inline meter next time I ride just to see how bad it is. I haven’t tried checking the reading to my phone via Bluetooth, but I suspect it won’t be any better.
i've been using an inline watt meter. and riding on a MTB trail for a proper ride, then i look at the watt meter after like an hour. also throttle down the street for like 10 miles

I'm going to use a cycle analyst soon probably, so I can see the power usage in real Time...


My ekd01 / b02nu display does not even show the voltage properly, its a time averaged value, So I dont trust that thing to show anything beyond the speed.

I tried the "BIKEGO" app that connects to the display with bluetooth and i think its useless, unless you need to use navigation, But, if I need navigation, I dont use my ebike display... I will just use a phone on my handlebars... So IMO the bluetooth and BIKEGO and everything is pointless with my kit
 
Last edited:
I tried the "BIKEGO" app that connects to the display with bluetooth and i think its useless, unless you need to use navigation, But, if I need navigation, I dont use my ebike display... I will just use a phone on my handlebars... So IMO the bluetooth and BIKEGO and everything is pointless with my kit
Indeed, but there is at least one useful function.
You can use the BikeGO app to update the Display firmware via bluetooth.
 
Due to frequent error codes, I reverted back to the original setup. However, after having previously upgraded the display (B0NU) firmware to SW: EKD01_UART_TSE_N22_bin, I found that even with the factory firmware, pressing the "+" key + power key allows you to easily change the speed limit from 25 km/h to unlimited.
This is quite a meaningful firmware upgrade. For your reference
Thats not so much a way to unlimit it as a way to selectively limit it for legality according to the manual. Works the same on a Bafang motor also. It's kinda just a cheat code for legality in the USA. I'm surprised it was limited after flashing! I have a couple and neither of them were locked to 25km/h when I got them or after flashing.

Interestingly you can flash the TSE fw on a Bafang Ekd01, it's identical hardware, and I can confirm it works perfectly.

Unfortunately (for me!) the motor is still far too powerful so it's still EU/UK illegal (and would be even without this cause it's a simple unlock).

I believe the major change in that firmware version is the setting menu on Bafang Can-bus displays and the other two firmware were just released with it. Although I might be mistaken about that.
 
i've updated my previous post with a detailed manual on the behavior of my tsdz8 and how the "B02NU" display (EKD01 with bluetooth) interacts with the TSDZ8.

An interesting point is this manual has a list of error codes at the end which seem to match the behavor of my tsdz8 kit. One of the error codes is "error 1 temperature protection", so i wonder if my tsdz8 has a temp sensor?? or how does temperature protection work? because quite frankly, Im surprised I haven't damaged my tsdz8 with the factory firmware, I have read it does not have a temperature sensor, but at the same time I rode it in 100F temperatures to see if it would break, and it didn't. It seems to throttle the power when the motor reaches a certain temperature after riding for a long time

however, when I was using the OSF, i never saw a motor temperature reading, it always said 0

also , Has anyone experimented- :unsure:I wonder what happens if you use a firmware file that doesn't match the display software? I wonder if it would only be a communication error, or if something bad would happen?? :oop:
Nothing bad happens. It doesn't work though of course. Just a communication error.
 
I just installed the 860 firmware and oh boy. I was afraid of being a slug with osf but tuned right i feel like a rocket. I'm having a lot of fun with hybrid assist. Reaching full motor power. Throttle is very responsive and actually feels like a throttle. I'm watching motor amps and if it bounces off the hard limit it gives the feeling of being less torquey and loosing a lot of punch. I think this is where the less torque for same power comes from. Foc multiplier makes it peak higher. I find 25 to be a good value
 
Hi, thanks for sharing , great news !
Just a couple of quick questions:
– Did you actually use the 860C display with this firmware? I'm confused now with name of this firmware.... Did you also update firmware of controller ?
– Apart from what you mentioned in your post (FOC multiplier etc.), did you have to tweak or hack anything else to get it running properly?
I just installed the 860 firmware and oh boy. I was afraid of being a slug with osf but tuned right i feel like a rocket. I'm having a lot of fun with hybrid assist. Reaching full motor power. Throttle is very responsive and actually feels like a throttle. I'm watching motor amps and if it bounces off the hard limit it gives the feeling of being less torquey and loosing a lot of punch. I think this is where the less torque for same power comes from. Foc multiplier makes it peak higher. I find 25 to be a good value
 
Last edited:
Thats not so much a way to unlimit it as a way to selectively limit it for legality according to the manual. Works the same on a Bafang motor also. It's kinda just a cheat code for legality in the USA. I'm surprised it was limited after flashing! I have a couple and neither of them were locked to 25km/h when I got them or after flashing.

Interestingly you can flash the TSE fw on a Bafang Ekd01, it's identical hardware, and I can confirm it works perfectly.

Unfortunately (for me!) the motor is still far too powerful so it's still EU/UK illegal (and would be even without this cause it's a simple unlock).

I believe the major change in that firmware version is the setting menu on Bafang Can-bus displays and the other two firmware were just released with it. Although I might be mistaken about that.
The motor is legal as you limit it to 25kmh max and limit the throttle to 6kmh or remove the throttle.
The rules are a bit different than people think. Yes it is max 250w, but that is measured by a speed of 25kmh and a surten motor temperature. The power must than be max 250w. That it peaks over the 250w, is not a problem.
OTher e bike motors have also more than 250w power. That is why they call it nominal 250w.
So the motor is legal, even the 1000w.
 
Back
Top