UPS and wide range DC-in HAT can't initialize

mustafaxfe New Member Posts: 4

I have bought Up Board and S.USV UPs (UPS module) with its official 3000 mAh Lipo battery.
While using S.USV hat with 3000 mAh battery my system was working without any issue.
My 3000 mAh lipo battery is dead because of overheat (my guess). So without waiting for delivery to Turkey. I bought an other 3.7V, 900 mAh battery and connected it to S.USV hat.
My main issue that my hat ( S.USV ) can't initialize also its PSU GREEN led is blinking all the time.

Also I can't use their software to check my battery condition.

connecticals@connecticals-UP-CHT01:/opt/susvd$ sudo ./susvd -start
[sudo] password for connecticals:
S.USV still Daemon running... PID: 903
connecticals@connecticals-UP-CHT01:/opt/susvd$ sudo ./susv -status
Unable to select I2C device

Also I tried to update hat's firmware but it gives:

connecticals@connecticals-UP-CHT01:/opt/susvd$ /opt/susvd/susv -flash /opt/susvd/fw/susv_fw_251.pi.hex
failed to switch to bootloader (invalid address?): No such device or address
How can I make initialize my hat.
Thanks in advace.



  • mustafaxfe
    mustafaxfe New Member Posts: 4

    I have discovered that it is initializing and charging its lipo battery while using Linux kernel 4.14 and 4.15. But it is not working with the kernel that included in linux-image-generic-hwe-16.04-upboard package.
    I have still some problems. First, its current charge level is 85% so I want to use it without dc plug.
    But, when I unplugged it, it powers off. Also result of ./susv -status says its powering source "Primary",.
    How can I set this to battery.
    Also I need patches and configs from ubilinux kernel so, should I compile it by hand or are there some packages which maintain by individuals.


  • beaker
    beaker New Member Posts: 16

    Is this still a problem for you?

    Curious if this board requires specific firmware/software in order for it to function as an UPS out of the box or if it can work as an UPS as it arrives without the additional features granted by interfacing with it.

    It would seem to me the best approach would be to allow it to function as an UPS without interaction (graceful shutdown) with the board it is attached to in the event of a power outage and just run until the battery gets below a specified threshold.

    I don't think this is the way it is configured out of the box though. From reading around it appears you have to interact with it with special drivers and firmware just to get it to power the board it is attached to once mains power is cut.

  • olmatic
    olmatic New Member Posts: 5


    the UPS module has been designed so that the system is able to supply the entire system with the battery in the event of a failure of the primary power source even without firmware or software - for this purpose, the input power is continuously checked and analyzed. Without the use of firm or software packages, the system is operated by battery until a primary power source is recognized again, or the remaining capacity of the battery is <15% and the system is shut down automatically.

    Our modules, including their software and firmware packages, are generally compatible with all Linux distributions - for other operating systems such as Windows, we recommend adapting our I2C API, which contains all relevant parameters. The registers are described in detail in our manual. In addition, the S.USV daemon process should be adapted accordingly, which is responsible for the initialization and monitoring of the system:

    1. At the start
      a. Send command 0x44 to UPS (initialization command)
      b. Define GPIO pin13 as input
      c. A successful initialization after these commands is indicated by the fact that the PSUGN stops flashing and stays on

    2. Loss of primary voltage source
      a. Define GPIO pin 13 as output
      b. Set GPIO pin 13 HIGH
      c. Send command 0x43 to UPS (signaling that GPIO has beenset)

    3. Return of primary power source before shutdown
      a. Send command 0x44 to UPS (signaling that GPIO is set)
      b. Define GPIO pin 13 as input
      c. Send command 0x34 to UPS (signaling, primary power sourceactive)

    4. Shutdown of any kind
      a. Define GPIO pin 13 as output if you have not already done so
      b. Set GPIO pin 13 HIGH
      c. Send command 0x43 to UPS (signaling that GPIO has beenset)
      d. Send command 0x49 to UPS (signaling that shutdown isinitiated)
      e. Shutdown of the system

    If you need further assistance, please contact us at

    Thank you very much