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

Yari

1 µW
Joined
Dec 16, 2022
Messages
3
Hi all, I got my 860C display that freezes when going in parameters, it shows Black screen with "0x2" and "0x80060b2" see picture attached. The only way to use it again is to shut down from battery. Any suggestions ? Should I flash it again ? I m using latest firmware. Cheers
 

mbrusa

10 kW
Joined
Dec 10, 2019
Messages
538
Hello embrusa, I'm sorry but I'm having trouble calibrating the human power display. I have a power meter to test the pedals, but no matter what I set, the values on the 860C display are about 30% too low. I had no problems with the V20.1C3. But in the C4 there are more parameters that seem to be interdependent. Unfortunately, my English is not that good either. Could you please give me additional help. Thanks.
Hi mallesepp, I assume you have enabled calibration and entered the values of "Torque adc offset" and "Torque adc max".
At this point the value of human power is estimated.
To get a more real value, you should also do the other calibration with a weight.
But if you have a power meter on the pedals it is useless to calibrate with the weight, try increasing the value of "Torque adc step adv" until you get human power values similar to those of the power meter.
 

mbrusa

10 kW
Joined
Dec 10, 2019
Messages
538
Hi all, I got my 860C display that freezes when going in parameters, it shows Black screen with "0x2" and "0x80060b2" see picture attached. The only way to use it again is to shut down from battery. Any suggestions ? Should I flash it again ? I m using latest firmware. Cheers
Hi Yari.
It can happen while navigating through the various menus that the display crashes, black screen with error number.
It's an inherited bug, I haven't figured out the cause yet. The display remains blocked, the battery must be disconnected.
It can happen at the first configuration, when looking at all the menus.
If this happens, avoid repeating the same navigation sequence. Or after having seen and modified 1 or 2 menus, exit the configuration, switch the display off and on again to modify others.
 

dsjustice

10 mW
Joined
Jun 6, 2014
Messages
20
The LM35 analog temperature sensor seems to be obsolete and I can't source any from reputable suppliers. There are knockoffs on aliexpress, but the buyer comments (and my one attempt at ordering a few of them) suggests that they are non-functional fakes.

I'm wondering if there's any possibility to use another sensor with different scaling? The TMP36 is cheap and available, but it scales 0V @ -50C to 1.75V at 125C. That's a shorter voltage range, but I'd think it would still provide enough resolution for the danger/not-danger indication we really need.
 

AnonJohn

100 µW
Joined
Feb 22, 2023
Messages
9
Location
DC
Hi — I'm hoping someone will help with what I feel is a simple question (and one that I've tried to get answered elsewhere to no avail). If there is a better place to ask please direct me? I love this firmware (thanks to all involved) but am increasingly suspecting I am trapped by a bad battery purchase decision.

I have a 36V battery from EM3EV, mated with a 48V TSDZ2 from ecocyles, running OSF v20.1C.4-1 and an 860C display. Many things are brilliant, including lighting, braking, and hybrid assist mode. My problem: I like to pedal at 90-100 RPM. The motor does not seem to. After about ~75 RPM the assist fades (regardless of assist level). It goes rapidly down to about 30 W and 1-2 amps of battery draw. This is with field weakening (it's worse without it, even under 90 RPM). PWM is pegged to 100, so I am led to conclude that the voltage is just too low from my battery (with the 48V winding in the motor).

So I have a ebike that is brilliant at low cadences (which my knees hate) and more or less non-existent at what are normal cadences for me. Sad. I mean, still good and an interesting ride but ... sad? I hadn't expected it to be so low in the 80-90 RPM cadence range (where it can work even w/o field weakening), and I had high hopes for higher.

Did I just blow it with the battery choice? Are there any configuration options to try?

If I spent the money for a 48 or 52V battery ... would it help? What kind of power might be possible in the 90-100 RPM cadence range? If this is the answer, any suggestions on what to do with a nice / nearly brand new / but not really satisfactory battery? It'd be nice to recoup some pennies on the dollar, but I'm expecting to take a bath. ☺

Any help or advice is most appreciated. FWIW the battery voltages seem normal. They start at 41V and fade toward 36, 37V as it is discharged.
 

jpdd521

1 µW
Joined
Oct 24, 2022
Messages
4
How do I save the original firmware of the 850C lcd?

After the firmware of my 850C is refreshed, the screen is black, and I can't boot up by pressing the power button.

Because I have another LCD of the same model. If I can save the original firmware, I can save this one.

I noticed that 98% of the firmware was stopped.

850C error1.jpg
 
Last edited:

jpdd521

1 µW
Joined
Oct 24, 2022
Messages
4
我在 850C 2021 年车型上遇到了同样的问题,并且能够解决它。我想如果有人感兴趣,我会分享我的痛苦之路,因为更多的人似乎有这个问题。

我的错误是:
- 使用 APT 刻录工具卡西亚诺和 MBrusa OSF 闪烁到 850C MY 2021 - 显示屏不再打开
- 尝试我发现的不同版本的OSF
- 我可能不小心刷新了一个非引导加载程序版本,不知道这是否使情况变得更糟
- 没有什么能让显示器恢复生机。

之后,我写信给Apt并向他们陈述了我的问题,包括背面写的显示信息。他们给我发了原始固件的*.bin,我尝试用Apt-burn工具闪烁。闪烁在99%处停止,没有完成,只是中断了。之后我无法启动固件的新更新,显示屏根本没有通过按开按钮启动闪光灯来响应。

在失去希望并认为我把显示器完全砌成砖块之后,我想我会用 ST LinkV2 克隆的 SWD 闪存再试一次(参见 github wiki),希望我能建立与微控制器的连接,看看它是否在响应。

它奏效了!!!使用原始固件使显示器恢复生机。

如果有人需要原始固件,请给我写一个PM,但固件因型号年份/月份而异。
I need to refresh the firmware through SWD, thank you
 

Blacklite

100 W
Joined
Jan 29, 2019
Messages
190
Location
Brisbane
Hi — I'm hoping someone will help with what I feel is a simple question (and one that I've tried to get answered elsewhere to no avail). If there is a better place to ask please direct me? I love this firmware (thanks to all involved) but am increasingly suspecting I am trapped by a bad battery purchase decision.

