-
-
Notifications
You must be signed in to change notification settings - Fork 741
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add TS101 support #1420
Comments
Trying to source one. Miniware so far have not shared any details (firmware, schematics). |
see if the word could be put out in the Miniware community if someone is willing to either mail Ralim a TS101 or easier if bunch of people can put some funds into the Sponsor link in top right of the screen (the heart). Miniware should send Ralim one since his open firmware runs on most of their products and makes people like using the Miniware products more (don't know if they will). The default miniware firmware is not as fun or good so it would be nice if Miniware could have more cooperation with open source IronOS. I know Ralim does this for the love of IronOS community. however, the community doesn't send him much love and coffee back (but rather many issues). See reference link below, there are over 155,000 downloads of open IronOS just for TS100 alone (yet maybe ~24 Kofi/coffees donated to for all his time and volunteer work over several years (most of those Kofi donations are from Pinecil community which is small % of downloads in comparison to TS100/miniware users). If even 10% of people donated 0.25 cents it would be meaningful since Ralim has a day job to pay for rent/food. I'd like to get that word out. And he tries to do everything he can to only use features on Github that are free and don't trigger the Advertisements. wouldn't it be nice if he could use some paid features but he can't afford it. this is not pressure (people do what they can with what they have). But if you are in any social media groups with other Miniware people, just putting out some friendly info to help people know how much work goes into firmware, and how little the community is aware of it, and ralim never asks, the heart sponsor link is barely visible. I also know he buys a lot of equipment and chargers with his own money to test them and improve issues. |
@Ralim I'm actually surprised they IronOS isn't the default firmware for Miniware irons, since it's just fantastic compared to default. Were you ever in contact Miniware about it? Or them supporting the project in any way? The least they could do, is provide 1 unit... @river-b good point. I really love IronOS (using on TS100) so I just donated 4 Koffis 😉 |
@Ralim, @river-b Miniware responded to my YouTube comment:
@Ralim Can you confirm? 😀 |
I've just got TS101. That's great improvement over TS100. And it's really useful updates unlike Pinecil64 v2.0 (BT addition is dumbest feature ever). I like new larger screen and clean interface. PD support. New slot for tip not requiring to screw it every time you change the tip. The only problem with original FW is bad work with non-original tips with noisy temperature sensors. Otherwise FW is great. |
Alrighty my TS101 has arrived. First a word of warning, don't rush to open it, (1) I broke plastic clips for the back cover (there is no screw). (2) You have to remove the front glass to get the screen out (if you just pull up on the PCB, you will tear off the screen). As such as I have not done a full teardown yet. First impression notes:
Biggest issue is that at the moment only have ~32k of flash to work with, which is small. Have dumped the firmware off mine, and started poking around, need to figure out pinmaps and do all the usual bringup mess. |
I personally don't like the new design. It's somehow bulky / non-fluid as opposed to the old TS100 design, more likely dictated by the parts size fitted in rather than the other way around. It's very unlikely I would buy this product. But then again, I already have four TS100 units so I would not be needing more portable irons any time soon. |
and who is interested in your opinion? |
I'm pretty sure you wouldn't be "talking" like that if you knew that this man contributed a significant part of the code that makes your device heat so precisely. Look here: #1038
Furthermore he literally asked for not being shot. 😞 |
@SubZer01 Please watch your tone, you are coming across super rude. I would rather not block anyone, but not against it. Making some gradual progress on this. Dont have a huge amount of time at the moment, but have started poking a flash dump in Ghidra. My rough plan is to:
I'll dump Ghidra and bins up sometime soon when I get more time, out of time for this weekend really. @sandmanRO EDIT: |
Actually Pinecil v2 have much more improvements than TS101. BT support is dumb, but 28v PD support & short tips (3 sec to heat up from 20C to 300C) is not. |
Just mini ware posted the firmware 1.09 |
really called it 1.10 |
but it's 1.09 |
Another update v1.11 |
|
I am planning to continue work on this, motivation is lower as I'm going to have to rebuild a lot of the firmware to support this iron, so initial firmware will probably not be great. So far all of the hardware pinouts I've found were done by an idiot, and so not going to be able to use hardware peripherals for things. Question for the community: the current bootloader wastes a bunch of space on the device. Is it worth pushing people to replace it or not? |
If flashing bootloader will go wrong, will it brick the device? If so, then it's better to avoid flashing bootloader unless it's absolutely required. |
Yeah it can definitely go wrong. Its a problem that can be decided later on I guess. Just concerned since bringing in a new device also implies full feature completeness (langues etc) which is currently a fair bit chunky. And having to software bang more hardware chews up more space again. |
will it require to flash original bootloader if for some reason an original firmware will be needed? |
As long as there will be a way to restore it to original, I'm fine with that. |
@Ralim Hello. sorry to bother you, I would like to ask if the firmware will eventually come out on ts 101? Is it worth waiting for this in the future? |
At this point I do not know if I will bother; it would most likely be a sub-par experience due to their hardware design decisions. |
They released v2 of their firmware which can go to 240w with PD3.1, that is crazy!! |
I had to poke them a bunch and give them a hand to get them to add EPR support to the unit. |
Or you could (in the firmware dump I posted) change the byte at offset 0x542c from 0xb3 to 0xb4 and the DFU will boot on any device. The constant to look for in the disassembly if you want to patch a different DFU version is 0x1ffff7e8 (the UNIQUE_ID register). EDIT: see this comment instead. |
The only thing that I could think of is sample1 and sample2 are used to correct the thermocouple's TEM (thermoelectromotive) voltage out of the offset induced by that 100k pull-up resistor. The tip resistance would be calculated along the way. When PA1 is high, the equations would be like these: VDD = I1 * R100k + Rtip * (I1 +I2) + TEM (1) where I1 is the current that flows via 100k resistor, I2 is the current that flows via 24k resistor, Vdiode is the diode forward voltage, Rtip is the tip resistance and TEM is the actual thermocouple output. We have 4 unknowns, I1, I2, Rtip and TEM. We need one more equation. When PA1 is low we have: sample2 = VDD * Rtip / (Rtip + R100k) + TEM (4) From eq. (1), (2) and (3): Let's have Itip = I1 + I2, by now a known value. Also, Rtip is significantly lower than 100kohm so Rtip + R100k ~= R100k. The eq. (3) and (4) would become: sample1 = Rtip * Itip + TEM (3') Subtracting (4') from (3') would lead to: sample1 - sample2 = Rtip * (Itip - VDD / R100k) so Rtip = (sample1 - sample2) / (Itip - VDD / R100k) So now Rtip is a known value as well. Then, using (3') we can also compute actual TEM: TEM = sample1 - Rtip * Itip P.S. The R100k value might actually be 100.03kohms. If I read correctly the addendum, there is also a 30ohms resistor along the path of VDD - 100k resistor - tip, between the 100k resistor and the tip. |
Apologies, that isn't quite right; I missed a few other places. Here's a patched DFU that will work on any device: Note: I only patched the bootloader. The stock firmware also performs the same UNIQUE_ID check, and this DFU will not let you run Miniware's stock firmware at all. But it will let you flash and boot IronOS even if you have previously erased the unique serialized DFU in your iron. |
Incidentally, while looking through the copy protection code, I found out what PA5 and the corresponding 2111/2225 device is for. There is a function in the bootloader that manipulates that pin and if the outcome isn't right, it displays "IDChip Err". Considering that what's connected to PA5 is a two terminal ASIC, it seems safe to assume this is a 1-Wire device or something similar, though I haven't reverse-engineered the protocol in detail and it doesn't look very much like 1-Wire to me. |
@VioletEternity so this is counterfeit measurement? :D |
The more I think this through the more I am convinced that the design has nothing to do with tip resistance measurements but rather an open thermocouple detection (ODT) that went overkill, that is they simultaneously used a static / passive OTD (via that 100k resistor) and also that dynamic OTD (PA1 + Diode + Resistor). The issue is, once you use a dynamic OTD there is no point in going redundant with a passive OTD and vice-versa. Moreover, the passive OTD shall NOT inject more than few nA into the thermocouple (TC) so the induced bias would significantly influence TC's TEM. Well, that is not the case here. That 100k pull-up would alter the results on a TS100 tip in excess of 12-13°C. Let's try to broaden the picture here: do we really need to measure the tip resistance? I think not. The Miniware T100 tips seem to be fairly consistent in terms resistance. I have a whole bunch of TS100 Miniware tips, from pin-point tips to the large horse-shoe. Their resistance slightly varies within 7.5-7.7ohms. Beyond that, the IronOS does not report the injected power in absolute terms but as a relative value, and for that you don't really need to know the tip resistance as the value comes out from the "duty-cycle" value of power modulation pulse. Although I do not have a TS101 (nor intend to have one for that matter as I'm happy with a TS100s I have already), I am told that TS101 does not report the output power in absolute terms either, but still as a relative power bar, same as IronOS does. Ok, let's assume we really WANT (as opposed to NEED) to measure the tip resistance using the math described above. We need to keep in mind that IronOS is using a hardware paced (hardware timers driven) ADC as opposed to the lame software polled ADCs used with Miniware firmware. To get this working, a new ADC injected channel would have to be configured in such a way it would be triggered when the PA1 rising edge while PA1 would have to go high precisely at the end of the power pulse gate, then go low, when a second ADC injected channel would be triggered, this time by the falling edge PA1 output, while PA1 output would be driven by yet another timer daisy-chained as slave to the power gate timer. Really? What a mess... Stay tuned as that's not all. Let's remember that all the data acquisition stuff has to fit in a very narrow window of time, between two consecutive power modulation pulses. The operational amplifier that handles the tip's thermocouple output has a capacitor on the negative feedback...good for filtering out noises but that also induces a small delay, so every time PA1 changes state, we need to wait a bit before we could take a temperature measurement. I don't know what the negative feedback capacitor value to calculate the precise delay needed, but if delay is in range of ms, the entire IronOS' ADC timing would have to be reconsidered, basically by slowing everything down and that would not be a good thing as it would affect the PID performance. Perhaps the best approach to measuring the resistance is to not do it continuously but only once per heating session, right before the session starts. Of course, @Ralim would decide if he wants to go ahead with this, but my suggestion would be to let IronOS as it is. That 250µV offset induced by the 100k pull-up resistor (+10°C offset) could be easily corrected via the temperature calibration offset, and the mechanism for that is already in place. In the end, let's remember that we are talking about a damn soldering iron and not a precision temperature measurement device. |
This is what I'm currently doing for PinecilV2, where I measure once at boot and roll with that. Since also keeping in mind if you change the resistance you (might) need to re-negotiate USB-PD. At that point its just easier to power cycle.
Since nearly all the units out there have this ~100K ish pullup resistor its similar for most. The current code assumes a certain uV offset on tips, included in that is this resistors impact. But yeah we are making a soldering Iron not some $200 measurement equipment 🙃 |
Hello Ralim, I see now. I missed that part with the USB-PD negotiation based on the tip resistance. (In my defense) TS100 is powered via DC barrel only. Lucky me, I guess... one less thing to worry about :-) |
what's problem to request maximum available current but use less current? In this case iron won't need to re-negotiate PD and simply use what is available. |
These tips are only resistive, and to meet PD specs; we can't draw more than the negotiated current. So the problem happens when you have a low resistance tip, it can mean that you can't negotiate the max voltage. For example 60W capped chargers for 20V,3A. If you have a 6 ohm tip, that will exceed the 3A and so you need to drop down to 15V. We can't pwm the tip anywhere near fast enough to just the pwm to regulate the current, nor do we have an inductor to filter it. |
@Ralim Hello there! Don't think it's arrogance, but could you tell me how many percent of the firmware is ready? |
43,37% Sound like you are manager. Managers ask such stupid questions. |
@Hoholok21 However, I would like to update that #1695 should be around about a testable working image now. |
For attaching the display cover glass I have found that this product works well. It is very thin, appears to be strong enough for the task, and is fairly cheap. |
Going to close this as done. All the hardware support for TS101 is now in |
@Ralim Thanks so much! I'm happily using my TS101 now \o/ |
Please as always feel free to open issues should things break of course. Otherwise, happy soldering 😜 |
Hi, @Ralim! Where can I get a your file for TS101 ? |
@RadioTek67 download latest dev CI build here: https://github.com/Ralim/IronOS/actions/runs/5643689459 |
It was brought up before that input voltage can be 28V for DC (what MINIWARE officially confirms). Nevertheless, that's a noticeable improvement and once fully supported, will be a nice direct replacement for TS100 :D |
I use a Microtik 28V 3.4A power supply with the TS101 soldering iron - no problems. |
I would like to flash my 101. When I connect it to PC it only shows 8kb total and free are 3kb. The hex file is to big. Have I overlooked something?? |
Are you in DFU mode? Seems not. Unplug the USB cable, press and hold the "A" button, plug the USB cable back in. The display now should show DFU |
Thank you for the explanation. Ofc I havn't pressed A. Now it works. |
@Ralim Is there a way i can install and go back to the stock firmware on the TS101? I'm sure IronOS is great if i actually understood what some of the features are for and how to use them properly. But for a simple person like me the stock firmware was easier to navigate, easier to toggle sleep/heat mode and it would boost to 450C which now it won't go over 429C no matter how many watts i push it to. |
You can always just flash the stock firmware back the same way, you just flash their firmwares .hex file (the same as you used to flash IronOS) Also small note: I would suggest never running your tip at 450C 😁 |
hi, where can i download ironos for ts101 now? previous link is expired. thanks |
|
Hopefully TS101 hardware will be easy to adapt and there won't be any bootloader issues.
The text was updated successfully, but these errors were encountered: