<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.mini-box.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Adina</id>
	<title>Mini-box.com Wiki Page - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.mini-box.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Adina"/>
	<link rel="alternate" type="text/html" href="https://wiki.mini-box.com/index.php/Special:Contributions/Adina"/>
	<updated>2026-04-07T19:58:03Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.35.9</generator>
	<entry>
		<id>https://wiki.mini-box.com/index.php?title=NUC-UPS&amp;diff=1102</id>
		<title>NUC-UPS</title>
		<link rel="alternate" type="text/html" href="https://wiki.mini-box.com/index.php?title=NUC-UPS&amp;diff=1102"/>
		<updated>2024-04-24T10:45:45Z</updated>

		<summary type="html">&lt;p&gt;Adina: /* Firmware update */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''6-38V Intelligent Automotive grade Uninterruptible Power Supply'''&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''Before you start…&amp;lt;br&amp;gt;&lt;br /&gt;
Often times, rushing into installing the unit can result in serious damage to your DCDC-NUC UPS board or computer. &lt;br /&gt;
Always double check the polarity of your wires with a voltmeter.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''Always double check the polarity of the batteries before introducing into the UPS device.'''&amp;lt;br&amp;gt;&lt;br /&gt;
'''Improper configuration leads to system damage!!!'''&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt; NOTE:  Forced ventilation or 40% input or output current de-rating or both is required if any of the following conditions are met:&amp;lt;br&amp;gt;&lt;br /&gt;
If V(IN) 24-38V &amp;lt;br&amp;gt;&lt;br /&gt;
If I(Out) &amp;gt; 2A and T(ambient) &amp;gt; 30°C, open air operation.&amp;lt;br&amp;gt;&lt;br /&gt;
In order to prevent premature battery damage due to thermal exposure, always check NUC-UPS board temp and ensure it does not exceed 55C for your application.&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
The NUC-UPS was designed to provide +12V regulated power output from a wide input voltage(6V-38V).&amp;lt;br&amp;gt;&lt;br /&gt;
It has a range of intelligent functions not found in any of the traditional USB converters.&amp;lt;br&amp;gt;&lt;br /&gt;
The unit is able to gracefully shut down motherboards based on Ignition sensing or battery voltage level, by pulsing &lt;br /&gt;
&lt;br /&gt;
the motherboard on/off pins. This makes it an ideal device for automotive or battery powered installations.&amp;lt;br&amp;gt;&lt;br /&gt;
It features 4 replaceable Li-Ion batteries for battery backup integrated in the device, there is no need for any &lt;br /&gt;
&lt;br /&gt;
kind of special cabling between cells and UPS.&lt;br /&gt;
The charger is a Synchronous Buck-Boost converter capable of charging the batteries with input voltage below, equal &lt;br /&gt;
&lt;br /&gt;
or above battery voltage level.&lt;br /&gt;
It charges the battery in three phases: preconditioning, constant current mode and constant voltage mode. &amp;lt;br&amp;gt;&lt;br /&gt;
The output converter is a synchronous Buck converter providing regulated 12V output.&lt;br /&gt;
The unit can be used as an embedded UPS or as a Portable Energy Pack providing the user with regulated 12V wherever &lt;br /&gt;
&lt;br /&gt;
needed.&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
* USB interface, works with Windows devices (Linux API planned)&amp;lt;br&amp;gt;&lt;br /&gt;
* Input between 6-38V&amp;lt;br&amp;gt;&lt;br /&gt;
* Programmable thresholds, timings and configuration modes&amp;lt;br&amp;gt;&lt;br /&gt;
* Generates regulated 12V output voltage&amp;lt;br&amp;gt;&lt;br /&gt;
* Output current 5A continuous&lt;br /&gt;
* Supports Li-Ion (3.7V) battery chemistry&amp;lt;br&amp;gt;&lt;br /&gt;
* 3 state charger(precharge, constant current, constant voltage)&amp;lt;br&amp;gt;&lt;br /&gt;
* Battery balancing, 4S configuration.&amp;lt;br&amp;gt;&lt;br /&gt;
* Charge voltage 4x4.2V, charge current 1A, precharge current ~0.3A&amp;lt;br&amp;gt;&lt;br /&gt;
* Coulomb counting&amp;lt;br&amp;gt;&lt;br /&gt;
* Battery temperature monitoring for each cell and temperature compensated charge&amp;lt;br&amp;gt;&lt;br /&gt;
* Start/Stop button and header&amp;lt;br&amp;gt;&lt;br /&gt;
* Motherboard ON/OFF pulse control*&amp;lt;br&amp;gt;&lt;br /&gt;
* Motherboard detection by power consumption or 5VUSB presence&lt;br /&gt;
* Missing battery cells detection&amp;lt;br&amp;gt;&lt;br /&gt;
* Ultra low power consumption(5uA- in Deep Sleep mode) or (250uA- in Dumb mode Standby) or (5mA- Automotive mode &lt;br /&gt;
&lt;br /&gt;
Standby)&amp;lt;br&amp;gt;&lt;br /&gt;
* Windows detects device as “Battery”, with no special drivers required **&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Diagram &amp;amp; Schematics==&lt;br /&gt;
==Connectors==&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: inline; float: left;&amp;quot;&amp;gt;[[File:Nucupslegend.jpg|230px|thumb|left|Connectors nomenclature]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===Power Input connectors===&lt;br /&gt;
;P1 Input (mini-FIT JR, 1x4 pins)&lt;br /&gt;
: P1.1,P1.2-GND&lt;br /&gt;
: P1.3-Ignition sensing&lt;br /&gt;
: P1.4-Input voltage&lt;br /&gt;
;P2 Input (DC Power Jack:2DC-G213-B49, Mating plug 5.50x2.50)&lt;br /&gt;
&lt;br /&gt;
;P3 Output (mini-FIT JR, 1x4 pins)&lt;br /&gt;
: P3.1,P3.2-GND&lt;br /&gt;
: P3.3,P3.4-Output voltage&lt;br /&gt;
;P4 Output (B4B-EH-A(LF)(SN), 1x4 pins)&lt;br /&gt;
: P4.1,P4.2-GND&lt;br /&gt;
: P4.3,P4.4-Output voltage&lt;br /&gt;
&lt;br /&gt;
===Interface connectors===&lt;br /&gt;
;P5 Motherboard POWER SW connection, no polarity (JST_B3B-PH-KL, 1x3pins)&lt;br /&gt;
: P5.1: SW1&lt;br /&gt;
: P5.2: GND&lt;br /&gt;
: P5.3: SW2&lt;br /&gt;
;P7 USB header	(B4B-PH-K-S(LF)(SN), 1x4pins)&lt;br /&gt;
: P7.1: GND&lt;br /&gt;
: P7.2: USB D-&lt;br /&gt;
: P7.3: USB D+&lt;br /&gt;
: P7.4: +5V&lt;br /&gt;
;S1&amp;amp;P9 Start/Stop button header (M20-9990246, 1x2pins)&lt;br /&gt;
;P8 Programming header&lt;br /&gt;
P8.1: MCLR&lt;br /&gt;
P8.2: GND&lt;br /&gt;
P8.3: 5V&lt;br /&gt;
P8.4: PGD&lt;br /&gt;
P8.5: PGC&lt;br /&gt;
&lt;br /&gt;
==NUC and OS Settings==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
*'''NUC related settings'''&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: inline; float: left;&amp;quot;&amp;gt;[[File:BIOS.png|230px|thumb|left|NUC Visual BIOS 2.0 Setting]]&amp;lt;/div&amp;gt;&lt;br /&gt;
:Setting up the NUC's behavior when power is re-applied:&amp;lt;br&amp;gt;&lt;br /&gt;
:- press '''F2''' key during the boot sequence to entering the NUC's BIOS (Visual BIOS 2.0)&amp;lt;br&amp;gt;&lt;br /&gt;
:- first click on '''Advanced''' then click on '''Power''' menu button&amp;lt;br&amp;gt;&lt;br /&gt;
:- in '''Secondary Power Settings''' section select '''Power On''' option for '''After Power Failure'''&amp;lt;br&amp;gt;&lt;br /&gt;
:- the picture shows the right option in a red framework&amp;lt;br&amp;gt;&lt;br /&gt;
:- now the power supply should be able to '''START''' the NUC by applying corresponding voltage to its power &lt;br /&gt;
&lt;br /&gt;
input&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Firmware update==&lt;br /&gt;
 It is recommended that you only connect USB power to the device &lt;br /&gt;
 when making a firmware update via “bootloader mode”.&lt;br /&gt;
&lt;br /&gt;
There are two ways to enter in bootloader mode: 1a) or 1b).&amp;lt;br&amp;gt;&lt;br /&gt;
1a) Place a jumper on the P8.4 and P8.5 pins then connect the unit to USB&amp;lt;br&amp;gt;&lt;br /&gt;
1b) Connect the unit to USB then press the Switch to bootloader button on the configuration software's user &lt;br /&gt;
&lt;br /&gt;
interface.&amp;lt;br&amp;gt;&lt;br /&gt;
2) Start the [https://wiki.mini-box.com/images/a/ae/Bootloader_Software.zip '''HIDBootloader v2.9j.exe'''] software &lt;br /&gt;
&lt;br /&gt;
provided to flash the new firmware.&amp;lt;br&amp;gt;&lt;br /&gt;
3)      Press File-&amp;gt;Import Firmware Image&amp;lt;br&amp;gt;&lt;br /&gt;
4)      Press Open new Hex [https://resources.mini-box.com/online/PWR-NUC-UPS/DCDC-NUCUPS-v1-4-2024.hex.zip '''File''']&amp;lt;br&amp;gt;&lt;br /&gt;
5)      Press Program-&amp;gt;Erase/Program/Verify Device&amp;lt;br&amp;gt;&lt;br /&gt;
6)      If used option 1a) remove the jumper &lt;br /&gt;
6)      Press Program-&amp;gt;Reset Device&amp;lt;br&amp;gt;&lt;br /&gt;
7) After the device reconnects on USB with the configuration software the new firmware version will be displayed in &lt;br /&gt;
&lt;br /&gt;
the title bar of the software.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Firware changelog [https://resources.mini-box.com/online/PWR-NUC-UPS/PWR-NUC-UPS-firmware-changelog-v1.4.txt '''File''']&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==NUC-UPS operating modes==&lt;br /&gt;
For configuration purposes only the unit can be started by connecting the unit to USB.&amp;lt;br&amp;gt;&lt;br /&gt;
Inserting the batteries should be the first step to perform.&amp;lt;br&amp;gt;&lt;br /&gt;
Waking the unit for the first time implies applying input voltage.&amp;lt;br&amp;gt;&lt;br /&gt;
The operating modes can be selected by setting the NUC_UPS_MODE parameter to 0(DUMB mode) or 1(AUTOMOTIVE mode).&amp;lt;br&amp;gt;&lt;br /&gt;
Further parameters can be customized by changing in the [[NUC-UPS#Parameter_List|'''Parameter List''']].&amp;lt;br&amp;gt;&lt;br /&gt;
===Dumb Mode===&lt;br /&gt;
:When in this mode the unit still works as an UPS or it can be used as a general purpose battery pack.&amp;lt;br&amp;gt;&lt;br /&gt;
;Starting the unit&lt;br /&gt;
:In this mode starting can be performed either by applying input voltage or pressing the button for 500ms.&amp;lt;br&amp;gt;&lt;br /&gt;
;Stopping the unit&lt;br /&gt;
:In this mode stop sequence can be initiated by pressing the button for 500ms.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Automotive Mode===&lt;br /&gt;
;Starting the unit&lt;br /&gt;
:In this mode Starting can be performed by applying input voltage and applying ignition voltage.&amp;lt;br&amp;gt;&lt;br /&gt;
:The ignition voltage thresholds are configurable set by the IGN_HIGH_THRESHOLD, IGN_LOW_THRESHOLD parameters.The &lt;br /&gt;
&lt;br /&gt;
Ignition voltage must be higher than IGN_HIGH_THRESHOLD for the duration set by the IGN_COUNT parameter in order to &lt;br /&gt;
&lt;br /&gt;
filter out unwanted noise in automotive environment.&amp;lt;br&amp;gt;&lt;br /&gt;
;Stopping the unit&lt;br /&gt;
:In this mode stop sequence can be initiated if Ignition voltage is lower than IGN_LOW_THRESHOLD parameter for the &lt;br /&gt;
&lt;br /&gt;
duration set by the IGN_COUNT parameter.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Stop conditions that apply in both modes===&lt;br /&gt;
:When the unit is running on batteries the following conditions can initiate shutdown(the shutdown reason can be &lt;br /&gt;
&lt;br /&gt;
identified on the Status-UPS tab,Shutdown groupbox in the Configuration software):&amp;lt;br&amp;gt;&lt;br /&gt;
:-one of the cell voltages is less than UPS_VCELL_MIN_STOP parameter, shutdown sequence is initiated.&amp;lt;br&amp;gt;&lt;br /&gt;
:-the unit is on battery for more than UPS_ON_BATTERY_TOUT parameter, shutdown sequence is initiated.&amp;lt;br&amp;gt;&lt;br /&gt;
:-one of the cell voltages is less than UPS_VCELL_MIN_HARD_STOP parameter, shutdown is immediate.&amp;lt;br&amp;gt;&lt;br /&gt;
:-one of the batteries temperature is out of the limits set by the DCHG_TEMP_COLD, DCHG_TEMP_HOT parameters.&amp;lt;br&amp;gt;&lt;br /&gt;
:-overload, when the maximum allowed discharge current exceeds the value set by UPS_OVERLOAD parameter.&amp;lt;br&amp;gt;&lt;br /&gt;
:If output is out of regulation the unit is immediately stopped.&lt;br /&gt;
&lt;br /&gt;
===Startup and Shutdown sequence===&lt;br /&gt;
====Startup sequences====&lt;br /&gt;
[[File:Dumb_mode_waking_with_VIN.PNG|600px]]&lt;br /&gt;
[[File:Dumb_mode_waking_with_button.PNG|600px]]&lt;br /&gt;
[[File:Automotive_mode_waking_with_Ignition.PNG|600px]]&amp;lt;br&amp;gt;&lt;br /&gt;
====Shutdown sequences====&lt;br /&gt;
[[File:Gracious_shutdown.PNG|600px]]&lt;br /&gt;
[[File:Immediate_shutdown.PNG|600px]]&lt;br /&gt;
&lt;br /&gt;
===Motherboard control===&lt;br /&gt;
The following options are available to control the motherboard by pulsing the on/off pins on the motherboard.&lt;br /&gt;
First the the motherboard On/OFF pins should be connected to the P5.1,P5.3 pin on the P5 [[NUC-UPS#Interface_connectors|'''Interface_connector''']].&amp;lt;br&amp;gt;&lt;br /&gt;
The pulse width is 500ms by default which can be altered by changing MOB_PULSEWIDTH parameter from the [[NUC-UPS#Parameter_List|'''Parameter_List''']].&amp;lt;br&amp;gt;&lt;br /&gt;
There are various ways to control the motherboard depending the configuration of the CONFIG1 register from the [[NUC-UPS#Parameter_List|'''Parameter_List''']].&amp;lt;br&amp;gt;&lt;br /&gt;
Example:If startup of the motherboard is not needed when input is present, the startup pulse can be disabled by setting CONFIG1.b0 to 0.&amp;lt;br&amp;gt;&lt;br /&gt;
The same way the shutdown pulse can be inhibited by setting CONFIG1.b1 to 0.&amp;lt;br&amp;gt;&lt;br /&gt;
There are cases when motherboard started(ON) or OFF presence must be detected in order starting/stopping by pulses behavior work properly.&amp;lt;br&amp;gt;&lt;br /&gt;
For example the Operating System could be shutdown already from software. In case the unit is is a shutdown sequence not knowing this piece of information would lead by sending the shutdown pulse which would wake up instead the system.&amp;lt;br&amp;gt;&lt;br /&gt;
There are two kinds of feedback information to detect motherboard status.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The first detection mode is by measuring the consumed output power, knowing that a motherboard when started consumes much more power than when in standby.&amp;lt;br&amp;gt;&lt;br /&gt;
In order to enable  this feature the following steps should be performed:&amp;lt;br&amp;gt;&lt;br /&gt;
1. Enable this feature, CONFIG1.b2 should be set to 1.&amp;lt;br&amp;gt;&lt;br /&gt;
2. Observe and note the consumption of the connected motherboard when in standby and when is ON.&lt;br /&gt;
Our unit measures the output power(POUT) which is displayed in the configuration software.&amp;lt;br&amp;gt;&lt;br /&gt;
3. Set POUT_HIGH_THRESHOLD and POUT_LOW_THRESHOLD parameters from the [[NUC-UPS#Parameter_List|'''Parameter_List''']] accordingly with a good margin. &amp;lt;br&amp;gt;&lt;br /&gt;
POUT&amp;lt;POUT_LOW_THRESHOLD motherboard is considered OFF.&amp;lt;br&amp;gt;&lt;br /&gt;
POUT&amp;gt;POUT_HIGH_THRESHOLD motherboard is considered ON.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The second detection mode is by measuring the +5VUSB signal. Usually motherboards turn OFF the +5VUSB signal when they are OFF.&amp;lt;br&amp;gt;&lt;br /&gt;
In order to enable this feature CONFIG1.b3 must be set to 1.&lt;br /&gt;
&lt;br /&gt;
==NUC-UPS charger==&lt;br /&gt;
The charger is a Synchronous Buck-Boost converter capable of charging the batteries with an input voltage below, equal or above battery voltage level.&amp;lt;br&amp;gt;&lt;br /&gt;
The charging happens three phases: preconditioning, constant current mode and constant voltage mode: &lt;br /&gt;
:• The charging is starting with a preconditioning phase, where the current is limited to ~350mA. The preconditioning phase has a minimum duration set by CHG_COND_TOUT which is extended if one of the cells voltage is below the limit set by CHG_CELL_VCOND.&amp;lt;br&amp;gt;&lt;br /&gt;
:• In constant current phase charge current is limited to 1A. After battery voltage rises to the value set by the hardware charger, the charger will enter constant voltage mode.&amp;lt;br&amp;gt;&lt;br /&gt;
:• In constant voltage phase the battery will absorb less current as time passes and charge current will decrease. When the charge current decreases below ~150mA, charging is stopped.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
During low power state the charger is disabled, so the charger module is also disabled in automotive mode when the Ignition is OFF, even if input is present.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Charging will be terminated if a global charge timer elapses, this can be set by CHG_GLOBAL_TOUT parameter.&amp;lt;br&amp;gt;&lt;br /&gt;
Charging is limited to precharge value if one of the batteries temperature exceeds limits set by CHG_TEMP_COOL,CHG_TEMP_WARM parameters.&amp;lt;br&amp;gt;&lt;br /&gt;
Charging is terminated if one of the batteries temperature exceeds the limits set by CHG_TEMP_COLD,CHG_TEMP_HOT. &amp;lt;br&amp;gt;&lt;br /&gt;
In order to work properly the following conditions when changing parameters must be fulfilled: CHG_TEMP_COLD &amp;lt; CHG_TEMP_COOL &amp;lt; CHG_TEMP_WARM &amp;lt; CHG_TEMP_HOT. &lt;br /&gt;
&lt;br /&gt;
The temperature sensors are located just below the batteries for proper temperature detection of each cell.&amp;lt;br&amp;gt;&lt;br /&gt;
:[[File:Charge-regulation.png|325px|thumb|left|]]&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==NUC-UPS Charge Balancer==&lt;br /&gt;
The balancing algorithm is voltage based. Balancing is allowed if cell voltage exceeds the value set in the BAL_VCELL_MIN parameter.&amp;lt;br&amp;gt;&lt;br /&gt;
Balancing is started if the voltage difference between the cells is higher than BAL_VCELL_DIFF_START, and will be stopped if the difference is lower than the value defined in BAL_VCELL_DIFF_STOP parameter.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==NUC-UPS Fuel gauge==&lt;br /&gt;
The initial remaining capacity is detected based on an open-circuit voltage based state-of-charge estimation, using the predefined values set by the OCV_SOCxx parameters. &lt;br /&gt;
Further estimation is based on coulomb counting method which is more precise after a full charge cycle has been performed.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Led Blinking==&lt;br /&gt;
The unit has two LEDs on board (Red and Green), located on the right and left side of the USB connector.&amp;lt;br&amp;gt;&lt;br /&gt;
While there are scenarios where both LEDs are blinking with a certain pattern, the LEDs generally help identifying the power source that runs the UPS output at any given moment.&lt;br /&gt;
:• The green LED signals that the NUC-UPS is running from input voltage&lt;br /&gt;
:• The red LED signals that the NUC-UPS is running from batteries&lt;br /&gt;
&lt;br /&gt;
The blinking patterns that can occur during operation are shown in the images below. The duration of LED blinks can also be seen on the images, displayed in milliseconds.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:LED_LPWR_Mode_On_USB_Or_In_Automotive_Standby.PNG|600px]]&lt;br /&gt;
[[File:LED_Initial_Delay.PNG.PNG|600px]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:LED_Batteries_Charging.PNG|600px]]&lt;br /&gt;
[[File:LED_Running_From_Vin.PNG|600px]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:LED_Running_From_Battery.PNG|600px]]&lt;br /&gt;
[[File:LED_Wait_Hardoff_Running_From_Vin.PNG|600px]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:LED_Wait_Hardoff_Running_From_Battery.PNG|600px]]&lt;br /&gt;
[[File:LED_Missing.PNG|600px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Parameter List==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! NAME&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| NUC_UPS_MODE[-]&lt;br /&gt;
| &amp;lt;pre&amp;gt;&lt;br /&gt;
0-Dumb mode	                           (DUMB)&lt;br /&gt;
1-Automotive mode	   	   	   (AUTOMOTIVE)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
NUC_UPS_MODE&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| UPS_ON_BATTERY_TOUT&lt;br /&gt;
| &lt;br /&gt;
Deep sleep timeout. If system is running on battery and this period has elapsed with no input power applied, the UPS &lt;br /&gt;
&lt;br /&gt;
will initiate shut down procedure. &amp;quot;Never&amp;quot; is allowed as value (to disable this feature). Default is &amp;quot;Never&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| INIT_TOUT&lt;br /&gt;
| &lt;br /&gt;
When all power supply start-up conditions are met, the PSU will wait this time before continuing with the start-up &lt;br /&gt;
&lt;br /&gt;
sequence.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| VIN_MIN_STARTUP&lt;br /&gt;
| &lt;br /&gt;
If the input voltage is beyond this threshold and all other start-up conditions are met, the PSU can start. Default &lt;br /&gt;
&lt;br /&gt;
is 11000mV.&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| VIN_MIN_RUNNING&lt;br /&gt;
| &lt;br /&gt;
If input voltage is below this threshold, the output is powered from battery. Default is 8000mV.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| VIN_COUNT&lt;br /&gt;
| &lt;br /&gt;
Input voltage filtering. Default is 100ms.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| IGN_COUNT&lt;br /&gt;
| &lt;br /&gt;
Ignition voltage filtering. Default is 100ms.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| IGN_HIGH_THRESHOLD&lt;br /&gt;
| &lt;br /&gt;
If ignition voltage is beyond this threshold, ignition is considered to be ON. Default is 6000mV.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| IGN_LOW_THRESHOLD&lt;br /&gt;
| &lt;br /&gt;
If ignition voltage is below this threshold, ignition is considered to be OFF. Default is 5000mV.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| IGN_ON_TO_OUTPUT_ON_TOUT&lt;br /&gt;
| &lt;br /&gt;
After ignition is considered ON, the PSU will wait this time before the output is turned ON. Default is 2000ms.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| IGN_CANCEL_TOUT&lt;br /&gt;
| &lt;br /&gt;
After the motherboard boots up, the ignition voltage sensing will be disabled for this period. Default is 60s.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| OUTPUT_ON_TO_MOB_PULSE_ON_TOUT&lt;br /&gt;
| &lt;br /&gt;
After the output was turned on, the UPS will wait this period before sending the ON pulse to the motherboard. &lt;br /&gt;
&lt;br /&gt;
Default is 20ms&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| IGN_OFF_TO_MOB_PULSE_OFF_TOUT&lt;br /&gt;
| &lt;br /&gt;
In automotive mode, after the ignition is considered OFF, this UPS will wait this period before sending the OFF &lt;br /&gt;
&lt;br /&gt;
pulse to the motherboard. Default is 5s&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| MOB_PULSEWIDTH&lt;br /&gt;
| &lt;br /&gt;
The length of the start-up/shutdown pulse sent to the motherboard. Default is 500ms.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| HARD_OFF_TOUT&lt;br /&gt;
| &lt;br /&gt;
After the shutdown pulse is sent to the motherboard, the UPS will wait this period before the output is turned OFF.&lt;br /&gt;
This time-out allows the operating system to perform a clean shutdown. Default is 60s.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| PWM_SPREAD_MODULATING_FREQ&lt;br /&gt;
| &lt;br /&gt;
Modulation frequency parameter of the Random Spread Frequency Modulation module (used for EMI reduction purposes)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| PWM_SPREAD_PERCENT&lt;br /&gt;
| &lt;br /&gt;
Frequency deviation parameter of the Random Spread Frequency Modulation module (used for EMI reduction purposes)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| PWM_FREQ&lt;br /&gt;
| &lt;br /&gt;
Operating frequency of the Switched Mode Power Supply&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| CONFIG1&lt;br /&gt;
| &lt;br /&gt;
Configuration register [b7..b0]. Used for enabling/disabling modules. 0 - disabled, 1 - enabled &amp;lt;br&amp;gt; &lt;br /&gt;
b7 - Unused &amp;lt;br&amp;gt;&lt;br /&gt;
b6 - Unused &amp;lt;br&amp;gt;&lt;br /&gt;
b5 - Unused &amp;lt;br&amp;gt;&lt;br /&gt;
b4 - Unused &amp;lt;br&amp;gt;&lt;br /&gt;
b3 - If set, the USB sense is enabled, +5V USB is used to detect the Motherboard alive status&amp;lt;br&amp;gt;&lt;br /&gt;
b2 - If set, the Power measurement (Vout x Iout) is used to detect the Motherboard alive status&amp;lt;br&amp;gt;&lt;br /&gt;
b1 - If set, shutdown pulse is enabled through the PWRSW connector.&amp;lt;br&amp;gt;&lt;br /&gt;
b0 - If set, startup pulse is enabled through the PWRSW connector.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Depending motherboard alive status the shutdown/startup pulse is sent if b2/b3 is enabled.&lt;br /&gt;
The motherboard presence can be smartly detected if b2/b3 is enabled.&lt;br /&gt;
For example: In case motherboard is already shut down the pulse is not sent in case of a shutdown scenario. &lt;br /&gt;
This is also true in case of a startup scenario.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| CONFIG2&lt;br /&gt;
| &lt;br /&gt;
Configuration register. Used for enabling/disabling modules. 0 - disabled, 1 - enabled &amp;lt;br&amp;gt;&lt;br /&gt;
b7..b0 - Reserved/Unused &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| WRITE_COUNT&lt;br /&gt;
| &lt;br /&gt;
The number of times the internal Flash program memory has been written.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| IOUT_OFFSET&lt;br /&gt;
| &lt;br /&gt;
This value will be summed with the measured input current, this is a calibration parameter. Default is 0mA&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| CAPACITY&lt;br /&gt;
| &lt;br /&gt;
Battery Capacity.&lt;br /&gt;
Default is 1000mAh.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| UPS_BUTTON_ON_TOUT&lt;br /&gt;
| &lt;br /&gt;
Filtering time for button pressing. Default is 100ms.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| UPS_VCELL_MIN_START&lt;br /&gt;
| &lt;br /&gt;
If Vin is not present and all the battery cells are above this threshold, the UPS can start and will run on battery.&lt;br /&gt;
Default is 3.6V.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| UPS_VCELL_MIN_STOP&lt;br /&gt;
| &lt;br /&gt;
If VIN is not present and one of the battery cells is less than this threshold , the UPS will initiate a shutdown &lt;br /&gt;
&lt;br /&gt;
procedure.&lt;br /&gt;
Default is 3.3V.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| UPS_VCELL_MIN_HARD_STOP&lt;br /&gt;
| &lt;br /&gt;
If VIN is not present and one of the battery cells is less than this threshold, the UPS will instantly shut down to &lt;br /&gt;
&lt;br /&gt;
preserve battery.&lt;br /&gt;
Default is 3V.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| UPS_OVERLOAD&lt;br /&gt;
| &lt;br /&gt;
Max allowed discharge current. In case the discharge current exceeds this threshold, shutdown will be initiated.&lt;br /&gt;
Default is 6000mA&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| DCHG_TEMP_COLD&lt;br /&gt;
| &lt;br /&gt;
COLD temperature threshold for discharge. In case exceeded UPS will shutdown when on battery. Default is -20°C (FW &lt;br /&gt;
&lt;br /&gt;
ver 1.1)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| DCHG_TEMP_HOT&lt;br /&gt;
| &lt;br /&gt;
HOT temperature threshold for discharge. In case exceeded UPS will shutdown when on battery. Default is 60°C (FW ver &lt;br /&gt;
&lt;br /&gt;
1.1)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| CHG_COND_TOUT&lt;br /&gt;
| &lt;br /&gt;
Conditioning/Precharge time. Charge current is limited until cell voltage exceeds CHG_VCOND value and it is applied &lt;br /&gt;
&lt;br /&gt;
during this time.&lt;br /&gt;
Default is 30 sec. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| CHG_BULK_STOP_VOLTAGE&lt;br /&gt;
| &lt;br /&gt;
Maximum allowed bulk charge voltage/cell during constant current/constant voltage charging.&lt;br /&gt;
Default is 4.1 [V/cell].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| CHG_HYSTERESIS&lt;br /&gt;
| &lt;br /&gt;
An overvoltage value ( CHG_BULK_STOP_VOLTAGE + CHG_HYSTERESIS ) that is allowed when charging. If one of the cells &lt;br /&gt;
&lt;br /&gt;
exceeds this value, charging is immediately stopped.&lt;br /&gt;
Default is 100mV/cell.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| CHG_START_VOLTAGE&lt;br /&gt;
| &lt;br /&gt;
If cell voltage is below this value, charging can be started.&lt;br /&gt;
Default is 3.85V/cell.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| CHG_GLOBAL_TOUT&lt;br /&gt;
| &lt;br /&gt;
Global charge timeout.&lt;br /&gt;
Default is 240 min.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| CHG_TOPPING_TOUT&lt;br /&gt;
| &lt;br /&gt;
After an overvoltage condition is detected for a cell (for Lithium based batteries), a resting period is set by this &lt;br /&gt;
&lt;br /&gt;
timer before applying a small topping charge - in case other cells are still not charged.&lt;br /&gt;
Default is 60s.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| CHG_TEMP_COLD&lt;br /&gt;
| &lt;br /&gt;
COLD temperature threshold for temperature compensated charge current regulation.&lt;br /&gt;
Default 5°C(FW ver 1.0)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| CHG_TEMP_COOL&lt;br /&gt;
| &lt;br /&gt;
COOL temperature threshold for temperature compensated charge current regulation.&lt;br /&gt;
Default 10°C(FW ver 1.0)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| CHG_TEMP_WARM&lt;br /&gt;
| &lt;br /&gt;
WARM temperature threshold for temperature compensated charge current regulation.&lt;br /&gt;
Default 50°C(FW ver 1.0)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| CHG_TEMP_HOT&lt;br /&gt;
| &lt;br /&gt;
HOT temperature threshold for temperature compensated charge current regulation.&lt;br /&gt;
Default 55°C(FW ver 1.0)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| UPS_VCELL_ADC_OFFSET&lt;br /&gt;
| &lt;br /&gt;
This value will be summed with the measured cell voltages, this is a calibration parameter. Default is 0mV.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| CHG_CELL_VCOND&lt;br /&gt;
| &lt;br /&gt;
Conditioning/Pre-charge voltage. Charge current is limited until cell voltage exceeds this value and for at least &lt;br /&gt;
&lt;br /&gt;
CHG_TCOND time . Default is 3.3V&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| BAL_VCELL_MIN&lt;br /&gt;
| &lt;br /&gt;
Balancing is allowed if cell voltages are above this value.&lt;br /&gt;
Default is 3.4V&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| BAL_VCELL_DIFF_START&lt;br /&gt;
| &lt;br /&gt;
If the voltage difference between cells exceeds this value, cell balancing will start.&lt;br /&gt;
Default is 80mV.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| BAL_VCELL_DIFF_STOP&lt;br /&gt;
| &lt;br /&gt;
If the voltage difference between cells is less than this value, cell balancing will stop.&lt;br /&gt;
Default is 40mV.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| OCV_SOC0&lt;br /&gt;
| &lt;br /&gt;
Open Circuit Voltage State Of Charge detection for initial 0% fuel gauge estimation.&lt;br /&gt;
Default is 3.3V.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| OCV_SOC10&lt;br /&gt;
| &lt;br /&gt;
Open Circuit Voltage State Of Charge detection for initial 10% fuel gauge estimation.&lt;br /&gt;
Default is 3.68V.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| OCV_SOC25&lt;br /&gt;
| &lt;br /&gt;
Open Circuit Voltage State Of Charge detection for initial 25% fuel gauge estimation.&lt;br /&gt;
Default is 3.76V.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| OCV_SOC50&lt;br /&gt;
| &lt;br /&gt;
Open Circuit Voltage State Of Charge detection for initial 50% fuel gauge estimation.&lt;br /&gt;
Default is 3.82V.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| OCV_SOC75&lt;br /&gt;
| &lt;br /&gt;
Open Circuit Voltage State Of Charge detection for initial 75% fuel gauge estimation.&lt;br /&gt;
Default is 3.97V.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| OCV_SOC100&lt;br /&gt;
| &lt;br /&gt;
Open Circuit Voltage State Of Charge detection for initial 100% fuel gauge estimation.&lt;br /&gt;
Default is 4.17V.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| POUT_HIGH_THRESHOLD&lt;br /&gt;
| &lt;br /&gt;
If output power measured is higher than this threshold the connected motherboard is considered to be ON.&lt;br /&gt;
Together with POUT_LOW_THRESHOLD parameter sets a hysteresis for motherboard status. CONFIG1.b2 must be set in order to be active. Default is 3000mW.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| POUT_LOW_THRESHOLD&lt;br /&gt;
| &lt;br /&gt;
If output power measured is lower than this threshold the connected motherboard is considered to be OFF.&lt;br /&gt;
Together with POUT_HIGH_THRESHOLD parameter sets a hysteresis for motherboard status. CONFIG1.b2 must be set in order to be active. Default is 1000mW.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Software manual==&lt;br /&gt;
===Windows OS built-in support===&lt;br /&gt;
The NUC-UPS implements two generic USB classes, therefore most of the operating systems are recognizing it without &lt;br /&gt;
&lt;br /&gt;
any additional driver installation. This two classes are:&lt;br /&gt;
   a.) &amp;quot;HID UPS Battery&amp;quot; for OS built-in communication.&lt;br /&gt;
Microsoft Windows versions are recognizing this class automatically and the device should appear in device manager &lt;br /&gt;
&lt;br /&gt;
at Batteries as a &amp;quot;Hid ups battery&amp;quot;, together with all settings and power plan possibilities provided by the OS for &lt;br /&gt;
&lt;br /&gt;
any battery.&lt;br /&gt;
   b.) &amp;quot;HID&amp;quot; for communication and configuration&lt;br /&gt;
This endpoint is a generic HID and it is used by our configuration and monitor software to read/write voltages and &lt;br /&gt;
&lt;br /&gt;
other important parameters of the NUC-UPS. This endpoint does not needs any additional driver either, Microsoft &lt;br /&gt;
&lt;br /&gt;
Windows OS should recognize it as a generic HID USB device.&lt;br /&gt;
&lt;br /&gt;
===Configuration software===&lt;br /&gt;
The configuration software provides interface for NUC-UPS monitoring, logging and setup.&lt;br /&gt;
It's recommended to be used by users with deeper understanding of the NUC-UPS hardware since permits setting &lt;br /&gt;
&lt;br /&gt;
voltages, currents and other parameters which can be&lt;br /&gt;
dangerous if they are set without precaution.&amp;lt;br /&amp;gt;&lt;br /&gt;
The configuration software has three main screens (Status-UPS, Status-Charger and Settings) and a header with the &lt;br /&gt;
&lt;br /&gt;
important voltage/current values.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====The first main screen is the &amp;quot;Status-UPS&amp;quot;====&lt;br /&gt;
Example of this screen is shown in the next image:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: inline; float: left;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:NUC-UPS-Status.JPG‎|x350px|thumb|left|Status screen]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The title bar shows the connection status, the firmware version and the mode of the NUC-UPS. Example: &amp;quot;NUC-UPS &lt;br /&gt;
&lt;br /&gt;
Connected v1.0 Mode: Dumb&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The header of the status screen contains:&lt;br /&gt;
:VIn: Input Voltage&lt;br /&gt;
:VIgn: Ignition Voltage&lt;br /&gt;
:VBat: Battery Voltage&lt;br /&gt;
:VOut: Output Voltage&lt;br /&gt;
:POut: Output Power&lt;br /&gt;
:IOut: Output Current&lt;br /&gt;
:Battery pack %: Battery percentage&lt;br /&gt;
:[0]: Battery 0 status&lt;br /&gt;
:[1]: Battery 1 status&lt;br /&gt;
:[2]: Battery 2 status&lt;br /&gt;
:[3]: Battery 3 status&lt;br /&gt;
:[Pack]: Battery pack overall voltage and current&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Status-UPS&amp;quot; screen contains extended information about the current state of the NUC-UPS like internal state &lt;br /&gt;
&lt;br /&gt;
machine, voltages, currents, temperature, different read only state flags.&lt;br /&gt;
The user also have the possibility to log the current state into a *.csv file in the &amp;quot;Log&amp;quot; section.&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====The second main screen is the &amp;quot;Status-Charger&amp;quot;====&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: inline; float: left;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:NUC-UPS-Charger.JPG‎|x350px|thumb|left|Status screen]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Contains extended information about current state of the NUC-UPS battery charger (internal state machines, flags)&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====The third main screen is the &amp;quot;Settings&amp;quot;====&lt;br /&gt;
Example of this screen is shown in the next image:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: inline; float: left;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:NUC-UPS-Settings.JPG‎|x350px|thumb|left|Settings screen]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This screen contains two main sections: the individual parameter setup for experienced users and the parameter &lt;br /&gt;
&lt;br /&gt;
save/load into/from file section.&lt;br /&gt;
&lt;br /&gt;
The main section of the &amp;quot;Settings&amp;quot; screen is the individual parameter settings.&amp;lt;br&amp;gt;&lt;br /&gt;
This is recommended to be done only by experienced users. Any parameter of the NUC-UPS can be set from here.&lt;br /&gt;
&lt;br /&gt;
Changing one parameter is simple:&lt;br /&gt;
:- select the desired parameter from the &amp;quot;Parameter&amp;quot; list (simple click to select, double-click to edit). Below the &lt;br /&gt;
&lt;br /&gt;
parameter list a helper text is displayed (same from this manual).&lt;br /&gt;
:- after double click introduce the new value in the new popup dialog and press OK&lt;br /&gt;
:- the introduced value is checked - if something is wrong (out of limit, bad value etc.) error message will be &lt;br /&gt;
&lt;br /&gt;
shown&lt;br /&gt;
:- the ! sign will blink on the &amp;quot;Sync all parameters to the NUC-UPS&amp;quot; button to show edited but not saved/synced &lt;br /&gt;
&lt;br /&gt;
variables&lt;br /&gt;
:- after You have done with all parameter setting press the &amp;quot;Sync all parameters to the NUC-UPS&amp;quot; button to send all &lt;br /&gt;
&lt;br /&gt;
values to the NUC-UPS. IMPORTANT: without this step the new values will be lost, nothing is sent to the NUC-UPS!&lt;br /&gt;
&lt;br /&gt;
IMPORTANT: any parameter setting is taken into account by the NUC-UPS in this cases:&lt;br /&gt;
: - after a full restart either with power cut from all sources (usb, vin)&lt;br /&gt;
: - hitting the &amp;quot;Restart NUC-UPS&amp;quot; button&lt;br /&gt;
: - keeping the &amp;quot;Reload parameters on the fly after sync&amp;quot; checked. &lt;br /&gt;
Do any parameter change with precaution, check the parameters and wires before applying it!&lt;br /&gt;
&lt;br /&gt;
For users who need to setup more devices with the same NUC-UPS settings, it is recommended to use the save/load &lt;br /&gt;
&lt;br /&gt;
parameters buttons.&lt;br /&gt;
The &amp;quot;Parameters: NUC-UPS ===&amp;gt; File (settings.ini)&amp;quot; button loads a full configuration from the NUC-UPS and saves it &lt;br /&gt;
&lt;br /&gt;
to the settings.ini file. You can disconnect&lt;br /&gt;
the current NUC-UPS from the USB and insert a new one, than press the &amp;quot;Parameters: NUC-UPS &amp;lt;=== File (settings.ini)&amp;quot; &lt;br /&gt;
&lt;br /&gt;
button to send the last saved configuration into the new NUC-UPS.&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Parameters: NUC-UPS ===&amp;gt; CSV File (settings.csv)&amp;quot; button loads all parameters from the connected NUC-UPS and &lt;br /&gt;
&lt;br /&gt;
saves it into a csv file. This type of file can be opened by any spreadsheet editor (OpenOffice, Microsoft Excel &lt;br /&gt;
&lt;br /&gt;
etc.) and contains the full set of parameters in human readable form.&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Switch to bootloader&amp;quot; button is intended to be used for firmware updates. After You press this button the NUC-&lt;br /&gt;
&lt;br /&gt;
UPS will disconnect, it will switch to bootloader mode and firmware can be updated as described [[NUC-&lt;br /&gt;
&lt;br /&gt;
UPS#Bootloader_Mode|here]] &lt;br /&gt;
&lt;br /&gt;
Every save/load/sync operation on the &amp;quot;Settings&amp;quot; screen affects the progress bar and the status bar on the bottom of &lt;br /&gt;
&lt;br /&gt;
the screen (labelled with &amp;quot;State:&amp;quot;). In rare cases You&lt;br /&gt;
might get error here with &amp;quot;try again&amp;quot; message. This happens in case of one parameter byte get's corrupted or timeout &lt;br /&gt;
&lt;br /&gt;
occurs during USB communication and/or NUC-UPS flashing&lt;br /&gt;
operation. Please try again and contact our support team only if the device gives this error 4-5 times in a row.&lt;br /&gt;
&lt;br /&gt;
===Windows System monitor===&lt;br /&gt;
The system monitor is a tray bar software which shows the current state on the tray bar icon and a semi transparent &lt;br /&gt;
&lt;br /&gt;
&amp;quot;always on top&amp;quot; capable small window.&amp;lt;br&amp;gt;&lt;br /&gt;
The popup window can be moved anywhere on the screen and can be customized. Our current setup has two skins but any &lt;br /&gt;
&lt;br /&gt;
combination is possible playing with the&lt;br /&gt;
&amp;quot;skin*.mbs&amp;quot; files installed together with this application. The current skin can be selected right clicking on the &lt;br /&gt;
&lt;br /&gt;
try icon.&lt;br /&gt;
The &amp;quot;skin*.mbs&amp;quot; files are simple text ones editable with any text editor (notepad for example).&amp;lt;br&amp;gt; &lt;br /&gt;
Adding a new skin is pretty simple – make a skin1.mbs (use the existing skin0.mbs for starting content) and start &lt;br /&gt;
&lt;br /&gt;
playing with the values from the new&lt;br /&gt;
file.&amp;lt;br&amp;gt;&lt;br /&gt;
The values are self explanatory – skin name, background image files, font descriptions and label/value pair &lt;br /&gt;
&lt;br /&gt;
coordinates for all the important NUC-UPS values.&lt;br /&gt;
The size of the popup is defined by the background image – transparent parts can be defined as well (see for &lt;br /&gt;
&lt;br /&gt;
example: &amp;quot;bubble1.bmp&amp;quot;).&lt;br /&gt;
Example screenshots:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: inline; float: left;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:NUCUPS_sm_tray2.jpg‎|x150px|thumb|left|System monitor skin1 connected]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: inline; float: left;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:NUCUPS_sm_tray3.jpg‎|x150px|thumb|left|System monitor skin1 disconnected]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Right clicking on the tray icon will pop-up a simple menu:&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: inline; float: left;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:NUCUPS_sm_menu.jpg‎|x150px|thumb|left|System monitor settings]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
From which You can see firmware version and state of the NUC-UPS from the NUC-UPS Properties and set some visual &lt;br /&gt;
&lt;br /&gt;
parameters of the application (transparency, skin) from Skin:&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: inline; float: left;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:NUCUPS_sm_traysettings.jpg‎|x150px|thumb|left|System monitor settings]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For auto start with the system make a shortcut of AppTray.exe from the standalone package in the system Startup ([https://windows.microsoft.com/en-us/windows/run-program-automatically-windows-starts#1TC=windows-7 Windows 7], [https://support.microsoft.com/kb/2806079 Windows 8]).&lt;br /&gt;
&lt;br /&gt;
===Download software===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|'''Version'''||'''Change list'''&lt;br /&gt;
|-&lt;br /&gt;
||[https://wiki.mini-box.com/images/3/33/NUCUPSv1.0.zip '''1.0''']||First version&lt;br /&gt;
|-&lt;br /&gt;
||[https://wiki.mini-box.com/images/5/55/NUCUPSv1.1.zip '''1.1''']||Update for Firmware 1.1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Developer manual===&lt;br /&gt;
Mini-box.com provides one NUC-UPS API in a DLL (NUCUpsLib.dll) and examples in Visual C++, Visual Basic and Visual &lt;br /&gt;
&lt;br /&gt;
C#.&amp;lt;br&amp;gt;&lt;br /&gt;
Basic C++/Visual Basic/C# knowledge is needed to use this examples together with the API.&lt;br /&gt;
The API dll has manifest embedded to permit C# and Visual Basic dynamic load.&lt;br /&gt;
&lt;br /&gt;
The API has a set of functions exported to access the full functionality of the NUC-UPS.&lt;br /&gt;
This functions are:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API const char* STATE_MACHINE_UPS[14];//state machine UPS&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API const char* STATE_MACHINE_AFE[8];//state machine AFE&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API const char* STATE_MACHINE_CHG[16];//state machine Charger&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API const char* STATE_MACHINE_DTCT[16];//state machine Detect&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API const char* STATE_MACHINE_LOWP[4];//state machine low power states&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API unsigned char nucupsOpenDeviceHandler(unsigned int timer);//open device handler. timer &lt;br /&gt;
&lt;br /&gt;
sets the refresh period in miliseconds (4 or 5 messages will be sent in this period e ending from debug mode) &lt;br /&gt;
&lt;br /&gt;
IMPORTANT: the handler can be kept open to notice any NUC-UPS plugged in&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API void nucupsCloseDeviceHandler();//close device handler&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API void getNUCUpsDevicePath(char* path);//Get opened device path @param path - recommended &lt;br /&gt;
&lt;br /&gt;
length 1024, will return empty string if no device opened&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API unsigned char isNUCUpsConnected();//0=not connected, 1=normal state,2=loading settings &lt;br /&gt;
&lt;br /&gt;
from device,3=saving settings from pc,4=saving settings from file&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API unsigned char getNUCUpsMode();//get NUC-UPS mode: 0=Dumb, 1=Automotive&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API unsigned int  getNUCUpsInputFlags();//get NUC-UPS input flags&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API unsigned int  getNUCUpsOutputFlags();//get NUC-UPS output flags&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API unsigned int  getNUCUpsChargerFlags();//get NUC-UPS charger flags&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API unsigned int  getNUCUpsStateFlags();//get NUC-UPS state flags&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API unsigned int  getNUCUpsShutdownFlags();//get NUC-UPS shutdown flags&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API float getNUCUpsVIn();//get NUC-UPS Input Voltage&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API float getNUCUpsIOut();//get NUC-UPS Output Current&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API float getNUCUpsVOut();//get NUC-UPS Output voltage&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API float getNUCUpsVBats(int i);//get NUC-UPS battery voltages&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API float getNUCUpsTemperature(int i);//get NUC-UPS battery temperature&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API unsigned char getNUCUpsCellBalanceOn(int i);//get NUC-UPS balanced battery (discharged)&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API unsigned char getNUCUpsCellDetected(int i);//get NUC-UPS battery detected&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API float getNUCUpsVIgnition();//get NUC-UPS Ignition Voltage&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API float getNUCUpsPOut();//get NUC-UPS Output Power&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API float getNUCUpsVBat();//get NUC-UPS Bat voltage&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API float getNUCUpsVPack();//get NUC-UPS Pack voltage&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API float getNUCUpsIChgDchg();//get NUC-UPS Charge/Discharge current&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API unsigned int getNUCUpsSpecConsts(unsigned int type, unsigned int index);//get NUC-UPS &lt;br /&gt;
&lt;br /&gt;
special constants&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API unsigned char getNUCUpsVerMajor();//get NUC-UPS major version of the firmware&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API unsigned char getNUCUpsVerMinor();//get NUC-UPS minor version of the firmware&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API unsigned char getNUCUpsState();//0 - not connected, 1 - running from battery, 2 - from &lt;br /&gt;
&lt;br /&gt;
vin, 3 - from USB&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API void setNUCUpsDBGMode(unsigned char dbg);//set dbg mode &lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API unsigned char getNUCUpsDbgByte(int i);//get NUC-UPS debug bytes - valid only after &lt;br /&gt;
&lt;br /&gt;
setNUCUpsDBGMode(1)&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API unsigned char getNUCUpsDbg2Byte(int i);//get NUC-UPS debug bytes - valid only after &lt;br /&gt;
&lt;br /&gt;
setNUCUpsDBGMode(1)&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API unsigned char getNUCUpsDbg3Byte(int i);//get NUC-UPS debug bytes - valid only after &lt;br /&gt;
&lt;br /&gt;
setNUCUpsDBGMode(1)&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API unsigned int  getNUCUpsTimer(unsigned int cnt);//get NUC-UPS timer&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API unsigned int  getNUCUpsStateMachines(unsigned int cnt);//get NUC-UPS internal state &lt;br /&gt;
&lt;br /&gt;
machines 0=UPS 1=AFE 2=Charger 3=Detect 4=Batterymanager&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API unsigned int  getNUCUpsChgTimer(unsigned int cnt);//get NUC-UPS charger timers&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API unsigned char getNUCUpsChargeEndedCondition();//get NUC-UPS charge ended&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API unsigned char getNUCUpsBatteryLevel();//get NUC-UPS battery level (percents 0-100)&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API unsigned int getNUCUpsCPUUsage();//get NUC-UPS CPU usage&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API void restartNUCUps();//restart NUC-UPS &lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API void restartNUCUpsInBootloaderMode();//restart NUC-UPS in bootloader mode&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API unsigned int getNUCUpsMaxVariableCnt();//get NUC-UPS maximum variable count&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API unsigned char getNUCUpsVariableData(unsigned int cnt, char* name, char* value, char* unit, &lt;br /&gt;
&lt;br /&gt;
char* comment);//get NUC-UPS variable data&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API void startNUCUpsLoadingSettings(unsigned char to_file, unsigned char &lt;br /&gt;
&lt;br /&gt;
compare_with_old);//start loading data from device&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API unsigned char getNUCUpsLoadingSettingsState();//get load settings current state: 0-64 - &lt;br /&gt;
&lt;br /&gt;
steps, 100=success, 0xF1-0xFF=failure&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API unsigned char setNUCUpsVariableData(unsigned int cnt, char* value);//set NUC-UPS variable &lt;br /&gt;
&lt;br /&gt;
data for a given variable &lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API void startNUCUpsSaveSettings(unsigned char from_file);//start saving data to device&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API unsigned char getNUCUpsSaveSettingsState();//get saving current state: 0-64 - steps, &lt;br /&gt;
&lt;br /&gt;
100=success, 0xF1-0xFF=failure&lt;br /&gt;
See the examples for usage.&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
IMPORTANT: the API dll needs 4 files from Visual Studio 2005 redistribution pack (Microsoft.VC80.CRT.manifest, &lt;br /&gt;
&lt;br /&gt;
msvcm80.dll, msvcp80.dll, msvcr80.dll).&lt;br /&gt;
&lt;br /&gt;
IMPORTANT: the API supports only one NUC-UPS connected to the computer.&lt;br /&gt;
&lt;br /&gt;
====Visual C++ Example====&lt;br /&gt;
Open TestAPI.sln from the package, set CLibTest project as active project, run it and see CLibTest.cpp for usage &lt;br /&gt;
&lt;br /&gt;
example.&lt;br /&gt;
====Visual Basic Example====&lt;br /&gt;
Open TestAPI.sln from the package, set VBLibTest project as active project, run it and see Module1.vb for usage &lt;br /&gt;
&lt;br /&gt;
example.&lt;br /&gt;
====Visual C# Example====&lt;br /&gt;
Open TestAPI.sln from the package, set CSLibTest project as active project, run it and see Program.cs for usage &lt;br /&gt;
&lt;br /&gt;
example.&lt;br /&gt;
&lt;br /&gt;
===Download API and example projects===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|'''Version'''||'''Change list'''&lt;br /&gt;
|-&lt;br /&gt;
||[https://wiki.mini-box.com/images/3/35/NUCUPSApiTestV1.0.zip '''1.0''']||First version&lt;br /&gt;
|-&lt;br /&gt;
||[https://wiki.mini-box.com/images/a/af/NUCUPSApiTestV1.1.zip '''1.1''']||Update for Firmware 1.1&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Adina</name></author>
	</entry>
	<entry>
		<id>https://wiki.mini-box.com/index.php?title=NUC-UPS&amp;diff=1101</id>
		<title>NUC-UPS</title>
		<link rel="alternate" type="text/html" href="https://wiki.mini-box.com/index.php?title=NUC-UPS&amp;diff=1101"/>
		<updated>2024-04-24T10:37:51Z</updated>

		<summary type="html">&lt;p&gt;Adina: /* Firmware update */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''6-38V Intelligent Automotive grade Uninterruptible Power Supply'''&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''Before you start…&amp;lt;br&amp;gt;&lt;br /&gt;
Often times, rushing into installing the unit can result in serious damage to your DCDC-NUC UPS board or computer. &lt;br /&gt;
Always double check the polarity of your wires with a voltmeter.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''Always double check the polarity of the batteries before introducing into the UPS device.'''&amp;lt;br&amp;gt;&lt;br /&gt;
'''Improper configuration leads to system damage!!!'''&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt; NOTE:  Forced ventilation or 40% input or output current de-rating or both is required if any of the following conditions are met:&amp;lt;br&amp;gt;&lt;br /&gt;
If V(IN) 24-38V &amp;lt;br&amp;gt;&lt;br /&gt;
If I(Out) &amp;gt; 2A and T(ambient) &amp;gt; 30°C, open air operation.&amp;lt;br&amp;gt;&lt;br /&gt;
In order to prevent premature battery damage due to thermal exposure, always check NUC-UPS board temp and ensure it does not exceed 55C for your application.&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
The NUC-UPS was designed to provide +12V regulated power output from a wide input voltage(6V-38V).&amp;lt;br&amp;gt;&lt;br /&gt;
It has a range of intelligent functions not found in any of the traditional USB converters.&amp;lt;br&amp;gt;&lt;br /&gt;
The unit is able to gracefully shut down motherboards based on Ignition sensing or battery voltage level, by pulsing &lt;br /&gt;
&lt;br /&gt;
the motherboard on/off pins. This makes it an ideal device for automotive or battery powered installations.&amp;lt;br&amp;gt;&lt;br /&gt;
It features 4 replaceable Li-Ion batteries for battery backup integrated in the device, there is no need for any &lt;br /&gt;
&lt;br /&gt;
kind of special cabling between cells and UPS.&lt;br /&gt;
The charger is a Synchronous Buck-Boost converter capable of charging the batteries with input voltage below, equal &lt;br /&gt;
&lt;br /&gt;
or above battery voltage level.&lt;br /&gt;
It charges the battery in three phases: preconditioning, constant current mode and constant voltage mode. &amp;lt;br&amp;gt;&lt;br /&gt;
The output converter is a synchronous Buck converter providing regulated 12V output.&lt;br /&gt;
The unit can be used as an embedded UPS or as a Portable Energy Pack providing the user with regulated 12V wherever &lt;br /&gt;
&lt;br /&gt;
needed.&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
* USB interface, works with Windows devices (Linux API planned)&amp;lt;br&amp;gt;&lt;br /&gt;
* Input between 6-38V&amp;lt;br&amp;gt;&lt;br /&gt;
* Programmable thresholds, timings and configuration modes&amp;lt;br&amp;gt;&lt;br /&gt;
* Generates regulated 12V output voltage&amp;lt;br&amp;gt;&lt;br /&gt;
* Output current 5A continuous&lt;br /&gt;
* Supports Li-Ion (3.7V) battery chemistry&amp;lt;br&amp;gt;&lt;br /&gt;
* 3 state charger(precharge, constant current, constant voltage)&amp;lt;br&amp;gt;&lt;br /&gt;
* Battery balancing, 4S configuration.&amp;lt;br&amp;gt;&lt;br /&gt;
* Charge voltage 4x4.2V, charge current 1A, precharge current ~0.3A&amp;lt;br&amp;gt;&lt;br /&gt;
* Coulomb counting&amp;lt;br&amp;gt;&lt;br /&gt;
* Battery temperature monitoring for each cell and temperature compensated charge&amp;lt;br&amp;gt;&lt;br /&gt;
* Start/Stop button and header&amp;lt;br&amp;gt;&lt;br /&gt;
* Motherboard ON/OFF pulse control*&amp;lt;br&amp;gt;&lt;br /&gt;
* Motherboard detection by power consumption or 5VUSB presence&lt;br /&gt;
* Missing battery cells detection&amp;lt;br&amp;gt;&lt;br /&gt;
* Ultra low power consumption(5uA- in Deep Sleep mode) or (250uA- in Dumb mode Standby) or (5mA- Automotive mode &lt;br /&gt;
&lt;br /&gt;
Standby)&amp;lt;br&amp;gt;&lt;br /&gt;
* Windows detects device as “Battery”, with no special drivers required **&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Diagram &amp;amp; Schematics==&lt;br /&gt;
==Connectors==&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: inline; float: left;&amp;quot;&amp;gt;[[File:Nucupslegend.jpg|230px|thumb|left|Connectors nomenclature]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
===Power Input connectors===&lt;br /&gt;
;P1 Input (mini-FIT JR, 1x4 pins)&lt;br /&gt;
: P1.1,P1.2-GND&lt;br /&gt;
: P1.3-Ignition sensing&lt;br /&gt;
: P1.4-Input voltage&lt;br /&gt;
;P2 Input (DC Power Jack:2DC-G213-B49, Mating plug 5.50x2.50)&lt;br /&gt;
&lt;br /&gt;
;P3 Output (mini-FIT JR, 1x4 pins)&lt;br /&gt;
: P3.1,P3.2-GND&lt;br /&gt;
: P3.3,P3.4-Output voltage&lt;br /&gt;
;P4 Output (B4B-EH-A(LF)(SN), 1x4 pins)&lt;br /&gt;
: P4.1,P4.2-GND&lt;br /&gt;
: P4.3,P4.4-Output voltage&lt;br /&gt;
&lt;br /&gt;
===Interface connectors===&lt;br /&gt;
;P5 Motherboard POWER SW connection, no polarity (JST_B3B-PH-KL, 1x3pins)&lt;br /&gt;
: P5.1: SW1&lt;br /&gt;
: P5.2: GND&lt;br /&gt;
: P5.3: SW2&lt;br /&gt;
;P7 USB header	(B4B-PH-K-S(LF)(SN), 1x4pins)&lt;br /&gt;
: P7.1: GND&lt;br /&gt;
: P7.2: USB D-&lt;br /&gt;
: P7.3: USB D+&lt;br /&gt;
: P7.4: +5V&lt;br /&gt;
;S1&amp;amp;P9 Start/Stop button header (M20-9990246, 1x2pins)&lt;br /&gt;
;P8 Programming header&lt;br /&gt;
P8.1: MCLR&lt;br /&gt;
P8.2: GND&lt;br /&gt;
P8.3: 5V&lt;br /&gt;
P8.4: PGD&lt;br /&gt;
P8.5: PGC&lt;br /&gt;
&lt;br /&gt;
==NUC and OS Settings==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
*'''NUC related settings'''&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: inline; float: left;&amp;quot;&amp;gt;[[File:BIOS.png|230px|thumb|left|NUC Visual BIOS 2.0 Setting]]&amp;lt;/div&amp;gt;&lt;br /&gt;
:Setting up the NUC's behavior when power is re-applied:&amp;lt;br&amp;gt;&lt;br /&gt;
:- press '''F2''' key during the boot sequence to entering the NUC's BIOS (Visual BIOS 2.0)&amp;lt;br&amp;gt;&lt;br /&gt;
:- first click on '''Advanced''' then click on '''Power''' menu button&amp;lt;br&amp;gt;&lt;br /&gt;
:- in '''Secondary Power Settings''' section select '''Power On''' option for '''After Power Failure'''&amp;lt;br&amp;gt;&lt;br /&gt;
:- the picture shows the right option in a red framework&amp;lt;br&amp;gt;&lt;br /&gt;
:- now the power supply should be able to '''START''' the NUC by applying corresponding voltage to its power &lt;br /&gt;
&lt;br /&gt;
input&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Firmware update==&lt;br /&gt;
 It is recommended that you only connect USB power to the device &lt;br /&gt;
 when making a firmware update via “bootloader mode”.&lt;br /&gt;
&lt;br /&gt;
There are two ways to enter in bootloader mode: 1a) or 1b).&amp;lt;br&amp;gt;&lt;br /&gt;
1a) Place a jumper on the P8.4 and P8.5 pins then connect the unit to USB&amp;lt;br&amp;gt;&lt;br /&gt;
1b) Connect the unit to USB then press the Switch to bootloader button on the configuration software's user &lt;br /&gt;
&lt;br /&gt;
interface.&amp;lt;br&amp;gt;&lt;br /&gt;
2) Start the [https://wiki.mini-box.com/images/a/ae/Bootloader_Software.zip '''HIDBootloader v2.9j.exe'''] software &lt;br /&gt;
&lt;br /&gt;
provided to flash the new firmware.&amp;lt;br&amp;gt;&lt;br /&gt;
3)      Press File-&amp;gt;Import Firmware Image&amp;lt;br&amp;gt;&lt;br /&gt;
4)      Press Open new Hex [https://resources.mini-box.com/online/PWR-NUC-UPS/DCDC-NUCUPS-v1-4-2024.hex.zip '''File''']&amp;lt;br&amp;gt;&lt;br /&gt;
5)      Press Program-&amp;gt;Erase/Program/Verify Device&amp;lt;br&amp;gt;&lt;br /&gt;
6)      If used option 1a) remove the jumper &lt;br /&gt;
6)      Press Program-&amp;gt;Reset Device&amp;lt;br&amp;gt;&lt;br /&gt;
7) After the device reconnects on USB with the configuration software the new firmware version will be displayed in &lt;br /&gt;
&lt;br /&gt;
the title bar of the software.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==NUC-UPS operating modes==&lt;br /&gt;
For configuration purposes only the unit can be started by connecting the unit to USB.&amp;lt;br&amp;gt;&lt;br /&gt;
Inserting the batteries should be the first step to perform.&amp;lt;br&amp;gt;&lt;br /&gt;
Waking the unit for the first time implies applying input voltage.&amp;lt;br&amp;gt;&lt;br /&gt;
The operating modes can be selected by setting the NUC_UPS_MODE parameter to 0(DUMB mode) or 1(AUTOMOTIVE mode).&amp;lt;br&amp;gt;&lt;br /&gt;
Further parameters can be customized by changing in the [[NUC-UPS#Parameter_List|'''Parameter List''']].&amp;lt;br&amp;gt;&lt;br /&gt;
===Dumb Mode===&lt;br /&gt;
:When in this mode the unit still works as an UPS or it can be used as a general purpose battery pack.&amp;lt;br&amp;gt;&lt;br /&gt;
;Starting the unit&lt;br /&gt;
:In this mode starting can be performed either by applying input voltage or pressing the button for 500ms.&amp;lt;br&amp;gt;&lt;br /&gt;
;Stopping the unit&lt;br /&gt;
:In this mode stop sequence can be initiated by pressing the button for 500ms.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Automotive Mode===&lt;br /&gt;
;Starting the unit&lt;br /&gt;
:In this mode Starting can be performed by applying input voltage and applying ignition voltage.&amp;lt;br&amp;gt;&lt;br /&gt;
:The ignition voltage thresholds are configurable set by the IGN_HIGH_THRESHOLD, IGN_LOW_THRESHOLD parameters.The &lt;br /&gt;
&lt;br /&gt;
Ignition voltage must be higher than IGN_HIGH_THRESHOLD for the duration set by the IGN_COUNT parameter in order to &lt;br /&gt;
&lt;br /&gt;
filter out unwanted noise in automotive environment.&amp;lt;br&amp;gt;&lt;br /&gt;
;Stopping the unit&lt;br /&gt;
:In this mode stop sequence can be initiated if Ignition voltage is lower than IGN_LOW_THRESHOLD parameter for the &lt;br /&gt;
&lt;br /&gt;
duration set by the IGN_COUNT parameter.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Stop conditions that apply in both modes===&lt;br /&gt;
:When the unit is running on batteries the following conditions can initiate shutdown(the shutdown reason can be &lt;br /&gt;
&lt;br /&gt;
identified on the Status-UPS tab,Shutdown groupbox in the Configuration software):&amp;lt;br&amp;gt;&lt;br /&gt;
:-one of the cell voltages is less than UPS_VCELL_MIN_STOP parameter, shutdown sequence is initiated.&amp;lt;br&amp;gt;&lt;br /&gt;
:-the unit is on battery for more than UPS_ON_BATTERY_TOUT parameter, shutdown sequence is initiated.&amp;lt;br&amp;gt;&lt;br /&gt;
:-one of the cell voltages is less than UPS_VCELL_MIN_HARD_STOP parameter, shutdown is immediate.&amp;lt;br&amp;gt;&lt;br /&gt;
:-one of the batteries temperature is out of the limits set by the DCHG_TEMP_COLD, DCHG_TEMP_HOT parameters.&amp;lt;br&amp;gt;&lt;br /&gt;
:-overload, when the maximum allowed discharge current exceeds the value set by UPS_OVERLOAD parameter.&amp;lt;br&amp;gt;&lt;br /&gt;
:If output is out of regulation the unit is immediately stopped.&lt;br /&gt;
&lt;br /&gt;
===Startup and Shutdown sequence===&lt;br /&gt;
====Startup sequences====&lt;br /&gt;
[[File:Dumb_mode_waking_with_VIN.PNG|600px]]&lt;br /&gt;
[[File:Dumb_mode_waking_with_button.PNG|600px]]&lt;br /&gt;
[[File:Automotive_mode_waking_with_Ignition.PNG|600px]]&amp;lt;br&amp;gt;&lt;br /&gt;
====Shutdown sequences====&lt;br /&gt;
[[File:Gracious_shutdown.PNG|600px]]&lt;br /&gt;
[[File:Immediate_shutdown.PNG|600px]]&lt;br /&gt;
&lt;br /&gt;
===Motherboard control===&lt;br /&gt;
The following options are available to control the motherboard by pulsing the on/off pins on the motherboard.&lt;br /&gt;
First the the motherboard On/OFF pins should be connected to the P5.1,P5.3 pin on the P5 [[NUC-UPS#Interface_connectors|'''Interface_connector''']].&amp;lt;br&amp;gt;&lt;br /&gt;
The pulse width is 500ms by default which can be altered by changing MOB_PULSEWIDTH parameter from the [[NUC-UPS#Parameter_List|'''Parameter_List''']].&amp;lt;br&amp;gt;&lt;br /&gt;
There are various ways to control the motherboard depending the configuration of the CONFIG1 register from the [[NUC-UPS#Parameter_List|'''Parameter_List''']].&amp;lt;br&amp;gt;&lt;br /&gt;
Example:If startup of the motherboard is not needed when input is present, the startup pulse can be disabled by setting CONFIG1.b0 to 0.&amp;lt;br&amp;gt;&lt;br /&gt;
The same way the shutdown pulse can be inhibited by setting CONFIG1.b1 to 0.&amp;lt;br&amp;gt;&lt;br /&gt;
There are cases when motherboard started(ON) or OFF presence must be detected in order starting/stopping by pulses behavior work properly.&amp;lt;br&amp;gt;&lt;br /&gt;
For example the Operating System could be shutdown already from software. In case the unit is is a shutdown sequence not knowing this piece of information would lead by sending the shutdown pulse which would wake up instead the system.&amp;lt;br&amp;gt;&lt;br /&gt;
There are two kinds of feedback information to detect motherboard status.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The first detection mode is by measuring the consumed output power, knowing that a motherboard when started consumes much more power than when in standby.&amp;lt;br&amp;gt;&lt;br /&gt;
In order to enable  this feature the following steps should be performed:&amp;lt;br&amp;gt;&lt;br /&gt;
1. Enable this feature, CONFIG1.b2 should be set to 1.&amp;lt;br&amp;gt;&lt;br /&gt;
2. Observe and note the consumption of the connected motherboard when in standby and when is ON.&lt;br /&gt;
Our unit measures the output power(POUT) which is displayed in the configuration software.&amp;lt;br&amp;gt;&lt;br /&gt;
3. Set POUT_HIGH_THRESHOLD and POUT_LOW_THRESHOLD parameters from the [[NUC-UPS#Parameter_List|'''Parameter_List''']] accordingly with a good margin. &amp;lt;br&amp;gt;&lt;br /&gt;
POUT&amp;lt;POUT_LOW_THRESHOLD motherboard is considered OFF.&amp;lt;br&amp;gt;&lt;br /&gt;
POUT&amp;gt;POUT_HIGH_THRESHOLD motherboard is considered ON.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The second detection mode is by measuring the +5VUSB signal. Usually motherboards turn OFF the +5VUSB signal when they are OFF.&amp;lt;br&amp;gt;&lt;br /&gt;
In order to enable this feature CONFIG1.b3 must be set to 1.&lt;br /&gt;
&lt;br /&gt;
==NUC-UPS charger==&lt;br /&gt;
The charger is a Synchronous Buck-Boost converter capable of charging the batteries with an input voltage below, equal or above battery voltage level.&amp;lt;br&amp;gt;&lt;br /&gt;
The charging happens three phases: preconditioning, constant current mode and constant voltage mode: &lt;br /&gt;
:• The charging is starting with a preconditioning phase, where the current is limited to ~350mA. The preconditioning phase has a minimum duration set by CHG_COND_TOUT which is extended if one of the cells voltage is below the limit set by CHG_CELL_VCOND.&amp;lt;br&amp;gt;&lt;br /&gt;
:• In constant current phase charge current is limited to 1A. After battery voltage rises to the value set by the hardware charger, the charger will enter constant voltage mode.&amp;lt;br&amp;gt;&lt;br /&gt;
:• In constant voltage phase the battery will absorb less current as time passes and charge current will decrease. When the charge current decreases below ~150mA, charging is stopped.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
During low power state the charger is disabled, so the charger module is also disabled in automotive mode when the Ignition is OFF, even if input is present.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Charging will be terminated if a global charge timer elapses, this can be set by CHG_GLOBAL_TOUT parameter.&amp;lt;br&amp;gt;&lt;br /&gt;
Charging is limited to precharge value if one of the batteries temperature exceeds limits set by CHG_TEMP_COOL,CHG_TEMP_WARM parameters.&amp;lt;br&amp;gt;&lt;br /&gt;
Charging is terminated if one of the batteries temperature exceeds the limits set by CHG_TEMP_COLD,CHG_TEMP_HOT. &amp;lt;br&amp;gt;&lt;br /&gt;
In order to work properly the following conditions when changing parameters must be fulfilled: CHG_TEMP_COLD &amp;lt; CHG_TEMP_COOL &amp;lt; CHG_TEMP_WARM &amp;lt; CHG_TEMP_HOT. &lt;br /&gt;
&lt;br /&gt;
The temperature sensors are located just below the batteries for proper temperature detection of each cell.&amp;lt;br&amp;gt;&lt;br /&gt;
:[[File:Charge-regulation.png|325px|thumb|left|]]&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==NUC-UPS Charge Balancer==&lt;br /&gt;
The balancing algorithm is voltage based. Balancing is allowed if cell voltage exceeds the value set in the BAL_VCELL_MIN parameter.&amp;lt;br&amp;gt;&lt;br /&gt;
Balancing is started if the voltage difference between the cells is higher than BAL_VCELL_DIFF_START, and will be stopped if the difference is lower than the value defined in BAL_VCELL_DIFF_STOP parameter.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==NUC-UPS Fuel gauge==&lt;br /&gt;
The initial remaining capacity is detected based on an open-circuit voltage based state-of-charge estimation, using the predefined values set by the OCV_SOCxx parameters. &lt;br /&gt;
Further estimation is based on coulomb counting method which is more precise after a full charge cycle has been performed.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Led Blinking==&lt;br /&gt;
The unit has two LEDs on board (Red and Green), located on the right and left side of the USB connector.&amp;lt;br&amp;gt;&lt;br /&gt;
While there are scenarios where both LEDs are blinking with a certain pattern, the LEDs generally help identifying the power source that runs the UPS output at any given moment.&lt;br /&gt;
:• The green LED signals that the NUC-UPS is running from input voltage&lt;br /&gt;
:• The red LED signals that the NUC-UPS is running from batteries&lt;br /&gt;
&lt;br /&gt;
The blinking patterns that can occur during operation are shown in the images below. The duration of LED blinks can also be seen on the images, displayed in milliseconds.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:LED_LPWR_Mode_On_USB_Or_In_Automotive_Standby.PNG|600px]]&lt;br /&gt;
[[File:LED_Initial_Delay.PNG.PNG|600px]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:LED_Batteries_Charging.PNG|600px]]&lt;br /&gt;
[[File:LED_Running_From_Vin.PNG|600px]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:LED_Running_From_Battery.PNG|600px]]&lt;br /&gt;
[[File:LED_Wait_Hardoff_Running_From_Vin.PNG|600px]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:LED_Wait_Hardoff_Running_From_Battery.PNG|600px]]&lt;br /&gt;
[[File:LED_Missing.PNG|600px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Parameter List==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! NAME&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| NUC_UPS_MODE[-]&lt;br /&gt;
| &amp;lt;pre&amp;gt;&lt;br /&gt;
0-Dumb mode	                           (DUMB)&lt;br /&gt;
1-Automotive mode	   	   	   (AUTOMOTIVE)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
NUC_UPS_MODE&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| UPS_ON_BATTERY_TOUT&lt;br /&gt;
| &lt;br /&gt;
Deep sleep timeout. If system is running on battery and this period has elapsed with no input power applied, the UPS &lt;br /&gt;
&lt;br /&gt;
will initiate shut down procedure. &amp;quot;Never&amp;quot; is allowed as value (to disable this feature). Default is &amp;quot;Never&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| INIT_TOUT&lt;br /&gt;
| &lt;br /&gt;
When all power supply start-up conditions are met, the PSU will wait this time before continuing with the start-up &lt;br /&gt;
&lt;br /&gt;
sequence.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| VIN_MIN_STARTUP&lt;br /&gt;
| &lt;br /&gt;
If the input voltage is beyond this threshold and all other start-up conditions are met, the PSU can start. Default &lt;br /&gt;
&lt;br /&gt;
is 11000mV.&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| VIN_MIN_RUNNING&lt;br /&gt;
| &lt;br /&gt;
If input voltage is below this threshold, the output is powered from battery. Default is 8000mV.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| VIN_COUNT&lt;br /&gt;
| &lt;br /&gt;
Input voltage filtering. Default is 100ms.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| IGN_COUNT&lt;br /&gt;
| &lt;br /&gt;
Ignition voltage filtering. Default is 100ms.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| IGN_HIGH_THRESHOLD&lt;br /&gt;
| &lt;br /&gt;
If ignition voltage is beyond this threshold, ignition is considered to be ON. Default is 6000mV.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| IGN_LOW_THRESHOLD&lt;br /&gt;
| &lt;br /&gt;
If ignition voltage is below this threshold, ignition is considered to be OFF. Default is 5000mV.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| IGN_ON_TO_OUTPUT_ON_TOUT&lt;br /&gt;
| &lt;br /&gt;
After ignition is considered ON, the PSU will wait this time before the output is turned ON. Default is 2000ms.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| IGN_CANCEL_TOUT&lt;br /&gt;
| &lt;br /&gt;
After the motherboard boots up, the ignition voltage sensing will be disabled for this period. Default is 60s.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| OUTPUT_ON_TO_MOB_PULSE_ON_TOUT&lt;br /&gt;
| &lt;br /&gt;
After the output was turned on, the UPS will wait this period before sending the ON pulse to the motherboard. &lt;br /&gt;
&lt;br /&gt;
Default is 20ms&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| IGN_OFF_TO_MOB_PULSE_OFF_TOUT&lt;br /&gt;
| &lt;br /&gt;
In automotive mode, after the ignition is considered OFF, this UPS will wait this period before sending the OFF &lt;br /&gt;
&lt;br /&gt;
pulse to the motherboard. Default is 5s&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| MOB_PULSEWIDTH&lt;br /&gt;
| &lt;br /&gt;
The length of the start-up/shutdown pulse sent to the motherboard. Default is 500ms.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| HARD_OFF_TOUT&lt;br /&gt;
| &lt;br /&gt;
After the shutdown pulse is sent to the motherboard, the UPS will wait this period before the output is turned OFF.&lt;br /&gt;
This time-out allows the operating system to perform a clean shutdown. Default is 60s.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| PWM_SPREAD_MODULATING_FREQ&lt;br /&gt;
| &lt;br /&gt;
Modulation frequency parameter of the Random Spread Frequency Modulation module (used for EMI reduction purposes)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| PWM_SPREAD_PERCENT&lt;br /&gt;
| &lt;br /&gt;
Frequency deviation parameter of the Random Spread Frequency Modulation module (used for EMI reduction purposes)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| PWM_FREQ&lt;br /&gt;
| &lt;br /&gt;
Operating frequency of the Switched Mode Power Supply&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| CONFIG1&lt;br /&gt;
| &lt;br /&gt;
Configuration register [b7..b0]. Used for enabling/disabling modules. 0 - disabled, 1 - enabled &amp;lt;br&amp;gt; &lt;br /&gt;
b7 - Unused &amp;lt;br&amp;gt;&lt;br /&gt;
b6 - Unused &amp;lt;br&amp;gt;&lt;br /&gt;
b5 - Unused &amp;lt;br&amp;gt;&lt;br /&gt;
b4 - Unused &amp;lt;br&amp;gt;&lt;br /&gt;
b3 - If set, the USB sense is enabled, +5V USB is used to detect the Motherboard alive status&amp;lt;br&amp;gt;&lt;br /&gt;
b2 - If set, the Power measurement (Vout x Iout) is used to detect the Motherboard alive status&amp;lt;br&amp;gt;&lt;br /&gt;
b1 - If set, shutdown pulse is enabled through the PWRSW connector.&amp;lt;br&amp;gt;&lt;br /&gt;
b0 - If set, startup pulse is enabled through the PWRSW connector.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Depending motherboard alive status the shutdown/startup pulse is sent if b2/b3 is enabled.&lt;br /&gt;
The motherboard presence can be smartly detected if b2/b3 is enabled.&lt;br /&gt;
For example: In case motherboard is already shut down the pulse is not sent in case of a shutdown scenario. &lt;br /&gt;
This is also true in case of a startup scenario.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| CONFIG2&lt;br /&gt;
| &lt;br /&gt;
Configuration register. Used for enabling/disabling modules. 0 - disabled, 1 - enabled &amp;lt;br&amp;gt;&lt;br /&gt;
b7..b0 - Reserved/Unused &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| WRITE_COUNT&lt;br /&gt;
| &lt;br /&gt;
The number of times the internal Flash program memory has been written.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| IOUT_OFFSET&lt;br /&gt;
| &lt;br /&gt;
This value will be summed with the measured input current, this is a calibration parameter. Default is 0mA&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| CAPACITY&lt;br /&gt;
| &lt;br /&gt;
Battery Capacity.&lt;br /&gt;
Default is 1000mAh.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| UPS_BUTTON_ON_TOUT&lt;br /&gt;
| &lt;br /&gt;
Filtering time for button pressing. Default is 100ms.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| UPS_VCELL_MIN_START&lt;br /&gt;
| &lt;br /&gt;
If Vin is not present and all the battery cells are above this threshold, the UPS can start and will run on battery.&lt;br /&gt;
Default is 3.6V.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| UPS_VCELL_MIN_STOP&lt;br /&gt;
| &lt;br /&gt;
If VIN is not present and one of the battery cells is less than this threshold , the UPS will initiate a shutdown &lt;br /&gt;
&lt;br /&gt;
procedure.&lt;br /&gt;
Default is 3.3V.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| UPS_VCELL_MIN_HARD_STOP&lt;br /&gt;
| &lt;br /&gt;
If VIN is not present and one of the battery cells is less than this threshold, the UPS will instantly shut down to &lt;br /&gt;
&lt;br /&gt;
preserve battery.&lt;br /&gt;
Default is 3V.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| UPS_OVERLOAD&lt;br /&gt;
| &lt;br /&gt;
Max allowed discharge current. In case the discharge current exceeds this threshold, shutdown will be initiated.&lt;br /&gt;
Default is 6000mA&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| DCHG_TEMP_COLD&lt;br /&gt;
| &lt;br /&gt;
COLD temperature threshold for discharge. In case exceeded UPS will shutdown when on battery. Default is -20°C (FW &lt;br /&gt;
&lt;br /&gt;
ver 1.1)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| DCHG_TEMP_HOT&lt;br /&gt;
| &lt;br /&gt;
HOT temperature threshold for discharge. In case exceeded UPS will shutdown when on battery. Default is 60°C (FW ver &lt;br /&gt;
&lt;br /&gt;
1.1)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| CHG_COND_TOUT&lt;br /&gt;
| &lt;br /&gt;
Conditioning/Precharge time. Charge current is limited until cell voltage exceeds CHG_VCOND value and it is applied &lt;br /&gt;
&lt;br /&gt;
during this time.&lt;br /&gt;
Default is 30 sec. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| CHG_BULK_STOP_VOLTAGE&lt;br /&gt;
| &lt;br /&gt;
Maximum allowed bulk charge voltage/cell during constant current/constant voltage charging.&lt;br /&gt;
Default is 4.1 [V/cell].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| CHG_HYSTERESIS&lt;br /&gt;
| &lt;br /&gt;
An overvoltage value ( CHG_BULK_STOP_VOLTAGE + CHG_HYSTERESIS ) that is allowed when charging. If one of the cells &lt;br /&gt;
&lt;br /&gt;
exceeds this value, charging is immediately stopped.&lt;br /&gt;
Default is 100mV/cell.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| CHG_START_VOLTAGE&lt;br /&gt;
| &lt;br /&gt;
If cell voltage is below this value, charging can be started.&lt;br /&gt;
Default is 3.85V/cell.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| CHG_GLOBAL_TOUT&lt;br /&gt;
| &lt;br /&gt;
Global charge timeout.&lt;br /&gt;
Default is 240 min.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| CHG_TOPPING_TOUT&lt;br /&gt;
| &lt;br /&gt;
After an overvoltage condition is detected for a cell (for Lithium based batteries), a resting period is set by this &lt;br /&gt;
&lt;br /&gt;
timer before applying a small topping charge - in case other cells are still not charged.&lt;br /&gt;
Default is 60s.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| CHG_TEMP_COLD&lt;br /&gt;
| &lt;br /&gt;
COLD temperature threshold for temperature compensated charge current regulation.&lt;br /&gt;
Default 5°C(FW ver 1.0)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| CHG_TEMP_COOL&lt;br /&gt;
| &lt;br /&gt;
COOL temperature threshold for temperature compensated charge current regulation.&lt;br /&gt;
Default 10°C(FW ver 1.0)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| CHG_TEMP_WARM&lt;br /&gt;
| &lt;br /&gt;
WARM temperature threshold for temperature compensated charge current regulation.&lt;br /&gt;
Default 50°C(FW ver 1.0)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| CHG_TEMP_HOT&lt;br /&gt;
| &lt;br /&gt;
HOT temperature threshold for temperature compensated charge current regulation.&lt;br /&gt;
Default 55°C(FW ver 1.0)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| UPS_VCELL_ADC_OFFSET&lt;br /&gt;
| &lt;br /&gt;
This value will be summed with the measured cell voltages, this is a calibration parameter. Default is 0mV.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| CHG_CELL_VCOND&lt;br /&gt;
| &lt;br /&gt;
Conditioning/Pre-charge voltage. Charge current is limited until cell voltage exceeds this value and for at least &lt;br /&gt;
&lt;br /&gt;
CHG_TCOND time . Default is 3.3V&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| BAL_VCELL_MIN&lt;br /&gt;
| &lt;br /&gt;
Balancing is allowed if cell voltages are above this value.&lt;br /&gt;
Default is 3.4V&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| BAL_VCELL_DIFF_START&lt;br /&gt;
| &lt;br /&gt;
If the voltage difference between cells exceeds this value, cell balancing will start.&lt;br /&gt;
Default is 80mV.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| BAL_VCELL_DIFF_STOP&lt;br /&gt;
| &lt;br /&gt;
If the voltage difference between cells is less than this value, cell balancing will stop.&lt;br /&gt;
Default is 40mV.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| OCV_SOC0&lt;br /&gt;
| &lt;br /&gt;
Open Circuit Voltage State Of Charge detection for initial 0% fuel gauge estimation.&lt;br /&gt;
Default is 3.3V.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| OCV_SOC10&lt;br /&gt;
| &lt;br /&gt;
Open Circuit Voltage State Of Charge detection for initial 10% fuel gauge estimation.&lt;br /&gt;
Default is 3.68V.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| OCV_SOC25&lt;br /&gt;
| &lt;br /&gt;
Open Circuit Voltage State Of Charge detection for initial 25% fuel gauge estimation.&lt;br /&gt;
Default is 3.76V.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| OCV_SOC50&lt;br /&gt;
| &lt;br /&gt;
Open Circuit Voltage State Of Charge detection for initial 50% fuel gauge estimation.&lt;br /&gt;
Default is 3.82V.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| OCV_SOC75&lt;br /&gt;
| &lt;br /&gt;
Open Circuit Voltage State Of Charge detection for initial 75% fuel gauge estimation.&lt;br /&gt;
Default is 3.97V.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| OCV_SOC100&lt;br /&gt;
| &lt;br /&gt;
Open Circuit Voltage State Of Charge detection for initial 100% fuel gauge estimation.&lt;br /&gt;
Default is 4.17V.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| POUT_HIGH_THRESHOLD&lt;br /&gt;
| &lt;br /&gt;
If output power measured is higher than this threshold the connected motherboard is considered to be ON.&lt;br /&gt;
Together with POUT_LOW_THRESHOLD parameter sets a hysteresis for motherboard status. CONFIG1.b2 must be set in order to be active. Default is 3000mW.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| POUT_LOW_THRESHOLD&lt;br /&gt;
| &lt;br /&gt;
If output power measured is lower than this threshold the connected motherboard is considered to be OFF.&lt;br /&gt;
Together with POUT_HIGH_THRESHOLD parameter sets a hysteresis for motherboard status. CONFIG1.b2 must be set in order to be active. Default is 1000mW.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Software manual==&lt;br /&gt;
===Windows OS built-in support===&lt;br /&gt;
The NUC-UPS implements two generic USB classes, therefore most of the operating systems are recognizing it without &lt;br /&gt;
&lt;br /&gt;
any additional driver installation. This two classes are:&lt;br /&gt;
   a.) &amp;quot;HID UPS Battery&amp;quot; for OS built-in communication.&lt;br /&gt;
Microsoft Windows versions are recognizing this class automatically and the device should appear in device manager &lt;br /&gt;
&lt;br /&gt;
at Batteries as a &amp;quot;Hid ups battery&amp;quot;, together with all settings and power plan possibilities provided by the OS for &lt;br /&gt;
&lt;br /&gt;
any battery.&lt;br /&gt;
   b.) &amp;quot;HID&amp;quot; for communication and configuration&lt;br /&gt;
This endpoint is a generic HID and it is used by our configuration and monitor software to read/write voltages and &lt;br /&gt;
&lt;br /&gt;
other important parameters of the NUC-UPS. This endpoint does not needs any additional driver either, Microsoft &lt;br /&gt;
&lt;br /&gt;
Windows OS should recognize it as a generic HID USB device.&lt;br /&gt;
&lt;br /&gt;
===Configuration software===&lt;br /&gt;
The configuration software provides interface for NUC-UPS monitoring, logging and setup.&lt;br /&gt;
It's recommended to be used by users with deeper understanding of the NUC-UPS hardware since permits setting &lt;br /&gt;
&lt;br /&gt;
voltages, currents and other parameters which can be&lt;br /&gt;
dangerous if they are set without precaution.&amp;lt;br /&amp;gt;&lt;br /&gt;
The configuration software has three main screens (Status-UPS, Status-Charger and Settings) and a header with the &lt;br /&gt;
&lt;br /&gt;
important voltage/current values.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====The first main screen is the &amp;quot;Status-UPS&amp;quot;====&lt;br /&gt;
Example of this screen is shown in the next image:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: inline; float: left;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:NUC-UPS-Status.JPG‎|x350px|thumb|left|Status screen]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The title bar shows the connection status, the firmware version and the mode of the NUC-UPS. Example: &amp;quot;NUC-UPS &lt;br /&gt;
&lt;br /&gt;
Connected v1.0 Mode: Dumb&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The header of the status screen contains:&lt;br /&gt;
:VIn: Input Voltage&lt;br /&gt;
:VIgn: Ignition Voltage&lt;br /&gt;
:VBat: Battery Voltage&lt;br /&gt;
:VOut: Output Voltage&lt;br /&gt;
:POut: Output Power&lt;br /&gt;
:IOut: Output Current&lt;br /&gt;
:Battery pack %: Battery percentage&lt;br /&gt;
:[0]: Battery 0 status&lt;br /&gt;
:[1]: Battery 1 status&lt;br /&gt;
:[2]: Battery 2 status&lt;br /&gt;
:[3]: Battery 3 status&lt;br /&gt;
:[Pack]: Battery pack overall voltage and current&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Status-UPS&amp;quot; screen contains extended information about the current state of the NUC-UPS like internal state &lt;br /&gt;
&lt;br /&gt;
machine, voltages, currents, temperature, different read only state flags.&lt;br /&gt;
The user also have the possibility to log the current state into a *.csv file in the &amp;quot;Log&amp;quot; section.&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====The second main screen is the &amp;quot;Status-Charger&amp;quot;====&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: inline; float: left;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:NUC-UPS-Charger.JPG‎|x350px|thumb|left|Status screen]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Contains extended information about current state of the NUC-UPS battery charger (internal state machines, flags)&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====The third main screen is the &amp;quot;Settings&amp;quot;====&lt;br /&gt;
Example of this screen is shown in the next image:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: inline; float: left;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:NUC-UPS-Settings.JPG‎|x350px|thumb|left|Settings screen]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This screen contains two main sections: the individual parameter setup for experienced users and the parameter &lt;br /&gt;
&lt;br /&gt;
save/load into/from file section.&lt;br /&gt;
&lt;br /&gt;
The main section of the &amp;quot;Settings&amp;quot; screen is the individual parameter settings.&amp;lt;br&amp;gt;&lt;br /&gt;
This is recommended to be done only by experienced users. Any parameter of the NUC-UPS can be set from here.&lt;br /&gt;
&lt;br /&gt;
Changing one parameter is simple:&lt;br /&gt;
:- select the desired parameter from the &amp;quot;Parameter&amp;quot; list (simple click to select, double-click to edit). Below the &lt;br /&gt;
&lt;br /&gt;
parameter list a helper text is displayed (same from this manual).&lt;br /&gt;
:- after double click introduce the new value in the new popup dialog and press OK&lt;br /&gt;
:- the introduced value is checked - if something is wrong (out of limit, bad value etc.) error message will be &lt;br /&gt;
&lt;br /&gt;
shown&lt;br /&gt;
:- the ! sign will blink on the &amp;quot;Sync all parameters to the NUC-UPS&amp;quot; button to show edited but not saved/synced &lt;br /&gt;
&lt;br /&gt;
variables&lt;br /&gt;
:- after You have done with all parameter setting press the &amp;quot;Sync all parameters to the NUC-UPS&amp;quot; button to send all &lt;br /&gt;
&lt;br /&gt;
values to the NUC-UPS. IMPORTANT: without this step the new values will be lost, nothing is sent to the NUC-UPS!&lt;br /&gt;
&lt;br /&gt;
IMPORTANT: any parameter setting is taken into account by the NUC-UPS in this cases:&lt;br /&gt;
: - after a full restart either with power cut from all sources (usb, vin)&lt;br /&gt;
: - hitting the &amp;quot;Restart NUC-UPS&amp;quot; button&lt;br /&gt;
: - keeping the &amp;quot;Reload parameters on the fly after sync&amp;quot; checked. &lt;br /&gt;
Do any parameter change with precaution, check the parameters and wires before applying it!&lt;br /&gt;
&lt;br /&gt;
For users who need to setup more devices with the same NUC-UPS settings, it is recommended to use the save/load &lt;br /&gt;
&lt;br /&gt;
parameters buttons.&lt;br /&gt;
The &amp;quot;Parameters: NUC-UPS ===&amp;gt; File (settings.ini)&amp;quot; button loads a full configuration from the NUC-UPS and saves it &lt;br /&gt;
&lt;br /&gt;
to the settings.ini file. You can disconnect&lt;br /&gt;
the current NUC-UPS from the USB and insert a new one, than press the &amp;quot;Parameters: NUC-UPS &amp;lt;=== File (settings.ini)&amp;quot; &lt;br /&gt;
&lt;br /&gt;
button to send the last saved configuration into the new NUC-UPS.&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Parameters: NUC-UPS ===&amp;gt; CSV File (settings.csv)&amp;quot; button loads all parameters from the connected NUC-UPS and &lt;br /&gt;
&lt;br /&gt;
saves it into a csv file. This type of file can be opened by any spreadsheet editor (OpenOffice, Microsoft Excel &lt;br /&gt;
&lt;br /&gt;
etc.) and contains the full set of parameters in human readable form.&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Switch to bootloader&amp;quot; button is intended to be used for firmware updates. After You press this button the NUC-&lt;br /&gt;
&lt;br /&gt;
UPS will disconnect, it will switch to bootloader mode and firmware can be updated as described [[NUC-&lt;br /&gt;
&lt;br /&gt;
UPS#Bootloader_Mode|here]] &lt;br /&gt;
&lt;br /&gt;
Every save/load/sync operation on the &amp;quot;Settings&amp;quot; screen affects the progress bar and the status bar on the bottom of &lt;br /&gt;
&lt;br /&gt;
the screen (labelled with &amp;quot;State:&amp;quot;). In rare cases You&lt;br /&gt;
might get error here with &amp;quot;try again&amp;quot; message. This happens in case of one parameter byte get's corrupted or timeout &lt;br /&gt;
&lt;br /&gt;
occurs during USB communication and/or NUC-UPS flashing&lt;br /&gt;
operation. Please try again and contact our support team only if the device gives this error 4-5 times in a row.&lt;br /&gt;
&lt;br /&gt;
===Windows System monitor===&lt;br /&gt;
The system monitor is a tray bar software which shows the current state on the tray bar icon and a semi transparent &lt;br /&gt;
&lt;br /&gt;
&amp;quot;always on top&amp;quot; capable small window.&amp;lt;br&amp;gt;&lt;br /&gt;
The popup window can be moved anywhere on the screen and can be customized. Our current setup has two skins but any &lt;br /&gt;
&lt;br /&gt;
combination is possible playing with the&lt;br /&gt;
&amp;quot;skin*.mbs&amp;quot; files installed together with this application. The current skin can be selected right clicking on the &lt;br /&gt;
&lt;br /&gt;
try icon.&lt;br /&gt;
The &amp;quot;skin*.mbs&amp;quot; files are simple text ones editable with any text editor (notepad for example).&amp;lt;br&amp;gt; &lt;br /&gt;
Adding a new skin is pretty simple – make a skin1.mbs (use the existing skin0.mbs for starting content) and start &lt;br /&gt;
&lt;br /&gt;
playing with the values from the new&lt;br /&gt;
file.&amp;lt;br&amp;gt;&lt;br /&gt;
The values are self explanatory – skin name, background image files, font descriptions and label/value pair &lt;br /&gt;
&lt;br /&gt;
coordinates for all the important NUC-UPS values.&lt;br /&gt;
The size of the popup is defined by the background image – transparent parts can be defined as well (see for &lt;br /&gt;
&lt;br /&gt;
example: &amp;quot;bubble1.bmp&amp;quot;).&lt;br /&gt;
Example screenshots:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: inline; float: left;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:NUCUPS_sm_tray2.jpg‎|x150px|thumb|left|System monitor skin1 connected]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: inline; float: left;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:NUCUPS_sm_tray3.jpg‎|x150px|thumb|left|System monitor skin1 disconnected]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Right clicking on the tray icon will pop-up a simple menu:&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: inline; float: left;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:NUCUPS_sm_menu.jpg‎|x150px|thumb|left|System monitor settings]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
From which You can see firmware version and state of the NUC-UPS from the NUC-UPS Properties and set some visual &lt;br /&gt;
&lt;br /&gt;
parameters of the application (transparency, skin) from Skin:&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: inline; float: left;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:NUCUPS_sm_traysettings.jpg‎|x150px|thumb|left|System monitor settings]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For auto start with the system make a shortcut of AppTray.exe from the standalone package in the system Startup ([https://windows.microsoft.com/en-us/windows/run-program-automatically-windows-starts#1TC=windows-7 Windows 7], [https://support.microsoft.com/kb/2806079 Windows 8]).&lt;br /&gt;
&lt;br /&gt;
===Download software===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|'''Version'''||'''Change list'''&lt;br /&gt;
|-&lt;br /&gt;
||[https://wiki.mini-box.com/images/3/33/NUCUPSv1.0.zip '''1.0''']||First version&lt;br /&gt;
|-&lt;br /&gt;
||[https://wiki.mini-box.com/images/5/55/NUCUPSv1.1.zip '''1.1''']||Update for Firmware 1.1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Developer manual===&lt;br /&gt;
Mini-box.com provides one NUC-UPS API in a DLL (NUCUpsLib.dll) and examples in Visual C++, Visual Basic and Visual &lt;br /&gt;
&lt;br /&gt;
C#.&amp;lt;br&amp;gt;&lt;br /&gt;
Basic C++/Visual Basic/C# knowledge is needed to use this examples together with the API.&lt;br /&gt;
The API dll has manifest embedded to permit C# and Visual Basic dynamic load.&lt;br /&gt;
&lt;br /&gt;
The API has a set of functions exported to access the full functionality of the NUC-UPS.&lt;br /&gt;
This functions are:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API const char* STATE_MACHINE_UPS[14];//state machine UPS&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API const char* STATE_MACHINE_AFE[8];//state machine AFE&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API const char* STATE_MACHINE_CHG[16];//state machine Charger&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API const char* STATE_MACHINE_DTCT[16];//state machine Detect&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API const char* STATE_MACHINE_LOWP[4];//state machine low power states&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API unsigned char nucupsOpenDeviceHandler(unsigned int timer);//open device handler. timer &lt;br /&gt;
&lt;br /&gt;
sets the refresh period in miliseconds (4 or 5 messages will be sent in this period e ending from debug mode) &lt;br /&gt;
&lt;br /&gt;
IMPORTANT: the handler can be kept open to notice any NUC-UPS plugged in&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API void nucupsCloseDeviceHandler();//close device handler&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API void getNUCUpsDevicePath(char* path);//Get opened device path @param path - recommended &lt;br /&gt;
&lt;br /&gt;
length 1024, will return empty string if no device opened&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API unsigned char isNUCUpsConnected();//0=not connected, 1=normal state,2=loading settings &lt;br /&gt;
&lt;br /&gt;
from device,3=saving settings from pc,4=saving settings from file&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API unsigned char getNUCUpsMode();//get NUC-UPS mode: 0=Dumb, 1=Automotive&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API unsigned int  getNUCUpsInputFlags();//get NUC-UPS input flags&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API unsigned int  getNUCUpsOutputFlags();//get NUC-UPS output flags&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API unsigned int  getNUCUpsChargerFlags();//get NUC-UPS charger flags&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API unsigned int  getNUCUpsStateFlags();//get NUC-UPS state flags&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API unsigned int  getNUCUpsShutdownFlags();//get NUC-UPS shutdown flags&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API float getNUCUpsVIn();//get NUC-UPS Input Voltage&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API float getNUCUpsIOut();//get NUC-UPS Output Current&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API float getNUCUpsVOut();//get NUC-UPS Output voltage&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API float getNUCUpsVBats(int i);//get NUC-UPS battery voltages&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API float getNUCUpsTemperature(int i);//get NUC-UPS battery temperature&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API unsigned char getNUCUpsCellBalanceOn(int i);//get NUC-UPS balanced battery (discharged)&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API unsigned char getNUCUpsCellDetected(int i);//get NUC-UPS battery detected&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API float getNUCUpsVIgnition();//get NUC-UPS Ignition Voltage&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API float getNUCUpsPOut();//get NUC-UPS Output Power&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API float getNUCUpsVBat();//get NUC-UPS Bat voltage&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API float getNUCUpsVPack();//get NUC-UPS Pack voltage&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API float getNUCUpsIChgDchg();//get NUC-UPS Charge/Discharge current&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API unsigned int getNUCUpsSpecConsts(unsigned int type, unsigned int index);//get NUC-UPS &lt;br /&gt;
&lt;br /&gt;
special constants&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API unsigned char getNUCUpsVerMajor();//get NUC-UPS major version of the firmware&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API unsigned char getNUCUpsVerMinor();//get NUC-UPS minor version of the firmware&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API unsigned char getNUCUpsState();//0 - not connected, 1 - running from battery, 2 - from &lt;br /&gt;
&lt;br /&gt;
vin, 3 - from USB&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API void setNUCUpsDBGMode(unsigned char dbg);//set dbg mode &lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API unsigned char getNUCUpsDbgByte(int i);//get NUC-UPS debug bytes - valid only after &lt;br /&gt;
&lt;br /&gt;
setNUCUpsDBGMode(1)&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API unsigned char getNUCUpsDbg2Byte(int i);//get NUC-UPS debug bytes - valid only after &lt;br /&gt;
&lt;br /&gt;
setNUCUpsDBGMode(1)&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API unsigned char getNUCUpsDbg3Byte(int i);//get NUC-UPS debug bytes - valid only after &lt;br /&gt;
&lt;br /&gt;
setNUCUpsDBGMode(1)&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API unsigned int  getNUCUpsTimer(unsigned int cnt);//get NUC-UPS timer&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API unsigned int  getNUCUpsStateMachines(unsigned int cnt);//get NUC-UPS internal state &lt;br /&gt;
&lt;br /&gt;
machines 0=UPS 1=AFE 2=Charger 3=Detect 4=Batterymanager&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API unsigned int  getNUCUpsChgTimer(unsigned int cnt);//get NUC-UPS charger timers&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API unsigned char getNUCUpsChargeEndedCondition();//get NUC-UPS charge ended&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API unsigned char getNUCUpsBatteryLevel();//get NUC-UPS battery level (percents 0-100)&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API unsigned int getNUCUpsCPUUsage();//get NUC-UPS CPU usage&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API void restartNUCUps();//restart NUC-UPS &lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API void restartNUCUpsInBootloaderMode();//restart NUC-UPS in bootloader mode&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API unsigned int getNUCUpsMaxVariableCnt();//get NUC-UPS maximum variable count&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API unsigned char getNUCUpsVariableData(unsigned int cnt, char* name, char* value, char* unit, &lt;br /&gt;
&lt;br /&gt;
char* comment);//get NUC-UPS variable data&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API void startNUCUpsLoadingSettings(unsigned char to_file, unsigned char &lt;br /&gt;
&lt;br /&gt;
compare_with_old);//start loading data from device&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API unsigned char getNUCUpsLoadingSettingsState();//get load settings current state: 0-64 - &lt;br /&gt;
&lt;br /&gt;
steps, 100=success, 0xF1-0xFF=failure&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API unsigned char setNUCUpsVariableData(unsigned int cnt, char* value);//set NUC-UPS variable &lt;br /&gt;
&lt;br /&gt;
data for a given variable &lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API void startNUCUpsSaveSettings(unsigned char from_file);//start saving data to device&lt;br /&gt;
:extern &amp;quot;C&amp;quot; NUCUPSLIB_API unsigned char getNUCUpsSaveSettingsState();//get saving current state: 0-64 - steps, &lt;br /&gt;
&lt;br /&gt;
100=success, 0xF1-0xFF=failure&lt;br /&gt;
See the examples for usage.&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
IMPORTANT: the API dll needs 4 files from Visual Studio 2005 redistribution pack (Microsoft.VC80.CRT.manifest, &lt;br /&gt;
&lt;br /&gt;
msvcm80.dll, msvcp80.dll, msvcr80.dll).&lt;br /&gt;
&lt;br /&gt;
IMPORTANT: the API supports only one NUC-UPS connected to the computer.&lt;br /&gt;
&lt;br /&gt;
====Visual C++ Example====&lt;br /&gt;
Open TestAPI.sln from the package, set CLibTest project as active project, run it and see CLibTest.cpp for usage &lt;br /&gt;
&lt;br /&gt;
example.&lt;br /&gt;
====Visual Basic Example====&lt;br /&gt;
Open TestAPI.sln from the package, set VBLibTest project as active project, run it and see Module1.vb for usage &lt;br /&gt;
&lt;br /&gt;
example.&lt;br /&gt;
====Visual C# Example====&lt;br /&gt;
Open TestAPI.sln from the package, set CSLibTest project as active project, run it and see Program.cs for usage &lt;br /&gt;
&lt;br /&gt;
example.&lt;br /&gt;
&lt;br /&gt;
===Download API and example projects===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|'''Version'''||'''Change list'''&lt;br /&gt;
|-&lt;br /&gt;
||[https://wiki.mini-box.com/images/3/35/NUCUPSApiTestV1.0.zip '''1.0''']||First version&lt;br /&gt;
|-&lt;br /&gt;
||[https://wiki.mini-box.com/images/a/af/NUCUPSApiTestV1.1.zip '''1.1''']||Update for Firmware 1.1&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Adina</name></author>
	</entry>
</feed>