I have a 36V battery from EM3EV, mated with a 48V TSDZ2 from ecocyles, running OSF v20.1C.4-1 and an 860C display. Many things are brilliant, including lighting, braking, and hybrid assist mode. My problem: I like to pedal at 90-100 RPM. The motor does not seem to. After about ~75 RPM the assist fades (regardless of assist level). It goes rapidly down to about 30 W and 1-2 amps of battery draw. This is with field weakening (it's worse without it, even under 90 RPM). PWM is pegged to 100, so I am led to conclude that the voltage is just too low from my battery (with the 48V winding in the motor).

So I have a ebike that is brilliant at low cadences (which my knees hate) and more or less non-existent at what are normal cadences for me. Sad. I mean, still good and an interesting ride but ... sad? I hadn't expected it to be so low in the 80-90 RPM cadence range (where it can work even w/o field weakening), and I had high hopes for higher.

Did I just blow it with the battery choice? Are there any configuration options to try?

If I spent the money for a 48 or 52V battery ... would it help? What kind of power might be possible in the 90-100 RPM cadence range? If this is the answer, any suggestions on what to do with a nice / nearly brand new / but not really satisfactory battery? It'd be nice to recoup some pennies on the dollar, but I'm expecting to take a bath. ☺

Any help or advice is most appreciated. FWIW the battery voltages seem normal. They start at 41V and fade toward 36, 37V as it is discharged.
Yes - battery voltage isn't high enough to get to a higher RPM. The no-load (so highest) speed achievable with a certain voltage should scale linearly with voltage, so 48V motor running at 36V that gets 75RPM, if all other things being equal should get 100RPM @ 48V.

However, instead of changing the battery maybe you could just change the actual motor itself for the 36V wind one? The controller is the same, and you already have the OSF so can set the parameters appropriately. I googled up a replacement motor and I the first search I got was a replacement motor (either 36V or 48V) for $65 from PSW Power. Could be a good chance to add some heat pads between the motor and the casing as well at the same time. The wiki has info on how to do that, so there is a guide with pictures you could use. Would be an easy job, no special tools required.
 

jpdd521

1 µW
Joined
Oct 24, 2022
Messages
4
There are two .bin files for 850C displays.

850C_v20.1C.2-bootloader.bin
It is programmed on the display's serial port as 860C, using Apt software and a USB-UART converter.

850C_v20.1C.2.bin
It is programmed on the internal JTAG-SWD port using ST-LINK.
It is necessary to disassemble the display, recommended only for developers.
My 850C has been disassembled,

MCU is cleared with JTAG-SWD,

Use JTAG-SWD to turn 850C_ How many addresses are set when the v20.1C.2.bin program is flushed into the MCU?
 

Elinx

100 kW
Joined
Aug 9, 2019
Messages
1,389
...

I have a 36V battery from EM3EV, mated with a 48V TSDZ2 ...My problem: I like to pedal at 90-100 RPM. The motor does not seem to. After about ~75 RPM the assist fades ..
The max. cadence depends on the max. rpm.
A 36V 4000rpm or a 48V 4000rpm handle a max. cadence of about 90
If you run a 36V 4000rpm with 48V battery the max. cadence rises to about 120
If you run the 48V tsdz2 with 36V battery the max. cadence drops to about 70
With OSF and fieldweakening you can rise that max. cadence a bit, but less effective and not as high you want.
So for a higher cadence it would be better to use a >52V battery with 48V 4000rpm Tsdz2

Your options are:
- Replace battery (48V-52V)
- Replace bare motor (36V)
- Ad a DC-DC boostconverter

Imho the most clean and cost effective solution is the advice from @Blacklite to replace the bare motor and reflash the firmware for a 36V motor.
A DC-DC boostconverter is maybe cheaper but need to be wired and packed in a waterproof case with cooling.
 
Last edited:

jpdd521

1 µW
Joined
Oct 24, 2022
Messages
4
I received a response from apt with their stock version of the firmware for my screens S/N, here is a copy of their mail:

Hello

Please try firmware in attachment, we had to change some components because of Material shortage this year.

Best regards.

Johnny


If anyone is interested in the file please let me know. Display seems to be from a batch from july 2021
Can you provide it to me, friend? I also encountered the problem of not starting the black screen.
 

AnonJohn

100 µW
Joined
Feb 22, 2023
Messages
9
Location
DC
The max. cadence depends on the max. rpm.
A 36V 4000rpm or a 48V 4000rpm handle a max. cadence of about 90
If you run a 36V 4000rpm with 48V battery the max. cadence rises to about 120
If you run the 48V tsdz2 with 36V battery the max. cadence drops to about 70
With OSF and fieldweakening you can rise that max. cadence a bit, but less effective and not as high you want.
So for a higher cadence it would be better to use a >52V battery with 48V 4000rpm Tsdz2

Your options are:
- Replace battery (48V-52V)
- Replace bare motor (36V)
- Ad a DC-DC boostconverter

Imho the most clean and cost effective solution is the advice from @Blacklite to replace the bare motor and reflash the firmware for a 36V motor.
A DC-DC boostconverter is maybe cheaper but need to be wired and packed in a waterproof case with cooling.
Blacklite, Elinx: Thanks for the comprehensive, creative, and specific answers. Very helpful. I will explore the options. Nice to know that there are several out there that should work. I'd never have considered replacing the motor, but now that you've pointed it out it seems the sensible path.

My main concern with that is that I'm not setup to do the flashing. I'm comfortable with the software side and have been going through the code, but less so on the hardware. Elinx, you say that I would need to reflash the firmware, but Blacklite says I could just reconfigure it (since I'm already running the OSF)? Elinx, maybe you just assumed I was running stock?

Cheers and MANY thanks again!

John
 

Elinx

100 kW
Joined
Aug 9, 2019
Messages
1,389
...running OSF v20.1C.4-1 and an 860C display. .....
....Blacklite says I could just reconfigure it (since I'm already running the OSF)?....
Oh, didn't see you have an 860C.
With stock display you only can change these setting with javaTool and flashing again.
In your case Blacklite is right and you can reconfigure from 36V to an 48V bare motor on display, without flashing.

Sorry for the confusion
 

mbrusa

10 kW
Joined
Dec 10, 2019
Messages
538
The LM35 analog temperature sensor seems to be obsolete and I can't source any from reputable suppliers. There are knockoffs on aliexpress, but the buyer comments (and my one attempt at ordering a few of them) suggests that they are non-functional fakes.

I'm wondering if there's any possibility to use another sensor with different scaling? The TMP36 is cheap and available, but it scales 0V @ -50C to 1.75V at 125C. That's a shorter voltage range, but I'd think it would still provide enough resolution for the danger/not-danger indication we really need.
It's an option I've already considered.
In 860C it is already present, it must be enabled in configscreen.c and then recompiled.
If you need it now I'll do it, otherwise in the next version.
 

dsjustice

10 mW
Joined
Jun 6, 2014
Messages
20
It's an option I've already considered.
In 860C it is already present, it must be enabled in configscreen.c and then recompiled.
If you need it now I'll do it, otherwise in the next version.

Thanks mrbusa, I don't need it right now! I have a spare motor coming; once it's on the bench I'll see if I can build and flash from source. Much appreciated though.
 

jgold

100 µW
Joined
Oct 2, 2020
Messages
7
I'm posting this in case anyone else runs into a similar issue. I've had my wife's bike running on the 860c_V20.1C version since Jan 9, 2022. It's been running great. About two weeks ago we were out riding and the thing just stopped working. She was running the motor at a higher assist level (5) than normal (2) since she wasn't feeling well. We could shut the power off at the battery and turn it back on and it would kind of work for a while then quit again.

When I got it back home I started checking things. I checked the battery and it was fine. I check the torque sensor and it was also fine. It felt like the motor would run but had almost no power. I figured it was either the blue gear getting stripped out or maybe the motor or the controller. I ordered replacements for all three and went ahead and installed them. No difference. It's like it was tired and just didn't want to go. I tried calibrating the torque sensor but it looked like it was giving the same general values as when I did it in 2022. Finally, I tried flashing the new version V20.1C.4-2. Still didn't change it.

Well, I found the problem. This is the punch line so please be kind. It was the max motor power setting! Somehow it got set to 25W when the default is 450W.

I don't know how that one thing got changed but changing it back to 450 turned the bike into it's old self. To be fair there seems to be a lot of similar settings and trying to understand them all is confusing. 25W doesn't intuitively equate to push from the motor so it wasn't obviously wrong unless I was comparing it to the defaults. I guess I could have tried setting everything to the defaults but the settings for the battery were all correct and I didn't want to have to enter them all again.

Anyway, if your bike seems to want to run but doesn't have any real power, check that max motor power setting. That might be what is screwing it up.
 

jgold

100 µW
Joined
Oct 2, 2020
Messages
7
P.S. I had a heck of a time getting the 860c firmware update to work. I'm using the bootloader device from EcoCycles. It identifies itself as a Silicon Labs Cp210x. I could not get the serial drivers to work on Windows 10 LTSC. I ended up using an old Windows 8 virtual machine to do the upload. What are you all using? Is there something newer? The APT Burn Tools error messages leave something to be desired.
APTBurn.png
 

amberwolf

Administrator
Staff member
Joined
Aug 17, 2009
Messages
38,368
Location
Phoenix, AZ, USA, Earth, Sol, Local Bubble, Orion
If it had been working fine, and then suddenly while riding the setting was wrong without having gone into the menus to change it, it could be either a bug in the software that somehow altered the data during the ride, or a random hardware (memory cell) event that changed the contents of that setting's value. (sometimes this could happen from particle radiation, like cosmic-ray events, etc, or from a faulty memory cell that doesn't fully write (so it sometimes reads incorrectly or actually changes value).

If it's a hardware issue, it's possible it could happen again with whatever is stored in that location (which may not necessarily be the same data, could end up being code instead, depending on how the software works--if it allows the code to specify an exact memory location for a variable's data, it would be the same data in the same location all the time---otherwise it could be anything or nothing in that location).

Given the value difference, it is probably not a single-bit error, and so probably not a hardware memory location fault (or particle radiation event). 450, if directly converted to binary and not stored as some relative value, is a very different number from 25. I don't know how the system menu /etc works on this one, but if it doesn't actually have you enter the value but rather choose from a list of values, it might have a storage system that in binary allows for bit-faults to give 25 instead of 450.
 

mbrusa

10 kW
Joined
Dec 10, 2019
Messages
538
Well, I found the problem. This is the punch line so please be kind. It was the max motor power setting! Somehow it got set to 25W when the default is 450W.

I don't know how that one thing got changed but changing it back to 450 turned the bike into it's old self. To be fair there seems to be a lot of similar settings and trying to understand them all is confusing. 25W doesn't intuitively equate to push from the motor so it wasn't obviously wrong unless I was comparing it to the defaults. I guess I could have tried setting everything to the defaults but the settings for the battery were all correct and I didn't want to have to enter them all again.

Anyway, if your bike seems to want to run but doesn't have any real power, check that max motor power setting. That might be what is screwing it up.
The maximum power of the motor, in my versions, can be changed in the Motor menu, in Casainho's version not.
It was only editable with a key combination without entering the configuration menu.
This feature is still there, you probably changed it without realizing it.
A confirmation is 25 which is the minimum value and can only be set for multiple values of 25.
You can find the procedure in the manual, press the "+" and "ON-OFF" keys simultaneously, then modify with the "+" and "-" keys.

Hi mbrusa,

When I downloaded the link from your signature line for the TSDZ2-v20.1C.4-2-860C.hex file it has a size of 60.1kb. When I download it from here: TSDZ2-Smart-EBike-860C/releases/v20.1C.4-2-860C at master · emmebrusa/TSDZ2-Smart-EBike-860C, it's 468kb. I think the 60.1kb file is correct but would just like to confirm that. Any idea as to why they are different sizes?

Thanks!
I don't know why you have this difference.
I tried downloading both, one is 57.9Kb and the other is 58.7Kb, comparing them they are identical.
 
Last edited:

leoguzynski

1 µW
Joined
Feb 25, 2023
Messages
1
Location
North Carolina
I'm unable to flash my 48v TSDZ2B with VLCD5. I purchased st-linkv2 from Aideepen. I suspect the st-linkv2 to be the problem. However I want to confirm:

When I follow the instructions for flash ( here: Flash the firmware on TSDZ2) it suggests that "If flashing does not work, try turning on the display."

I can never get the display to turn on when connected to the stlinkv2.
- I've tried with both 3v and 5v
- I've tried with and without swim_rst
- I've confirmed with meter that stlinkv2 does read proper voltage.

Should the display come on?
I suspect an improper stlinkv2, does anyone suggest a quality one in the US market?
 

wgaca

1 µW
Joined
Mar 7, 2023
Messages
4
Location
London
I spent the last 2 days trying to flash my sw102 and tsdz2 with no success

Can someone provide a link to the full hex file for sw102 that actually works? The only one that detects the motor and reads the sensors is 0.19.15 found here (Releases · OpenSourceEBike/Color_LCD) but won't actually provide assistance when cycling.

This has been the most frustrating thing I have tried recently. I also tried emmebrusa firmware but it sits at "waiting for tsdz2" using v v20.1C-860C

Can someone who actually have sw102 running provide the full hex file they are using?
 

pickerd

1 µW
Joined
Jan 17, 2023
Messages
3
Sorry if this has already been discussed .. I have tried to search.
I have a TSDZ2B with 36V 350W motor and a VLCD6 display.
I am struggling with displaying the battery %soc on start up and on demand when selecting the lights on.
It always reads 99.9% I think.
My configurator is set as attached.
Can anyone help me with this?
What are the values circled on the attachment for and what values should be used?
Thanks

Update - sorry I'm struggling to add the attachment
 

jgold

100 µW
Joined
Oct 2, 2020
Messages
7
The maximum power of the motor, in my versions, can be changed in the Motor menu, in Casainho's version not.
It was only editable with a key combination without entering the configuration menu.
This feature is still there, you probably changed it without realizing it.
A confirmation is 25 which is the minimum value and can only be set for multiple values of 25.
You can find the procedure in the manual, press the "+" and "ON-OFF" keys simultaneously, then modify with the "+" and "-" keys.


I don't know why you have this difference.
I tried downloading both, one is 57.9Kb and the other is 58.7Kb, comparing them they are identical.
I don't think it was changed accidentally. The bike was being a little weird. We had gone on a 12 mile ride a few days before and had forgotten to charge it. The display said 100% however when it probably should have said 80% or so. We had gone about 10 miles running at a higher power than normal when the bike just turned off. Display, motor, everything just shut down. When we turned it back on it worked but had the low power problem.

Maybe we had some kind of power issue. As you know, that can do unpredictable things to electronics.

I figured out what I did wrong with the download from TSDZ2-Smart-EBike-860C/releases/v20.1C.4-2-860C at master · emmebrusa/TSDZ2-Smart-EBike-860C. If you just click on the file from that page it displays it on the screen. I tried right clicking and saving it instead. The resulting file was an XML document. That's why it was bigger. I'm not great at how Github handles files and downloads so that was my fault but at least the mystery is solved. Sorry for wasting your time on that. I should have looked at the actual file.

Do you have a donation page for people who want to support your work?
 

mbrusa

10 kW
Joined
Dec 10, 2019
Messages
538
I spent the last 2 days trying to flash my sw102 and tsdz2 with no success

Can someone provide a link to the full hex file for sw102 that actually works? The only one that detects the motor and reads the sensors is 0.19.15 found here (Releases · OpenSourceEBike/Color_LCD) but won't actually provide assistance when cycling.

This has been the most frustrating thing I have tried recently. I also tried emmebrusa firmware but it sits at "waiting for tsdz2" using v v20.1C-860C

Can someone who actually have sw102 running provide the full hex file they are using?
Up to v20.1C.3 there is positive feedback, only hang issues in the setup menu requiring battery disconnect.
I don't have a SW102 to test, but I think it works with v20.1C.4 as well.

I don't know if it works on newer displays as well, but if you see "Wait TSDZ2" the firmware is loaded correctly.
Obviously the hex file to be flashed on the motor controller must be of the same version.
With the display on, check the voltage between Vin and GND, there must be battery voltage.
Have you tried swapping TX with RX yet?
 
Top