Just for reference:
I just received a KSGER "2.1s" unit. It's what's called around here a "ve2.1s 'r2'". Except, it has a STM32F103RBT6 (128K flash). I'm guessing they buy the cheapest which are available when they do a run. #dreamcat4, you may want to note that on your page.
Pulled #DavidAlfa code from here. I think I've got it moved over to the B version (in addition to less flash, B doesn't have timers 6 & 8 ). Why does ST make this so hard??? Have an MCU on order to try (so I can unsolder the original as a backup), but it's not a B, I'll see how it works.
In any case, let me suggest that the STM32F103RBTx be used as the future target. AFAIK, that should be forward compatible with the C and higher versions. As David said:The actual purpose of this project is to make a compatible firmware -with- existing soldering stations, just as they come from aliexpress, ande require the minimum modding from the user.
Looking through github, I didn't see any obvious versions which support I2C displays, like the #DavidAlfa code mentioned above, including his git. Is the intent to eventually allow that to be #define'd into the mainline code?
Oh, don't be shy. Select the B part even if you have a "8". 99.99% It will work.
The fw is still made for the 8 in mind.
The project properties will say it's a B, I noticed that when creating a new project, It always select the B part on the preprocessor define, no matter if you choose a 8 or a B.
It's the linker script what limits the flash.
Anyway, the code will work the same between R, C versions... the pin coun't doesn't matter, the core is the same.
Only few adjustments are required. Yes, we were figuring out the correct way to unify everything.
But Stm32 Cube Ide gave some trouble, so in the end I'll probably have a folder for each hw with the base project and few definitions, requiring the user to copy it to the project root. Not a big mess.
The i2c is barely tested yet, there's a secondary branch for it, pretty old, I just made the i2c work in DMA mode and left it there.
I will soon add the i2c support to the main branch.
But it's hardware i2c, these ksgers don't use it. A simple 2-wire mod will fix this, check this:
https://www.eevblog.com/forum/reviews/stm32-oled-digital-soldering-station-for-t12-handle/msg3319738/#msg3319738As if i2c wasn't already slow enough, so to make matters worse they used software IO! Those chinese must be high... or their water poisoned
.
Sorry for the multiple posts!