PLEASE NOTE: If you had an account with the previous forum, it has been ported to the new Genetry website!
You will need to reset the password to access the new forum. Click Log In → Forgot Password → enter your username or forum email address → click Email Reset Link.
I now have 4 of these makeSkyBlue V118 charge controllers.. I took the lid off one and saw the micro..it says BettSun BTS2085 (I think) printing is tiny..its a quad pack with about 12 legs on each side = about 48..too small to see, again..I have never heard of BettSun..this must be a in-house branding of the real micro..does anyone know the real micro??
regards-- meaCulpa
this must be a in-house branding of the real micro..does anyone know the real micro??
I believe your guess is correct here. I don't know for sure, but I would be highly surprised if they've changed the MCU, especially when the "BettSun" unit still sports "v119" firmware.
The MCU used to be a Nuvoton 32-bit ARM-core processor; unfortunately I don't have any of those "older" MSB units, and the only unit I have has the rebranded "BettSun." But from my web search history (when I looked up the previous one out of curiosity), I believe the original MCU is a Nuvoton NUC100LE3AN (closest I can find on the Nuvoton website is a "DN"... https://www.nuvoton.com/products/microcontrollers/arm-cortex-m0-mcus/nuc100-200-advanced-series/nuc100le3dn/ )
EDIT: I did find out what the MCU was (NUC029LAN):
<iframe allowfullscreen data-embedauthorid="2" data-embedcontent="" data-embedid="embed7008524099" style="height:295px;max-width:500px;" data-embed-src="/topic/411-what-is-the-micro-controller-in-a-makeskyblue-mppt/?do=embed&comment=7334&embedComment=7334&embedDo=findComment">
Technically, as I do have a Nu-Link-Pro Nuvoton ICP/ISP tool--and I don't care if I brick the MSB--I could technically try to get a chip ID out of the "BettSun" for positive ID.
If I could find my photos of the previous board/MCU, I could check pinouts and be able to say for sure...
I was headed that same direction..havent bought a Nu-Link-Pro yet, but what I wouldlike to do is see if the binary program could be downloaded and inspected.. I want to change the dumb Doo-D06 to meaningful terms like FLOAT, BULK, etc.. drives me crazy having to try and remeber all this dumb Do crypto.. they have a decent display..what do the do with it..?? they print out cryptic meaningless abbreviations do-do6 .. thanks skyblue.. clownworld..
Nuvoton NUC100LE3AN this looks like a possible match!! thanks..
I have a v118 that I bought on ebay recently..says for parts only-- so when it comes in I suspect it will be junk..I plan on
trying to work with it and see if I can clean up some of their crap.. or brick it..whatever comes first..
I downloaded eclipse..I was surprised it installed flawlessly on Ubuntu 21.04.. sweet..
I seriously doubt that you will be able to download any firmware from it--all MCUs have a "code protection" bit that I pretty well guarantee you will be set.
What you CAN do is desolder their WiFi dongle and cobble a serial adapter to it and get some stats/data from it--and print it on a meaningful screen.
I will say (having just started to work with Nuvoton MCUs this year) that their ecosystem is extremely crude. But the MCUs are extremely powerful and cheap--possibly because the ecosystem is SO hard to work with!
Spent some frustrating weeks trying to get a dev system working for their (very cheap but highly capable) MS51FB9AE MCU--which their official system only works on Windoze, and costs some $3k for a Keil uVision license. Managed to get it working with FOSS (free open source software), but boy was it difficult!
You can buy some Nuvoton supplies from Digi-Key (alternatively, you can purchase direct from Nuvoton). I don't think Nuvoton has a "Nu-Link-Pro" driver for Linux...though if you're really handy you'll probably be able to either find something or hack something together 😉.
The "Nu-Link-Pro" driver I'm using on Ubuntu for the MS51FB9AE was an open-source project on GitHub...which was forked, and someone else added the necessary processor support.
You can't read the code in normal ways but that doesn't exclude all the usual tricks to see if the micro will leak. MSB's earlier firmware escaped and that resulted in PowMr knock offs so they are pretty paranoid about it now. I have read on 'certain forum that will not be named' that 118 has been obtained but 119 is still a black box.
I found this on ebay--
https://www.ebay.com/itm/193810851848?hash=item2d2006e808:g:-V0AAOSwOkRf3LX9
but I am feeling kinda stupid right now..I am looking everywhere on novoton's eclipse IDE and I dont see anywhere where to install/connect/use a programmer.. simply dont get it..all the bells and whistles in eclipse and no chipprogrammers..???..
Sid I assumed any usb programmer was a 'dun deal' as far as drivers for it.. yikes.. nownot sure if I want to walk out on the thin ice..
U are right..the ncu100 likely has some kind of software protect bit or fuse.. I quickly looked over the datasheet and didnt see anything so my hopes were raised and now dashed again..
TheButcher-- OK on the leaked firmware/data.. really I dont have any interest in their software.. what I want to do is grab an insight into the pinout workings..a schematic would be manna from heaven-- that will never happen so I was hoping to de-compile the running code and try and figure out what is driving what..the hardware is decent --IMO-- the firmware is kinda junky.. and now looking at the display--it almost looks like it is some weirdo 7 segment main display area therefore making it worthless for any normal wording display..good grief..this is nuttso..
my initial goal was to re-program their ncu100 (or whatever it is) with decent software and finally have a nice/cheap mppt controller..this simply may not be in the relm of reality the more I look into it.. sad..they were on the right track.. just didnt happen..at least not yet..
regards-- jackin arkansas
I think if it could be figured out what cpu pins are doing what,,,,then maybe just unsolder the old cpu and install a new one with all new program.. Instructables had quite a nice mppt project.. I think there is plenty of freeware mppt by now that a better overall program could be put together..the display might be a problem,,, might have to be replaced with a large OLED simple one-color to keep current drain down to a minimum..and shut off the display when not in use after a while, or dim it or something..the switches could remain the same..
I have one 118 that it refuses to STAY on whatever display u select..it switches around all on its own..OI suspect the switches arent de-glitched quite enuff..
https://www.instructables.com/Arduino-PV-MPPT-Solar-Charger/
I found this on ebay--
I couldn't quite figure it out either; I got a Nuvoton dev board with a built-in programmer...followed the step-by-step instructions and got the Eclipse IDE to work with it...but I couldn't figure out how to use it properly.
For Windoze, there's drivers and a programmer for the entire product line. But I couldn't figure out how to connect those to Wine, etc.
That particular programmer is for the N76E003, which is an 8-bit product family. Not the 32-bit ARM core of the NUC100.
Nuvoton seems to have quite the convoluted programmer ecosystem, which doesn't help either...
For example, the "ICP-ISP" programmer...is only for the 8-bit product families: https://direct.nuvoton.com/en/isp-icp-programmer
The "Nu-Link-Pro" (which I have) is for most of them (NuMicro M0 / M23 / M4 Family & 8051 (1T): MS51 / ML51 / N76E Series.) Worth noting that the NUC100 is under the "M0" family.)
They also have the "Nu-Link", but I'm not fully sure what all it supports.
Worth noting that both the "Nu-Link-Pro" and "Nu-Link" say that they are a USB-SWD bridge. That right there might be a huge clue...
The goldmine basis of a Linux programmer that I found for the 8-bit series is https://github.com/erincandescent/nuvoprog . But on that homepage, he DOES reference OpenOCD. Considering the above USB-SWD bridge programmer modus, as well as the fact that MOST of the Nuvoton processors are ARM-core based...there might be some way to pull these pieces of the puzzle together?
If you can get the official Nuvoton ICP tool to work w/ USB (should be easy in Windoze, but if you're on Linux, maybe you can sort it out--I couldn't!), that makes life CONSIDERABLY easier, as it should work with the Nu-Link-Pro programmer on the entire Nuvoton product line. One of the downloads on this page...! https://www.nuvoton.com/tool-and-software/software-tool/programmer-tool/
I have to say, this sort of convoluted ecosystem is why I'm not surprised that Nuvoton processors are in ready stock, and so cheap. If someone can capitalize on the lack of ecosystem, it's a goldmine--especially in the chip shortages when ALL of the common chips (ST, Microchip, Atmel, etc.) are hard to find and/or simply out of stock.
U are right..the ncu100 likely has some kind of software protect bit or fuse.. I quickly looked over the datasheet and didnt see anything so my hopes were raised and now dashed again..
That quite stymied me when I was trying to figure out the Nuvoton stuff the first time...ALL processors that I've used (mostly Microchip) have "configuration bits" that configure initial oscillator, code protection, peripheral control, etc., etc. And for some inexplicable reason, I can't find anything about "configuration bits" in ANY of the Nuvoton stuff.
But when I did finally get the MS51FB9AE programmer thing working (8-bit MCU)...wouldn't you know, there were configuration bits to set (and code protection is one of them).
I think if it could be figured out what cpu pins are doing what,,,,then maybe just unsolder the old cpu and install a new one with all new program..
Chances of finding a pin-compatible MCU outside of the Nuvoton ecosystem are slim to none. But not impossible.
Great info..thankyou..all things considered--at this point-- I think I will bail on nuvoton products and programmers..
seeed studio has a XIAO which I have used on a project and it does great..it is also a cortexM0 but it clocks at twice the rated speed apparently of the ncu100 series..48mhz vs. 24mhz..
why jump thru all their nuLink hoops just to slow down to half speed??..
my new thinking: make a new display board..for a large OLED.. but also put the XIAO there on that display board..XIAO is tiny and only costs 5 bucks..QT PY is same thing as XIAO..both work great and are programmable with arduino IDE..
then just remove the ncu100 and fly jumpers to the appropriate signal points and power/gnd to the XIAO..
skyblue looks like they did a great job of designing the switchers..nice fast FET drivers and floating power supplies and all caps are 105C..
just needs a decent display and user-friendly GUI..
seeed studio has a XIAO which I have used on a project and it does great..it is also a cortexM0 but it clocks at twice the rated speed apparently of the ncu100 series..48mhz vs. 24mhz..
Well, you don't need all that processor speed in the first place--not unless the Arduino abstraction layers slow the MCU down too much.
my new thinking: make a new display board..for a large OLED.. but also put the XIAO there on that display board..XIAO is tiny and only costs 5 bucks..QT PY is same thing as XIAO..both work great and are programmable with arduino IDE..
Just before you jump out and buy a couple of those boards, there's two significant problems to consider first:
- The XIAO is 3.3v only. The NUC100 supports up to 5.0v, and I believe the MSB runs it at 5.0v. This means that you'll likely end up needing to redesign ALL of the analog feedback circuitry to a 3.3v scale instead of the 5.0v designed scale. Prepare to get very familiar with SMD rework...!
- The XIAO is simply too small. 11 I/O pins will go...well...right about nowhere if you add everything up:
- figure at least 3 I/Os for an SPI OLED display
- probably another 3 I/Os for buttons
- 2 I/Os for UART comm (if you want computer connection)
- 4 I/Os for the synchronous MPPT buck drivers (2 per phase, as they're run out-of-phase to reduce output ripple)--these will need driven with proper half-bridge PWM control outputs on the MCU (dead time, current limit, etc.), and definitely not "a simple Arduino PWM command." You'll likely need to dig into the processor datasheet and start poking values into registers to get the necessary functionality--that of course is assuming it does have at least 2 half-bridge PWM modules. (Disclaimer: I haven't studied the MSB design, so you'll have to figure out what they did and what it needs.)
- 4-5 analog I/Os (input/output voltages & currents, temps)
- and keep at least another 4-5 I/Os for spares/expansion. (I haven't studied the MSB design, and don't know what else may need controlled.)
Good points.. pin count would be the major drag.. keyboard selection could probably be reduced to a single adc pin count with ladder resistor network..
OLED I2C pin count is only 2..thats 3..
ok 4 fast (48mhz helps here) outputs for all the switching crap.. thats 7..
batt amps, pv amps.. 2 adc.. thats 9..
temp .. thats 10..
the goofy lightbulb thing.. thats 11...
To be perfectly honest..I dont see a PV amps sense circuit.. only a battAmps sense circuit.. the only thing available on display is PV volts..
I have noticed something goofy going on..I have 'stacked' various configurations of panels to total various PVvoltages..the skyblue controller seems to settle at the wrong voltage point for max transfer of power..I really dont think the mppt software works..
example: select a panel that shows its max output voltage where that will be close to the battery voltage at near full charge.. then hook that up to the skyblue PV input..make a note of BattAmps..
then add another panel to that same panel..(another 18V or maybe 32v).. now look at battAmps.. its always less.. GO FIGURE..