<?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=Admin</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=Admin"/>
	<link rel="alternate" type="text/html" href="https://wiki.mini-box.com/index.php/Special:Contributions/Admin"/>
	<updated>2026-04-07T16:14:52Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.35.9</generator>
	<entry>
		<id>https://wiki.mini-box.com/index.php?title=OpenUPS2&amp;diff=1103</id>
		<title>OpenUPS2</title>
		<link rel="alternate" type="text/html" href="https://wiki.mini-box.com/index.php?title=OpenUPS2&amp;diff=1103"/>
		<updated>2026-03-03T12:08:02Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Bootloader Mode */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''11-24V Intelligent DC-DC Uninterruptible Power Supply using LiFePO4'''&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''New Feature 13-24V Intelligent DC-DC Uninterruptible Power Supply using Li-Ion (section 7.6)'''&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 OPENUPS2 board or computer. 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;&lt;br /&gt;
Use batteries from same lot, same age with same resting voltage for best results.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
The '''openUPS2''' was designed to provide user specified regulated power output from a wide input voltage, battery backup, [http://en.wikipedia.org/wiki/Lithium_iron_phosphate_battery LiFePO4] (18650 size) battery charging and cell balancing in a single PCBA.&amp;lt;br&amp;gt;&lt;br /&gt;
Battery cells are integrated in the device, no need for special cabling between cells and UPS.&amp;lt;br&amp;gt;&lt;br /&gt;
The UPS contains a synchronous boost Converter with high accuracy voltage and current regulation and automatic system power path selection from adapter or battery.&amp;lt;br&amp;gt;&lt;br /&gt;
It charges the battery in three phases: preconditioning, constant current/constant voltage mode. &amp;lt;br&amp;gt;&lt;br /&gt;
The unit can be used as an embedded UPS or as a Portable Energy Pack providing user regulated 12V-24V wherever is needed.&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
'''openUPS2 features include:'''&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* USB interface, works with Windows devices (Linux API planned)&amp;lt;br&amp;gt;&lt;br /&gt;
* SMBUS slave&amp;lt;br&amp;gt;&lt;br /&gt;
* Input between 11-24V&amp;lt;br&amp;gt;&lt;br /&gt;
* Programmable voltage thresholds&amp;lt;br&amp;gt;&lt;br /&gt;
* Generate any output voltage between 12-24V, booster based design&amp;lt;br&amp;gt;&lt;br /&gt;
* Supports LiFePO4 (3.2V) battery chemistry&amp;lt;br&amp;gt;&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;
* Balances 3 series batteries.&amp;lt;br&amp;gt;&lt;br /&gt;
* Charge voltage 3x3.5V, 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 charging&amp;lt;br&amp;gt;&lt;br /&gt;
* Start/Stop button&amp;lt;br&amp;gt;&lt;br /&gt;
* Relay output&amp;lt;br&amp;gt;&lt;br /&gt;
* External LED connection&amp;lt;br&amp;gt;&lt;br /&gt;
* Motherboard ON/OFF pulse control*&amp;lt;br&amp;gt;&lt;br /&gt;
* Missing battery cells detection&amp;lt;br&amp;gt;&lt;br /&gt;
* Ultra low power consumption(1uA- in Deep Sleep mode) or (530uA- in Sleep mode)&amp;lt;br&amp;gt;&lt;br /&gt;
* Windows detects device as “Battery”, no special drivers required **&lt;br /&gt;
* [http://wiki.mini-box.com/images/9/9e/OPENUPS2_Dimensions.PDF Physical dimensions]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;display: block; width: 80%; margin-left: 0px; margin-right: 20px; padding: 10px; background-color: #FEFEFE; border: 1px dotted black;&amp;quot;&amp;gt;&lt;br /&gt;
'''&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt; MotherBoard ON/OFF control'''&amp;lt;br&amp;gt;&lt;br /&gt;
The device is able to send ON/OFF 'pulse signals' to motherboard based on coulomb counter and/or battery voltage level, or based on input voltage level or when starting by button&amp;lt;br&amp;gt;&lt;br /&gt;
'''&amp;lt;nowiki&amp;gt;**&amp;lt;/nowiki&amp;gt; Windows “no driver support”'''&amp;lt;br&amp;gt;&lt;br /&gt;
Installs itself as a battery in Windows, using the Windows hid driver without any driver installation, visible as an icon in tray bar.&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Diagram &amp;amp; Schematics==&lt;br /&gt;
'''Pin1 is marked with red color.'''&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: inline; float: left;&amp;quot;&amp;gt;[[File:Connection-diagram.png|230px|thumb|left|Connection diagram]]&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;display: inline; float: left;&amp;quot;&amp;gt;[[File:Block-schematic-of-the-UPS.jpg|195px|thumb|left|Block schematics of the UPS]]&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;
'''3D Step Model''' - [http://arm.mini-box.com/releases/OPENUPS2_2014_jun_11.step.zip download]&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;
==Connectors==&lt;br /&gt;
===Power Input connectors===&lt;br /&gt;
;P1 Input (4pin mini-FIT JR)&lt;br /&gt;
: P1.1,P1.2-GND&lt;br /&gt;
: P1.3,P1.4-Input voltage&lt;br /&gt;
;P2 Output (4 pin mini-FIT JR)&lt;br /&gt;
: P2.1,P2.2-GND&lt;br /&gt;
: P2.3,P2.4-Output voltage&lt;br /&gt;
===Interface connectors===&lt;br /&gt;
;P3 USB header	(JST PH connector, 5pin)&lt;br /&gt;
: P3.1: +5V&lt;br /&gt;
: P3.2: USB D-&lt;br /&gt;
: P3.3: USB D+&lt;br /&gt;
: P3.4: NC&lt;br /&gt;
: P3.5: GND&lt;br /&gt;
;P4 bottom side programming header, bootloader jumper, MCU reset (POGO pins)&lt;br /&gt;
: P4.1: nMCLR&lt;br /&gt;
: P4.2: GND&lt;br /&gt;
: P4.3: +3.3V&lt;br /&gt;
: P4.4: PGD&lt;br /&gt;
: P4.5: PGC&lt;br /&gt;
;P6 Motherboard POWER SW connection, no polarity (JST PH connector, 3pin)&lt;br /&gt;
: P6.1: SW1&lt;br /&gt;
: P6.2: GND&lt;br /&gt;
: P6.3: SW2&lt;br /&gt;
;P7 External Led header in parallel connection with D10 (JST PH connector, 2pin)&lt;br /&gt;
: P7.1: Cathode connection&lt;br /&gt;
: P7.2:+3.3V, Anode connection&lt;br /&gt;
;P8 SMBUS slave header (JST PH connector, 4pin)&lt;br /&gt;
: P8.1: +3.3V&lt;br /&gt;
: P8.2: SMBUS CLOCK&lt;br /&gt;
: P8.3: SMBUS DATA&lt;br /&gt;
: P8.4: GND&lt;br /&gt;
;P9 Relay output (JST PH connector, 2pin)&lt;br /&gt;
;P10 Start/Stop button header (JST PH connector, 2pin)&lt;br /&gt;
&lt;br /&gt;
===Display connectors===&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: inline; float: left;&amp;quot;&amp;gt;'''Relay output'''&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Relay-connection.png‎|200px|thumb|left|Relay Connection]]&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;'''D10 Green Led, in parallel with P7'''&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:ExternalLED.png|155px|thumb|left|External LED]]&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;
==Bootloader Mode==&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;
There are two ways to enter in bootloader mode: 1a) or 1b).&amp;lt;br&amp;gt;&lt;br /&gt;
1a) Short connections between P4.4 and P4.5, than connect the unit to USB to enter bootloader mode '''OR'''&amp;lt;br&amp;gt;&lt;br /&gt;
1b) Press the Enter Bootloader button on the configuration software's user interface.&amp;lt;br&amp;gt;&lt;br /&gt;
2) Start the [https://arm.mini-box.com/releases/exe/HIDBootLoader.zip '''HIDBootLoader.exe'''] software provided to flash the new firmware.&amp;lt;br&amp;gt;&lt;br /&gt;
3)      Press Open new Hex File for [https://wiki.mini-box.com/images/e/e7/OpenUPS_2_-FW_ver_1.5_for_loading_with_bootloader_for_Li-FePo4_2017_oct_22.zip '''LiFePO4'''] &lt;br /&gt;
or new Hex File for [https://wiki.mini-box.com/images/7/73/OpenUPS_2_-FW_ver_1.6_for_loading_with_bootloader_for_Li-Ion_2017_oct_06.zip '''LiIon'''] .&amp;lt;br&amp;gt;&lt;br /&gt;
4)      Locate the hex file and open it.&amp;lt;br&amp;gt;&lt;br /&gt;
5)      Press Program/Verify.&amp;lt;br&amp;gt;&lt;br /&gt;
6)      Press 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 the title bar of the software.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Getting started==&lt;br /&gt;
Before you start you would need to connect the unit to USB and configure:&amp;lt;br&amp;gt;&lt;br /&gt;
- Mode of Operation&amp;lt;br&amp;gt;&lt;br /&gt;
- battery capacity (default is 1000mAh)&amp;lt;br&amp;gt;&lt;br /&gt;
- output voltage (default is 12V)&amp;lt;br&amp;gt;&lt;br /&gt;
- Low power mode (default is Sleep mode) see UPSCONFIG2 parameter for detail&lt;br /&gt;
- other advanced configuration parameters if needed&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''NOTE''': After changing parameters the device needs to be restarted so the new configuration becomes active. Restart the UPS by pressing the restart button in the user configuration software. It is recommended to disconnect large loads at the output of the UPS before pressing the restart button on the user interface.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;'''Warning''':  Improper configuration (ex: wrong under-voltage, over-voltage), reverse polarity can lead to battery damage or your system damage (ex: wrong output value)&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==UPS Configuration==&lt;br /&gt;
&lt;br /&gt;
The UPS can behave differently depending on settings. The OPENUPSMODE parameter sets this behaviour.&lt;br /&gt;
 0-Autorestart when input is present=yes 	(UPS)&lt;br /&gt;
 1-Autorestart when input is present=no	   	(LAPTOP)&lt;br /&gt;
 2-Energy Pack mode			   	(ON/OFF)&lt;br /&gt;
&lt;br /&gt;
===Mode 0 and 1===&lt;br /&gt;
:When using the UPS embedded in a system together with a motherboard the modes 0 and 1 should be used. &lt;br /&gt;
:Connect USB header P3 to the motherboard's internal USB header. USB connection is used to sense the motherboard's ON or OFF state.&lt;br /&gt;
:Connect P6 header's 1 and 3 pins to the motherboard's POWER SW header. (cable provided). Connect P10 header to a push button. This push button completely eliminates the need for any additional buttons to start or stop your system.&lt;br /&gt;
&lt;br /&gt;
;Starting your system&lt;br /&gt;
&lt;br /&gt;
: Mode 0 - when adapter input voltage is present a momentary pulse is sent through P6 header starting your system immediately.&lt;br /&gt;
: Mode 1 - the momentary pulse is not sent and your system will not be started but battery charging is possible just like in a laptop.&lt;br /&gt;
===Mode 2===&lt;br /&gt;
::In this mode the UPS can be a portable energy pack. Shutting down the UPS does not depend on USB connection. With the use of a push button connected to the P10 header you can instantly start and stop the UPS's output when running on battery. Connecting input power will charge the pack just like in any other modes. It also acts as an UPS providing uninterrupted output in this mode. This mode is recommended for powering devices other than motherboards or for portable energy use when working on the field and regulated 12-24V power is needed from batteries.&lt;br /&gt;
&lt;br /&gt;
;Stopping your system&lt;br /&gt;
: When your system is up and running you can always stop it by pressing again on the push button or by shutting down from the OS(Operating System).&amp;lt;br&amp;gt;In case your system is on battery and under-voltage situation is present it will be automatically shut down.&lt;br /&gt;
: When the system is on battery and it is shut down by OS the UPS can also immediately shut down to preserve battery. This is a configurable feature.&lt;br /&gt;
: When the UPS runs on batteries for a predefined time can initiate a shut down sequence. This is configurable feature.&lt;br /&gt;
&lt;br /&gt;
 NOTES:&lt;br /&gt;
 - When the UPS is shutting down it senses the motherboard's state by measuring the +5VUSB signal.&lt;br /&gt;
   If the motherboard was shut down by the OS (+5VUSB is not present) no pulse will be sent.&lt;br /&gt;
 - When shutting down from battery If the OS does not graciously shut down during &lt;br /&gt;
   predetermined UPS_HARDOFF_TOUT (60s by default) the motherboard will be forced off &lt;br /&gt;
   by turning off the UPS's output in order to conserve the battery.&lt;br /&gt;
&lt;br /&gt;
===Output configuration===&lt;br /&gt;
There are two ways of setting the output voltage.&amp;lt;br&amp;gt;&lt;br /&gt;
1)If bit0 in UPS_CONFIG parameter is set to '1' the output value is set by the OUT_VOLTAGE parameter.(default is 12V)&amp;lt;br&amp;gt;&lt;br /&gt;
2)If bit0 in UPS_CONFIG is set to '0' the the output value is set by the configuration switch P5 on the back side of the unit.&amp;lt;br&amp;gt;&lt;br /&gt;
:The hardcoded values depending the switches position are:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center; color: blue;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|'''P5.1'''||'''P5.2'''||'''P5.3'''||'''OUTPUT[V]'''&lt;br /&gt;
|-&lt;br /&gt;
||OFF||OFF||OFF||12V&lt;br /&gt;
|-&lt;br /&gt;
||OFF||OFF||ON||13.5V&lt;br /&gt;
|-&lt;br /&gt;
||OFF||ON||OFF||15V&lt;br /&gt;
|-&lt;br /&gt;
||OFF||ON||ON||16V&lt;br /&gt;
|-&lt;br /&gt;
||ON||OFF||OFF||18V&lt;br /&gt;
|-&lt;br /&gt;
||ON||OFF||ON||19V&lt;br /&gt;
|-&lt;br /&gt;
||ON||ON||OFF||21V&lt;br /&gt;
|-&lt;br /&gt;
||ON||ON||ON||24V&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The second method is useful when using the UPS in '''Mode 2''' as a Portable Energy Pack on the field to configure the required output voltage.&lt;br /&gt;
&lt;br /&gt;
===Temperature compensated charge current regulation===&lt;br /&gt;
:The temperature threshold parameters can be adjusted from software. &lt;br /&gt;
:The configurable parameters are: CHG_TEMP_COLD &amp;lt; CHG_TEMP_COOL &amp;lt; CHG_TEMP_WARM &amp;lt; CHG_TEMP_HOT.&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;
===Setting Power plans under Windows Operating Systems (Vista, Windows 7)===&lt;br /&gt;
:1) Right click on the battery icon from the tray bar then choose power options from the context menu. Alternatively you can choose '''Power Option''' also from '''Control Panel''' Items.&lt;br /&gt;
:2) Select/Create a power plan or modify existing ones.&lt;br /&gt;
:3) In the '''Change Advanced Power Settings''' section, the critical and low battery levels and actions can be also modified&lt;br /&gt;
&lt;br /&gt;
===NEW FEATURE, Configuring OPENUPS2 to work with Li-ION 3.7V===&lt;br /&gt;
:'''Recomended input power supply should provide &amp;gt;=13V and capable of providing at least 1A for charging + the current needed to sustain the required output power. Using a 12V power supply is not recomended for Li-ION since the input would be close to battery voltage or lower and the batteries can't be charged enough and the system will run mostly on batteries.''' &lt;br /&gt;
:''PCB changes:''&lt;br /&gt;
:Resistor R20 should be changed to 576k, charge voltage is set to 12.168V (3x4.056V)&lt;br /&gt;
:Proposed part number and description: RES 576K OHM 1/10W 1% 0603 SMD&lt;br /&gt;
:http://www.digikey.com/product-detail/en/RC0603FR-07576KL/311-576KHRTR-ND/727311&lt;br /&gt;
[[File:PCB_change_for_Li-Ion_3.7V.PNG]]&lt;br /&gt;
:''Firmware and parameter changes:''&lt;br /&gt;
:'''Update the device with Li-Ion version of firmware which includes support for Li-Ion chemistry!'''&lt;br /&gt;
:'''It can be downloaded from''' [http://resources.mini-box.com/online/PWR-OpenUPS2/firmware/PWR-OpenUPS2-firmware-1-3-bootloader-Li-ION-2014_09_09.zip]&lt;br /&gt;
:''The default parameters for Li-Ion are as below:''&lt;br /&gt;
:UPS_VCELL_MIN_START =3.6V&lt;br /&gt;
:UPS_VCELL_MIN_STOP  =3.3V&lt;br /&gt;
:UPS_VCELL_MIN_HARD_STOP=3V&lt;br /&gt;
:CHG_VCOND=3.3V&lt;br /&gt;
:CHG_BULK_STOP_VOLTAGE= 4.1V&lt;br /&gt;
:CHG_START_VOLTAGE=3.85V&lt;br /&gt;
:CHG_GLOBAL_TOUT=240 &lt;br /&gt;
:BAL_VCELL_MIN=3.4V&lt;br /&gt;
:CAPACITY=2400mAH, should be changed to match the cell's capacity&lt;br /&gt;
:OCV_SOC0=3.3V&lt;br /&gt;
:OCV_SOC10=3.68V&lt;br /&gt;
:OCV_SOC25=3.76V&lt;br /&gt;
:OCV_SOC50=3.82V&lt;br /&gt;
:OCV_SOC75=3.97V&lt;br /&gt;
:OCV_SOC100=4.17V&lt;br /&gt;
:Feel free to adjust these parameters if needed&lt;br /&gt;
&lt;br /&gt;
==Connecting DC input power==&lt;br /&gt;
Connect a proper input voltage source to the P1 connector.&amp;lt;br&amp;gt;&lt;br /&gt;
If input voltage is present , the UPS will enable the proper power path and energy will be flowing from input to output and, if necessary, battery charging is started.&amp;lt;br&amp;gt;&lt;br /&gt;
A gratuitous pulse is sent through P6 to wake up the motherboard depending configured '''Mode'''.&amp;lt;br&amp;gt;&lt;br /&gt;
Each cell is carefully monitored so that in case of an under-voltage or over-voltage event proper actions are taken. &amp;lt;br&amp;gt;&lt;br /&gt;
The charger is a BUCK converter so in order to charge batteries input voltage should be higher than battery voltage.&lt;br /&gt;
&lt;br /&gt;
==Blink modes==&lt;br /&gt;
===Status of Main LED(green)===&lt;br /&gt;
:-Steady ON:  UPS is on Input Power&lt;br /&gt;
:-ON for 0.5sec,OFF for 2.5sec:  UPS is Battery Powered&lt;br /&gt;
:-Blinking On/OFF every 2 sec : OFFDELAY&lt;br /&gt;
:-3 fast blinks and pause repeated every 2 seconds: HARDOFF delay&lt;br /&gt;
:-Steady OFF:UPS is in ship mode&lt;br /&gt;
:-high frequency blinking: battery cell is missing(cell voltage is less than 100mV)&lt;br /&gt;
&lt;br /&gt;
===Status of Battery LED(red)===&lt;br /&gt;
:-Steady ON: UPS is Battery Powered&lt;br /&gt;
:-Steady OFF: Battery is not being charged&lt;br /&gt;
:-Blinking On/OFF every 2 sec: Battery is being charged&lt;br /&gt;
&lt;br /&gt;
;All LEDs OFF&lt;br /&gt;
: Unit is in Ship mode consuming less than 1uA. MCU is not powered. Can be waked up by pressing P10 or if input voltage is present.&lt;br /&gt;
&lt;br /&gt;
==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;
The UPS doesn't save the coulomb counter in its internal flash memory when it is shut down.&lt;br /&gt;
After wakeup the open-circuit voltage based estimation is used again.&lt;br /&gt;
&lt;br /&gt;
==Characteristics==&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: inline; float: left; padding-right: 10px; border-right: 1px solid #ccc;&amp;quot;&amp;gt;&lt;br /&gt;
Minimum Input Operating voltage&amp;lt;br&amp;gt;&lt;br /&gt;
Maximum input Operating voltage&amp;lt;br&amp;gt;&lt;br /&gt;
Deep-Discharge shutdown threshold&amp;lt;br&amp;gt;&lt;br /&gt;
Deep Sleep(Ship mode) Current Consumption&amp;lt;br&amp;gt;&lt;br /&gt;
Sleep mode Current Consumption&amp;lt;br&amp;gt;&lt;br /&gt;
Storage and operating temperature&amp;lt;br&amp;gt;&lt;br /&gt;
MTBF&amp;lt;br&amp;gt;&lt;br /&gt;
Input connectors&amp;lt;br&amp;gt;&lt;br /&gt;
Output Connector&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; margin-left: 10px;&amp;quot;&amp;gt;&lt;br /&gt;
11V&amp;lt;br&amp;gt;&lt;br /&gt;
24V &amp;lt;br&amp;gt;&lt;br /&gt;
configurable&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt; 1uA, see UPS_CONFIG2 parameter for detail&amp;lt;br&amp;gt;&lt;br /&gt;
530uA, see UPS_CONFIG2 parameter for detail&amp;lt;br&amp;gt;&lt;br /&gt;
-40&amp;lt;sup&amp;gt;o&amp;lt;/sup&amp;gt;C  to +85&amp;lt;sup&amp;gt;o&amp;lt;/sup&amp;gt;C (storage), -40&amp;lt;sup&amp;gt;o&amp;lt;/sup&amp;gt;C to +65&amp;lt;sup&amp;gt;o&amp;lt;/sup&amp;gt;C (operating)&amp;lt;br&amp;gt;&lt;br /&gt;
50K Hrs @ 85&amp;lt;sup&amp;gt;o&amp;lt;/sup&amp;gt;C,  &amp;gt;= 200K Hrs at 65&amp;lt;sup&amp;gt;o&amp;lt;/sup&amp;gt;C (projected)&amp;lt;br&amp;gt;&lt;br /&gt;
Mini-Fit JR&amp;lt;br&amp;gt;&lt;br /&gt;
Mini-Fit JR&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;
'''Output/Input Rail Output Current (buck/boost converter)'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Maximum input current: 5A(consult with battery manufacturer for ratings)&amp;lt;br&amp;gt;&lt;br /&gt;
Peak Input current:  6A(&amp;lt;30 seconds)&amp;lt;br&amp;gt;&lt;br /&gt;
Maximum output current: 5A (input current dependent)&amp;lt;br&amp;gt;&lt;br /&gt;
Peak output Current:  6A(&amp;lt;30 seconds)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 NOTE:&lt;br /&gt;
 When operating at high voltage (input or output) or/or operating at elevated temperatures &lt;br /&gt;
 de-rating up to 30% might be necessary, forced ventilation required.&lt;br /&gt;
 For long life operation, please ensure that hottest component on-board is kept below 65C.&lt;br /&gt;
&lt;br /&gt;
===Output Booster measurements===&lt;br /&gt;
:&amp;lt;div style=&amp;quot;display: inline; float: left;&amp;quot;&amp;gt;[[File:Output-booster-01.png|150px|thumb|left|]]&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;display: inline; float: left;&amp;quot;&amp;gt;[[File:Output-booster-02.png|150px|thumb|left|]]&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;
==Support and warranty==&lt;br /&gt;
Standard Hardware Warranty 1Year / US, 2 Year EU.&lt;br /&gt;
&lt;br /&gt;
==Parameter List==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! NAME&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| OPENUPSMODE&lt;br /&gt;
| &amp;lt;pre&amp;gt;&lt;br /&gt;
OPENUPS mode&lt;br /&gt;
0-Autorestart when input is present=yes 		   (UPS)&lt;br /&gt;
1-Autorestart when input is present=no	   	   	   (LAPTOP)&lt;br /&gt;
2-Energy Pack mode			   	   	   (ON/OFF)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| CAPACITY[mAh]&lt;br /&gt;
| &lt;br /&gt;
Battery Capacity&amp;lt;br&amp;gt;&lt;br /&gt;
Default is 1000mAh.&lt;br /&gt;
|-&lt;br /&gt;
| MOB_ONOFF_TOUT[ms]&lt;br /&gt;
| &lt;br /&gt;
The power switch on the motherboard(if connected) will be shorted this period to turn the Motherboard ON or OFF.&amp;lt;br&amp;gt;&lt;br /&gt;
Default is 500ms.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| UPS_BUTTON_ON_TOUT[ms]&lt;br /&gt;
| &lt;br /&gt;
The pushbutton connected on the P10 header must be shorted this period to be considered as pressed.&amp;lt;br&amp;gt;&lt;br /&gt;
Default is 100ms.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|UPS_CONFIG[bit7..bit0]&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;
bit7-reserved&amp;lt;br&amp;gt;&lt;br /&gt;
bit6-reserved&amp;lt;br&amp;gt;&lt;br /&gt;
bit5-reserved&amp;lt;br&amp;gt;&lt;br /&gt;
bit4-reserved&amp;lt;br&amp;gt;&lt;br /&gt;
bit3-reserved&amp;lt;br&amp;gt;&lt;br /&gt;
bit2:Enable temperature compensated charge algorithm&amp;lt;br&amp;gt;&lt;br /&gt;
bit1:Enable shutdown from battery if system was shut down from OS sensed by USB&amp;lt;br&amp;gt;&lt;br /&gt;
bit0:Enable output voltage settings directly from OUT_VOLTAGE parameter. If disabled output voltage is set by configuration switch on the back side of the PCBA.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|UPS_CONFIG2[bit7..bit0]&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;
bit7-reserved&amp;lt;br&amp;gt;&lt;br /&gt;
bit6-reserved&amp;lt;br&amp;gt;&lt;br /&gt;
bit5-reserved&amp;lt;br&amp;gt;&lt;br /&gt;
bit4-reserved&amp;lt;br&amp;gt;&lt;br /&gt;
bit3-reserved&amp;lt;br&amp;gt;&lt;br /&gt;
bit2:reserved&amp;lt;br&amp;gt;&lt;br /&gt;
bit1:Enable Ship mode, consumption is less than 1uA. Unit can be waked up only by input power presence.&amp;lt;br&amp;gt;&lt;br /&gt;
bit0:Enable Sleep mode, consumption is 530uA. Unit can be waked up by button or input power presence.&amp;lt;br&amp;gt;&lt;br /&gt;
The combination of bit1 ,bit0 sets the configurable low power modes&lt;br /&gt;
-----01: Sleep mode CPU OFF (530uA)&lt;br /&gt;
-----10: Ship mode CPU OFF(1uA)&lt;br /&gt;
-----11 or 00: Standby mode CPU ON(15mA) ==&amp;gt; Ship mode CPU OFF(1uA)&lt;br /&gt;
|-&lt;br /&gt;
|UPS_VIN_MIN_START [V] &lt;br /&gt;
|&lt;br /&gt;
If input voltage is above this threshold the UPS will start and take power from the input.&amp;lt;br&amp;gt;&lt;br /&gt;
Default is 11V.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|UPS_VCELL_MIN_START [V]&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 runs on battery&lt;br /&gt;
Default is 3V.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|UPS_VCELL_MIN_STOP [V]&lt;br /&gt;
|&lt;br /&gt;
If VIN is not present and one of the battery cells is less than this threshold during the time period specified by UPS_VBAT_UVP_OFF_TOUT parameter the UPS will initiate shut down procedure.&amp;lt;br&amp;gt;&lt;br /&gt;
Default is 2.8V&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|UPS_VCELL_MIN_HARD_STOP [V]&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 preserve battery.&amp;lt;br&amp;gt;&lt;br /&gt;
Default is 2.5V&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|UPS_VBAT_UVP_OFF_TOUT [s]&lt;br /&gt;
|&lt;br /&gt;
During this period battery cells are checked against UPS_VCELL_MIN_STOP. If cell voltage exceeds UPS_VCELL_MIN_STOP the timer is rearmed so it can filter unwanted noise in the system.&amp;lt;br&amp;gt;&lt;br /&gt;
Default is 5 sec.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|UPS_HARDOFF_TOUT[s]&lt;br /&gt;
|&lt;br /&gt;
After UPS_VBAT_UVP_OFF_TOUT passed motherboard is signaled to shut down. The UPS will wait this period so that the Motherboard can shut down gracefully, than cut power and enter deep sleep. This period should not be too long to prevent battery drain.&amp;lt;br&amp;gt;&lt;br /&gt;
Default is 60 sec.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|UPS_VBAT_SLEEP_TOUT[s]&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, then the UPS will initiate shut down procedure. &amp;quot;Never&amp;quot; is allowed as value (to disable this feature).&amp;lt;br&amp;gt;&lt;br /&gt;
Default is &amp;quot;Never&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|DCHG_IMAX[A]&lt;br /&gt;
|&lt;br /&gt;
Max allowed discharge current. In case discharge current exceeds this threshold shutdown will be initiated.&amp;lt;br&amp;gt;&lt;br /&gt;
Default is 10A.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|CHG_VCOND[V]&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;
CHG_TCOND time .&amp;lt;br&amp;gt;&lt;br /&gt;
Default is 3V.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|CHG_TCOND[V]&lt;br /&gt;
|&lt;br /&gt;
Conditioning/Precharge time. Charge current is limited until cell voltage exceeds CHG_VCOND value and it is applied during this time.&amp;lt;br&amp;gt;&lt;br /&gt;
Default is 30 sec.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|CHG_BULK_STOP_VOLTAGE[V/cell]&lt;br /&gt;
|&lt;br /&gt;
Maximum allowed bulk charge voltage/cell during constant current/constant voltage charging.&amp;lt;br&amp;gt;&lt;br /&gt;
Default is 3.5[V/cell]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|CHG_HYSTERESIS[V/cell]&lt;br /&gt;
|&lt;br /&gt;
An over-voltage value (CHG_BULK_STOP_VOLTAGE+CHG_HYSTERESIS ) that it is allowed when charging. If one of the cells exceeds this value charging is immediately stopped.&amp;lt;br&amp;gt;&lt;br /&gt;
Default is 100mV/cell.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|CHG_START_VOLTAGE [V/cell]&lt;br /&gt;
|&lt;br /&gt;
If cell voltage is below this value charging can be started.&amp;lt;br&amp;gt;&lt;br /&gt;
Default is 3.3V/cell&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|CHG_GLOBAL_TOUT[min]&lt;br /&gt;
|&lt;br /&gt;
Global charge timeout.&amp;lt;br&amp;gt;&lt;br /&gt;
Default is 180 min.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|CHG_TOPPING_TIMER[s]&lt;br /&gt;
|&lt;br /&gt;
For Lithium based batteries after an overvoltage condition is detected for a cell a resting period is set by this timer before applying a small topping charge in case other cells are still not charged.&amp;lt;br&amp;gt;&lt;br /&gt;
Default is 60s.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|CHG_BAT_TYPE&lt;br /&gt;
|&lt;br /&gt;
The battery chemistry to be charged.&amp;lt;br&amp;gt;&lt;br /&gt;
1-LiFePO4&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|CHG_TEMP_COLD[°C]&lt;br /&gt;
|&lt;br /&gt;
COLD temperature treshold for temperature compensated charge current regulation.&amp;lt;br&amp;gt;&lt;br /&gt;
Default 5°C(FW ver 1.2)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|CHG_TEMP_COOL[°C]&lt;br /&gt;
|&lt;br /&gt;
COOL temperature treshold for temperature compensated charge current regulation.&amp;lt;br&amp;gt;&lt;br /&gt;
Default 10°C(FW ver 1.2)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|CHG_TEMP_WARM[°C]&lt;br /&gt;
|&lt;br /&gt;
WARM temperature treshold for temperature compensated charge current regulation.&amp;lt;br&amp;gt;&lt;br /&gt;
Default 50°C(FW ver 1.2)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|CHG_TEMP_HOT[°C]&lt;br /&gt;
|&lt;br /&gt;
HOT temperature treshold for temperature compensated charge current regulation.&amp;lt;br&amp;gt;&lt;br /&gt;
Default 55°C(FW ver 1.2)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|BAL_VCELL_MIN[V]&lt;br /&gt;
|&lt;br /&gt;
Balancing is allowed if cell voltages are above this value.&amp;lt;br&amp;gt;&lt;br /&gt;
Default is 3.1V&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|BAL_VCELL_DIFF_START [V]&lt;br /&gt;
|&lt;br /&gt;
If the voltage difference between cells exceeds this value start balancing the cells.&amp;lt;br&amp;gt;&lt;br /&gt;
Default is 70mV.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|BAL_VCELL_DIFF_STOP[V]&lt;br /&gt;
|&lt;br /&gt;
If the voltage difference between cells is less than this value stop balancing the cells.&amp;lt;br&amp;gt;&lt;br /&gt;
Default is 40mV.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|OUT_VOLTAGE[V]&lt;br /&gt;
|&lt;br /&gt;
The output voltage. Bit0 in UPS_CONFIG parameter should be set to “1” in order this parameter has effect.&amp;lt;br&amp;gt;&lt;br /&gt;
Default is 12V.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|OUT_MAX_REGULATOR_STEP[steps]&lt;br /&gt;
|&lt;br /&gt;
Maximum allowed regulation step number for output module (0-255)&amp;lt;br&amp;gt;&lt;br /&gt;
Default 255.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|OUT_FOLLOW_OFFSET[V]&lt;br /&gt;
|&lt;br /&gt;
Offset for adaptive output regulation.&amp;lt;br&amp;gt;&lt;br /&gt;
Default is 1V.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|OCV_SOC0[V]&lt;br /&gt;
|&lt;br /&gt;
Open Circuit Voltage State Of Charge detection for initial 0% fuel gauge estimation.&amp;lt;br&amp;gt;&lt;br /&gt;
Default is 3.1V&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|OCV_SOC10[V]&lt;br /&gt;
|&lt;br /&gt;
Open Circuit Voltage State Of Charge detection for initial 10% fuel gauge estimation.&amp;lt;br&amp;gt;&lt;br /&gt;
Default is 3.2V&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|OCV_SOC25[V]&lt;br /&gt;
|&lt;br /&gt;
Open Circuit Voltage State Of Charge detection for initial 25% fuel gauge estimation.&amp;lt;br&amp;gt;&lt;br /&gt;
Default is 3.25V&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|OCV_SOC50[V]&lt;br /&gt;
|&lt;br /&gt;
Open Circuit Voltage State Of Charge detection for initial 50% fuel gauge estimation.&amp;lt;br&amp;gt;&lt;br /&gt;
Default is 3.30V&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|OCV_SOC75[V]&lt;br /&gt;
|&lt;br /&gt;
Open Circuit Voltage State Of Charge detection for initial 75% fuel gauge estimation.&amp;lt;br&amp;gt;&lt;br /&gt;
Default is 3.32V&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|OCV_SOC100[V]&lt;br /&gt;
|&lt;br /&gt;
Open Circuit Voltage State Of Charge detection for initial 100% fuel gauge estimation.&amp;lt;br&amp;gt;&lt;br /&gt;
Default is 3.35V&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|AFE_OLV[-]&lt;br /&gt;
|&lt;br /&gt;
Advanced parameter.&amp;lt;br&amp;gt;&lt;br /&gt;
AFE Overload Voltage treshold configuration register.&amp;lt;br&amp;gt;&lt;br /&gt;
Default is 0x00.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|AFE_OLD[-]&lt;br /&gt;
|&lt;br /&gt;
Advanced parameter.&amp;lt;br&amp;gt;&lt;br /&gt;
AFE Overload Delay time configuration register.&amp;lt;br&amp;gt;&lt;br /&gt;
Default is 0x00.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|AFE_SCC[-]&lt;br /&gt;
|&lt;br /&gt;
Advanced parameter.&amp;lt;br&amp;gt;&lt;br /&gt;
AFE Short Circuit In Charge configuration register.&amp;lt;br&amp;gt;&lt;br /&gt;
Default is 0x50.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|AFE_SCD[-]&lt;br /&gt;
|&lt;br /&gt;
Advanced parameter.&amp;lt;br&amp;gt;&lt;br /&gt;
AFE Short Circuit In Discharge configuration register.&amp;lt;br&amp;gt;&lt;br /&gt;
Default is 0x50.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|WRITE_COUNT[cycle]&lt;br /&gt;
|&lt;br /&gt;
Number of times the flash memory has been written. Parameter is Read only.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Software manual==&lt;br /&gt;
===Windows OS built-in support===&lt;br /&gt;
The OpenUPS implements two generic USB classes, therefore most of the&lt;br /&gt;
operating systems are recognizing it without any additional driver installation. This two&lt;br /&gt;
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&lt;br /&gt;
appear in device manager at Batteries as a &amp;quot;Hid ups battery&amp;quot;, together with all settings and&lt;br /&gt;
power plan possibilities provided by the OS for 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 softwares to&lt;br /&gt;
read/write voltages and other important parameters of the OpenUPS2&lt;br /&gt;
===Configuration software===&lt;br /&gt;
The configuration software provides interface for OpenUPS2 monitoring, logging and setup.&lt;br /&gt;
It's recommended to be used by users with deeper understanding of the OpenUPS2 hardware since permits setting 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 two main screens (Status and Settings) and a header with the important voltage/current values.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====The first main screen is the &amp;quot;Status&amp;quot;====&lt;br /&gt;
Examples of this screen is shown in the next images:&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:Openups2_sm_status1.jpg‎|x350px|thumb|left|Status screen]]&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:Openups2_sm_status2.jpg|x350px|thumb|left|Extended status screen]]&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;
The title bar shows the connection status and the firmware version of the OpenUPS2. Example: &amp;quot;OpenUPS2 Connected v1.0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The header of the status screen contains:&lt;br /&gt;
: Two icons: &lt;br /&gt;
:: The upper one is the Mini-box.com logo and it does not changes.&lt;br /&gt;
:: The second icon is present only when OpenUPS2 is connected to the UPS and can be &amp;quot;Battery powered&amp;quot; (like int the example screenshots), &amp;quot;Line powered&amp;quot; and &amp;quot;USB powered&amp;quot;. It displays the state of the OpenUPS2&lt;br /&gt;
: Capacity: shows the remaining capacity of the batteries&lt;br /&gt;
: RTE: run time to empty&lt;br /&gt;
: Input: input voltage applied to the OpenUPS2 (P1 Input)&lt;br /&gt;
: Battery: battery voltage&lt;br /&gt;
: Output: output voltage of the OpenUPS2 (P2 Output)&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Status&amp;quot; screen contains extended information about the current state of the OpenUPS2 like battery voltages, charge/discharge currents, temperature/voltage of the batteries and different states.&lt;br /&gt;
The user also have the possibility to log the current state into a *.csv file. &lt;br /&gt;
The &amp;quot;Extended state&amp;quot; flags are for debug/support and can change between different firmware versions.&lt;br /&gt;
&lt;br /&gt;
====The second 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:Openups2_sm_settings.jpg‎|x350px|thumb|left|Settings screen]]&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;
This screen contains two main sections: the individual parameter setup for experienced users and the parameter save/load into/from file section.&lt;br /&gt;
&lt;br /&gt;
IMPORTANT: any parameter setting or battery wizard data is taken into account by the OpenUPS2 only after a full restart either with power cut from all sources (usb, battery, vin), either by the &amp;quot;Restart OpenUPS (full restart and reload parameters)&amp;quot; button. Do this with precaution, check the parameters and wires before doing it!&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 OpenUPS2 can be set from here.&lt;br /&gt;
Changing one parameter is simple:&lt;br /&gt;
:- select the desired parameter from the &amp;quot;Parameters&amp;quot; drop down menu. The current value is displayed in the &amp;quot;Value&amp;quot; field together with the unit ([V], [mA] etc.).&lt;br /&gt;
:- introduce the new value&lt;br /&gt;
:- the introduced value is checked whenever you change the current selection for the &amp;quot;Parameters&amp;quot; or choose to sync with &amp;quot;Sync all parameters to the OpenUPS&amp;quot;. If the&lt;br /&gt;
result of the check is correct, the resulting value is shown in the &amp;quot;Change log&amp;quot; field, otherwise error message might be popped up and the parameters selector jumps back to&lt;br /&gt;
the wrong value.&lt;br /&gt;
:- after You have done with all parameter setting press the &amp;quot;Sync all parameters to the OpenUPS&amp;quot; button to send all values to the OpenUPS2.&lt;br /&gt;
IMPORTANT: without this step the new values will be lost, nothing is sent to the OpenUPS2!&lt;br /&gt;
&lt;br /&gt;
For users who need to setup more devices with the same OpenUPS2 settings, it is recommended to use the save/load parameters buttons.&lt;br /&gt;
The &amp;quot;All parameters: OpenUPS ===&amp;gt; File (settings.ini)&amp;quot; button loads a full configuration from the OpenUPS and saves it to the settings.ini file. You can disconnect&lt;br /&gt;
the current OpenUPS2 from the USB and insert a new one, than press the &amp;quot;All parameters: File ===&amp;gt; OpenUPS (settings.ini)&amp;quot; button to send the last saved configuration into the new OpenUPS2.&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;All parameters: OpenUPS ===&amp;gt; CSV File (settings.csv)&amp;quot; button loads all parameters from the connected OpenUPS2 and saves it into a csv file. This type of file can be opened by any spreadsheet editor (OpenOffice, Microsoft Excel etc.) and contains the full set of parameters in human readable form.&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Enter bootloader mode (device restarted in bootloader mode)&amp;quot; button is intended to be used for firmware updates. After You press this button the OpenUPS2 will disconnect, it will switch to bootloader mode and firmware can be updated as described [[OpenUPS2#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 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 occurs during USB communication and/or OpenUPS 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 &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 customised. Our current setup has two skins but any 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 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 skin2.mbs (use the existing skin0.mbs or skin1.mbs for starting content) and start 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 coordinates for all the important OpenUPS2 values.&lt;br /&gt;
The size of the popup is defined by the background image – transparent parts can be defined as well (see for 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:Openups2_sm_tray1.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:Openups2_sm_tray2.jpg‎|x150px|thumb|left|System monitor skin2 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:Openups2_sm_tray3.jpg‎|x150px|thumb|left|System monitor skin2 disconnected]]&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:Openups2_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;
===Developer manual===&lt;br /&gt;
Mini-box.com provides one OpenUPS2 API in a DLL (OpenUPS2Lib.dll) and examples in Visual C++, Visual Basic and Visual 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, external manifest is also provided in case if it is needed.&lt;br /&gt;
&lt;br /&gt;
The API has a set of functions exported to access the full functionality of the OpenUPS2.&lt;br /&gt;
This functions are:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
: unsigned char upsOpenDeviceHandler(unsigned int timer); //open device handler. timer sets the refresh period in milliseconds (4 messages will be sent in this period), don't use values lower than 40msec here (cpu usage and usb traffic will increase with lower values). IMPORTANT: the handler can be kept open to notice any OpenUPS2 plugged in&lt;br /&gt;
: void upsCloseDeviceHandler();//close device handler&lt;br /&gt;
: void getUPSDevicePath(char* path);//get device path&lt;br /&gt;
: unsigned char isUPSConnected();//0=not connected, 1=normal state,2=loading settings from device,3=saving settings from pc,4=saving settings from file&lt;br /&gt;
: float getUPSVIN();//UPS Voltage IN&lt;br /&gt;
: float getUPSVBat();//UPS Voltage Battery&lt;br /&gt;
: float getUPSVOut();//UPS Voltage out&lt;br /&gt;
: float getUPSCCharge();//UPS charge current&lt;br /&gt;
: float getUPSCDischarge();//UPS discharge current&lt;br /&gt;
: float getUPSVDuty();//duty cycle&lt;br /&gt;
: float getUPSVCell(int i);//cell voltages (i=0,1,2)&lt;br /&gt;
: float getUPSTemperature(int i);//cell temperatures (i=0,1,2)&lt;br /&gt;
: unsigned char getUPSVerMajor();//firmware version major number&lt;br /&gt;
: unsigned char getUPSVerMinor();//firmware version minor number&lt;br /&gt;
: unsigned char getUPSState();//ups state (0=disconnnected, 1=running from battery, 2=running from VIn, 3=running from USB)&lt;br /&gt;
: unsigned char getUPSRemainingCapacity();//remaining capacity&lt;br /&gt;
: unsigned char getUPSVOutPot();//voltage out regulator %&lt;br /&gt;
: unsigned char getUPSConfigSwitch();//config switch/debug info&lt;br /&gt;
: unsigned char getUPSStateByteUPS();//state byte/debug info&lt;br /&gt;
: unsigned char getUPSStateByteCHG();//charger state/debug info&lt;br /&gt;
: unsigned char getUPSStateByteDBG();//debug byte&lt;br /&gt;
: unsigned char getUPSBatteryOn(int i);//battery connected (i=0,1,2)&lt;br /&gt;
: unsigned int  getUPSRTE();//Remaining time to empty&lt;br /&gt;
: unsigned char getUPSMode();//mode byte/reserved&lt;br /&gt;
: unsigned char getUPSDbgByte(int i);//more debug bytes&lt;br /&gt;
: unsigned char getUPSDbg2Byte(int i);//even more debug bytes&lt;br /&gt;
: unsigned char getUPSCheck23(int i);//extended state flags/debug info&lt;br /&gt;
: unsigned char getUPSCheck24(int i);//extended state flags/debug info&lt;br /&gt;
: unsigned char getUPSCheck25(int i);//extended state flags/debug info&lt;br /&gt;
: void restartUPS();//restart ups and reload parameters&lt;br /&gt;
: void restartUPSInBootloaderMode();//restart ups into bootloader mode (for updating fimware)&lt;br /&gt;
: void setUPSCommand1Byte(unsigned char command, unsigned char value);//debug states/reserved&lt;br /&gt;
: void setUPSCommand2Byte(unsigned char command, unsigned int  value);//debug states/reserved&lt;br /&gt;
: void incDecVOutVolatile(unsigned char inc);//dynamically increase/decrease voltage (not saved into parameters for next startup)&lt;br /&gt;
: void setVOutVolatile(float vout);//directly set voltage (not saved into parameters for next startup)&lt;br /&gt;
: unsigned int getUPSMaxVariableCnt();//return variable count of the OpenUPS2&lt;br /&gt;
: unsigned char getUPSVariableData(unsigned int cnt, char* name, char* value, char* unit, char* comment);//get name, value, measuring unit and explication by variable index&lt;br /&gt;
: void startUPSLoadingSettings(unsigned char to_file, unsigned char compare_with_old);//start to load settings from device&lt;br /&gt;
: unsigned char getUPSLoadingSettingsState();//load settings state: 0-64 - steps, 100=success, 0xF1-0xFF=failure/errorcode&lt;br /&gt;
: unsigned char setUPSVariableData(unsigned int cnt, char* value);//set individual variable by index (string form, permitted values described in hardware manual)&lt;br /&gt;
: void startUPSSaveSettings(unsigned char from_file);//start saving parameters into device&lt;br /&gt;
: unsigned char getUPSSaveSettingsState();//saving state: 0-64 - steps, 100=success, 0xF1-0xFF=failure/errorcode&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, msvcm80.dll, msvcp80.dll, msvcr80.dll).&lt;br /&gt;
&lt;br /&gt;
IMPORTANT: the API supports only one OpenUPS2 connected to the computer.&lt;br /&gt;
&lt;br /&gt;
====Visual C++ Example====&lt;br /&gt;
Open CLibTest.sln from the package, run it and see CLibTest.cpp for usage example.&lt;br /&gt;
====Visual Basic Example====&lt;br /&gt;
Open VBLibTest.sln from the package, run it and see Module1.vb for usage example.&lt;br /&gt;
====Visual C# Example====&lt;br /&gt;
Open CSLibTest.sln from the package, run it and see Program.cs for usage example.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mini-box.com/index.php?title=NUC-UPS&amp;diff=1100</id>
		<title>NUC-UPS</title>
		<link rel="alternate" type="text/html" href="https://wiki.mini-box.com/index.php?title=NUC-UPS&amp;diff=1100"/>
		<updated>2022-11-22T08:17:08Z</updated>

		<summary type="html">&lt;p&gt;Admin: &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://wiki.mini-box.com/images/4/4b/DCDC-NUC_UPS-_FW_ver_1.3_for_loading_with_bootloader_2017.oct.09.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>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mini-box.com/index.php?title=Main_Page&amp;diff=1095</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.mini-box.com/index.php?title=Main_Page&amp;diff=1095"/>
		<updated>2020-10-21T14:37:13Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:&amp;lt;span style=&amp;quot;display:none&amp;quot;&amp;gt;{{FULLPAGENAME}}&amp;lt;/span&amp;gt;}}&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;border-bottom:1px solid #ddd;margin:0.5em;&amp;quot;&amp;gt; [[File:OpenUPS2.png|link=|350px|]]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;display:block;text-align:center;font-size:1.5em;&amp;quot;&amp;gt;[[openUPS2|openUPS2]]&amp;lt;/span&amp;gt; &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;border-bottom:1px solid #ddd;margin:0.5em;&amp;quot;&amp;gt; [[File:DCDC-NUC.png|link=|350px|]]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;display:block;text-align:center;font-size:1.5em;&amp;quot;&amp;gt;[[DCDC-NUC|DCDC-NUC]]&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;border-bottom:1px solid #ddd;margin:0.5em;&amp;quot;&amp;gt; [[File:NUC-UPS.png|link=|350px|]]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;display:block;text-align:center;font-size:1.5em;&amp;quot;&amp;gt;[[NUC-UPS|NUC-UPS]]&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;PDF Manuals&amp;lt;/h2&amp;gt;&lt;br /&gt;
[http://resources.mini-box.com/online/PWR-OpenUPS/PWR-OpenUPS-hardware-manual.pdf OpenUPS] &amp;lt;br&amp;gt;&lt;br /&gt;
[http://resources.mini-box.com/online/PWR-DCDC-USB/PWR-DCDC-USB-manual.pdf DCDC-USB] &amp;lt;br&amp;gt;&lt;br /&gt;
[http://resources.mini-box.com/online/PWR-DCDC-USB-200/PWR-DCDC-USB-200-manual.pdf DCDC-USB-200] &amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mini-box.com/index.php?title=Main_Page&amp;diff=1094</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.mini-box.com/index.php?title=Main_Page&amp;diff=1094"/>
		<updated>2020-10-21T14:32:31Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:&amp;lt;span style=&amp;quot;display:none&amp;quot;&amp;gt;{{FULLPAGENAME}}&amp;lt;/span&amp;gt;}}&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt; [[File:OpenUPS2.png|link=|350px|]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[openUPS2|openUPS2]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt; [[File:DCDC-NUC.png|link=|350px|]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[DCDC-NUC|DCDC-NUC]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt; [[File:NUC-UPS.png|link=|350px|]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[NUC-UPS|NUC-UPS]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;PDF Manuals&amp;lt;/h2&amp;gt;&lt;br /&gt;
[http://resources.mini-box.com/online/PWR-OpenUPS/PWR-OpenUPS-hardware-manual.pdf OpenUPS] &amp;lt;br&amp;gt;&lt;br /&gt;
[http://resources.mini-box.com/online/PWR-DCDC-USB/PWR-DCDC-USB-manual.pdf DCDC-USB] &amp;lt;br&amp;gt;&lt;br /&gt;
[http://resources.mini-box.com/online/PWR-DCDC-USB-200/PWR-DCDC-USB-200-manual.pdf DCDC-USB-200] &amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mini-box.com/index.php?title=Main_Page&amp;diff=1093</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.mini-box.com/index.php?title=Main_Page&amp;diff=1093"/>
		<updated>2020-10-21T14:22:34Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:&amp;lt;span style=&amp;quot;display:none&amp;quot;&amp;gt;{{FULLPAGENAME}}&amp;lt;/span&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;traditional&amp;quot;&amp;gt;&lt;br /&gt;
Image:OpenUPS2.png‎|''[[openUPS2|openUPS2]]''&lt;br /&gt;
Image:DCDC-NUC.png‎|''[[DCDC-NUC|DCDC-NUC]]''&lt;br /&gt;
Image:NUC-UPS.png|''[[NUC-UPS|NUC-UPS]]''&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;PDF Manuals&amp;lt;/h2&amp;gt;&lt;br /&gt;
[http://resources.mini-box.com/online/PWR-OpenUPS/PWR-OpenUPS-hardware-manual.pdf OpenUPS] &amp;lt;br&amp;gt;&lt;br /&gt;
[http://resources.mini-box.com/online/PWR-DCDC-USB/PWR-DCDC-USB-manual.pdf DCDC-USB] &amp;lt;br&amp;gt;&lt;br /&gt;
[http://resources.mini-box.com/online/PWR-DCDC-USB-200/PWR-DCDC-USB-200-manual.pdf DCDC-USB-200] &amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mini-box.com/index.php?title=File:NUC-UPS.png&amp;diff=1092</id>
		<title>File:NUC-UPS.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.mini-box.com/index.php?title=File:NUC-UPS.png&amp;diff=1092"/>
		<updated>2020-10-21T14:16:08Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mini-box.com/index.php?title=File:DCDC-NUC.png&amp;diff=1091</id>
		<title>File:DCDC-NUC.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.mini-box.com/index.php?title=File:DCDC-NUC.png&amp;diff=1091"/>
		<updated>2020-10-21T14:13:47Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mini-box.com/index.php?title=File:OpenUPS2.png&amp;diff=1090</id>
		<title>File:OpenUPS2.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.mini-box.com/index.php?title=File:OpenUPS2.png&amp;diff=1090"/>
		<updated>2020-10-21T14:12:39Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mini-box.com/index.php?title=Main_Page&amp;diff=1089</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.mini-box.com/index.php?title=Main_Page&amp;diff=1089"/>
		<updated>2020-10-21T14:08:14Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:&amp;lt;span style=&amp;quot;display:none&amp;quot;&amp;gt;{{FULLPAGENAME}}&amp;lt;/span&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:OpenUPS2.png‎|[[openUPS2|openUPS2]]&lt;br /&gt;
File:DCDC-NUC.png|[[DCDC-NUC|DCDC-NUC]]&lt;br /&gt;
File:NUC-UPS.png|[[NUC-UPS|NUC-UPS]]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://resources.mini-box.com/online/PWR-OpenUPS/PWR-OpenUPS-hardware-manual.pdf OpenUPS] &amp;lt;br&amp;gt;&lt;br /&gt;
[http://resources.mini-box.com/online/PWR-DCDC-USB/PWR-DCDC-USB-manual.pdf DCDC-USB] &amp;lt;br&amp;gt;&lt;br /&gt;
[http://resources.mini-box.com/online/PWR-DCDC-USB-200/PWR-DCDC-USB-200-manual.pdf DCDC-USB-200] &amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mini-box.com/index.php?title=NUC-UPS&amp;diff=1086</id>
		<title>NUC-UPS</title>
		<link rel="alternate" type="text/html" href="https://wiki.mini-box.com/index.php?title=NUC-UPS&amp;diff=1086"/>
		<updated>2020-10-21T12:18:31Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Windows System monitor */&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 [http://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 [http://wiki.mini-box.com/images/4/4b/DCDC-NUC_UPS-_FW_ver_1.3_for_loading_with_bootloader_2017.oct.09.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 ([http://windows.microsoft.com/en-us/windows/run-program-automatically-windows-starts#1TC=windows-7 Windows 7], [http://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;
||[http://wiki.mini-box.com/images/3/33/NUCUPSv1.0.zip '''1.0''']||First version&lt;br /&gt;
|-&lt;br /&gt;
||[http://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;
||[http://wiki.mini-box.com/images/3/35/NUCUPSApiTestV1.0.zip '''1.0''']||First version&lt;br /&gt;
|-&lt;br /&gt;
||[http://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>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mini-box.com/index.php?title=NUC-UPS&amp;diff=1085</id>
		<title>NUC-UPS</title>
		<link rel="alternate" type="text/html" href="https://wiki.mini-box.com/index.php?title=NUC-UPS&amp;diff=1085"/>
		<updated>2020-10-21T12:15:25Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Motherboard control */&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 [http://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 [http://wiki.mini-box.com/images/4/4b/DCDC-NUC_UPS-_FW_ver_1.3_for_loading_with_bootloader_2017.oct.09.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 &lt;br /&gt;
&lt;br /&gt;
([http://windows.microsoft.com/en-us/windows/run-program-automatically-windows-starts#1TC=windows-7 '''Windows &lt;br /&gt;
&lt;br /&gt;
7'''], [http://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;
||[http://wiki.mini-box.com/images/3/33/NUCUPSv1.0.zip '''1.0''']||First version&lt;br /&gt;
|-&lt;br /&gt;
||[http://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;
||[http://wiki.mini-box.com/images/3/35/NUCUPSApiTestV1.0.zip '''1.0''']||First version&lt;br /&gt;
|-&lt;br /&gt;
||[http://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>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mini-box.com/index.php?title=NUC-UPS&amp;diff=1084</id>
		<title>NUC-UPS</title>
		<link rel="alternate" type="text/html" href="https://wiki.mini-box.com/index.php?title=NUC-UPS&amp;diff=1084"/>
		<updated>2020-10-21T12:14:08Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* NUC-UPS operating modes */&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 [http://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 [http://wiki.mini-box.com/images/4/4b/DCDC-NUC_UPS-_FW_ver_1.3_for_loading_with_bootloader_2017.oct.09.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 [http://wiki.mini-box.com/index.php?title=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 [http://wiki.mini-box.com/index.php?title=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 [http://wiki.mini-box.com/index.php?title=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 [http://wiki.mini-box.com/index.php?title=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 &lt;br /&gt;
&lt;br /&gt;
([http://windows.microsoft.com/en-us/windows/run-program-automatically-windows-starts#1TC=windows-7 '''Windows &lt;br /&gt;
&lt;br /&gt;
7'''], [http://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;
||[http://wiki.mini-box.com/images/3/33/NUCUPSv1.0.zip '''1.0''']||First version&lt;br /&gt;
|-&lt;br /&gt;
||[http://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;
||[http://wiki.mini-box.com/images/3/35/NUCUPSApiTestV1.0.zip '''1.0''']||First version&lt;br /&gt;
|-&lt;br /&gt;
||[http://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>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mini-box.com/index.php?title=MediaWiki:Common.css&amp;diff=73</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.mini-box.com/index.php?title=MediaWiki:Common.css&amp;diff=73"/>
		<updated>2020-10-20T18:07:22Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* CSS placed here will be applied to all skins */&lt;br /&gt;
#ca-talkm { display: none !important; }&lt;br /&gt;
li#ca-history, li#ca-viewsource, li#ca-talk, #p-tb { display: none; }';&lt;br /&gt;
h1#firstHeading.﻿firstHeading {border-bottom: 0px;}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mini-box.com/index.php?title=MediaWiki:Common.css&amp;diff=72</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.mini-box.com/index.php?title=MediaWiki:Common.css&amp;diff=72"/>
		<updated>2020-10-20T17:29:59Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* CSS placed here will be applied to all skins */&lt;br /&gt;
#ca-talkm { display: none !important; }&lt;br /&gt;
li#ca-history, li#ca-viewsource, li#ca-talk, #p-tb { display: none; }';&lt;br /&gt;
#firstHeading {border-bottom: 0px;}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mini-box.com/index.php?title=MediaWiki:Common.css&amp;diff=71</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.mini-box.com/index.php?title=MediaWiki:Common.css&amp;diff=71"/>
		<updated>2020-10-20T17:28:34Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* CSS placed here will be applied to all skins */&lt;br /&gt;
#ca-talkm { display: none !important; }&lt;br /&gt;
li#ca-history, li#ca-viewsource, li#ca-talk, #p-tb { display: none; }';&lt;br /&gt;
#firstHeading h1 {border-bottom: 0px;}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mini-box.com/index.php?title=MediaWiki:Common.css&amp;diff=70</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.mini-box.com/index.php?title=MediaWiki:Common.css&amp;diff=70"/>
		<updated>2020-10-20T17:27:41Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* CSS placed here will be applied to all skins */&lt;br /&gt;
#ca-talkm { display: none !important; }&lt;br /&gt;
li#ca-history, li#ca-viewsource, li#ca-talk, #p-tb { display: none; }';&lt;br /&gt;
h1#firstHeading {border-bottom: 0px;}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mini-box.com/index.php?title=MediaWiki:Common.css&amp;diff=69</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.mini-box.com/index.php?title=MediaWiki:Common.css&amp;diff=69"/>
		<updated>2020-10-20T17:24:51Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* CSS placed here will be applied to all skins */&lt;br /&gt;
#ca-talkm { display: none !important; }&lt;br /&gt;
li#ca-history, li#ca-viewsource, li#ca-talk, #p-tb { display: none; }';&lt;br /&gt;
h1:first-child, h2:first-child {&lt;br /&gt;
    margin-bottom: 0.6em;&lt;br /&gt;
    border-bottom: 0px;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mini-box.com/index.php?title=Main_Page&amp;diff=68</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.mini-box.com/index.php?title=Main_Page&amp;diff=68"/>
		<updated>2020-10-20T13:28:47Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:&amp;lt;span style=&amp;quot;display:none&amp;quot;&amp;gt;{{FULLPAGENAME}}&amp;lt;/span&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
[[openUPS2|openUPS2]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[DCDC-NUC|DCDC-NUC]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[NUC-UPS|NUC-UPS]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://resources.mini-box.com/online/PWR-OpenUPS/PWR-OpenUPS-hardware-manual.pdf OpenUPS] &amp;lt;br&amp;gt;&lt;br /&gt;
[http://resources.mini-box.com/online/PWR-DCDC-USB/PWR-DCDC-USB-manual.pdf DCDC-USB] &amp;lt;br&amp;gt;&lt;br /&gt;
[http://resources.mini-box.com/online/PWR-DCDC-USB-200/PWR-DCDC-USB-200-manual.pdf DCDC-USB-200] &amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mini-box.com/index.php?title=MediaWiki:Common.css&amp;diff=67</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.mini-box.com/index.php?title=MediaWiki:Common.css&amp;diff=67"/>
		<updated>2020-10-20T13:27:07Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* CSS placed here will be applied to all skins */&lt;br /&gt;
#ca-talkm { display: none !important; }&lt;br /&gt;
li#ca-history, li#ca-viewsource, li#ca-talk, #p-tb { display: none; }';&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mini-box.com/index.php?title=MediaWiki:Common.css&amp;diff=66</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.mini-box.com/index.php?title=MediaWiki:Common.css&amp;diff=66"/>
		<updated>2020-10-20T13:26:09Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* CSS placed here will be applied to all skins */&lt;br /&gt;
#ca-talkm { display: none !important; }&lt;br /&gt;
li#ca-history, li#ca-viewsource, li#ca-edit, li#ca-talk, #p-tb { display: none; }';&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mini-box.com/index.php?title=MediaWiki:Common.css&amp;diff=65</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.mini-box.com/index.php?title=MediaWiki:Common.css&amp;diff=65"/>
		<updated>2020-10-20T13:24:40Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* CSS placed here will be applied to all skins */&lt;br /&gt;
#ca-talkm { display: none !important; }&lt;br /&gt;
li#ca-history, li#ca-viewsource, li#ca-edit, li#ca-talk, .vectorMenu { display: none; }';&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mini-box.com/index.php?title=MediaWiki:Common.css&amp;diff=64</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.mini-box.com/index.php?title=MediaWiki:Common.css&amp;diff=64"/>
		<updated>2020-10-20T13:21:53Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* CSS placed here will be applied to all skins */&lt;br /&gt;
#ca-talkm { display: none !important; }&lt;br /&gt;
#p-tb { display: none }&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mini-box.com/index.php?title=File:NUCUPS_sm_traysettings.jpg&amp;diff=63</id>
		<title>File:NUCUPS sm traysettings.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.mini-box.com/index.php?title=File:NUCUPS_sm_traysettings.jpg&amp;diff=63"/>
		<updated>2020-10-20T13:17:22Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mini-box.com/index.php?title=File:NUCUPS_sm_menu.jpg&amp;diff=62</id>
		<title>File:NUCUPS sm menu.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.mini-box.com/index.php?title=File:NUCUPS_sm_menu.jpg&amp;diff=62"/>
		<updated>2020-10-20T13:17:10Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mini-box.com/index.php?title=File:NUCUPS_sm_tray3.jpg&amp;diff=61</id>
		<title>File:NUCUPS sm tray3.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.mini-box.com/index.php?title=File:NUCUPS_sm_tray3.jpg&amp;diff=61"/>
		<updated>2020-10-20T13:16:39Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mini-box.com/index.php?title=File:NUCUPS_sm_tray2.jpg&amp;diff=60</id>
		<title>File:NUCUPS sm tray2.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.mini-box.com/index.php?title=File:NUCUPS_sm_tray2.jpg&amp;diff=60"/>
		<updated>2020-10-20T13:16:23Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mini-box.com/index.php?title=File:NUC-UPS-Settings.JPG&amp;diff=59</id>
		<title>File:NUC-UPS-Settings.JPG</title>
		<link rel="alternate" type="text/html" href="https://wiki.mini-box.com/index.php?title=File:NUC-UPS-Settings.JPG&amp;diff=59"/>
		<updated>2020-10-20T13:16:06Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mini-box.com/index.php?title=File:NUC-UPS-Charger.JPG&amp;diff=58</id>
		<title>File:NUC-UPS-Charger.JPG</title>
		<link rel="alternate" type="text/html" href="https://wiki.mini-box.com/index.php?title=File:NUC-UPS-Charger.JPG&amp;diff=58"/>
		<updated>2020-10-20T13:15:51Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mini-box.com/index.php?title=File:NUC-UPS-Status.JPG&amp;diff=57</id>
		<title>File:NUC-UPS-Status.JPG</title>
		<link rel="alternate" type="text/html" href="https://wiki.mini-box.com/index.php?title=File:NUC-UPS-Status.JPG&amp;diff=57"/>
		<updated>2020-10-20T13:15:37Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mini-box.com/index.php?title=File:LED_Missing.PNG&amp;diff=56</id>
		<title>File:LED Missing.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.mini-box.com/index.php?title=File:LED_Missing.PNG&amp;diff=56"/>
		<updated>2020-10-20T13:15:19Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mini-box.com/index.php?title=File:LED_Wait_Hardoff_Running_From_Battery.PNG&amp;diff=55</id>
		<title>File:LED Wait Hardoff Running From Battery.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.mini-box.com/index.php?title=File:LED_Wait_Hardoff_Running_From_Battery.PNG&amp;diff=55"/>
		<updated>2020-10-20T13:14:34Z</updated>

		<summary type="html">&lt;p&gt;Admin: Admin uploaded a new version of File:LED Wait Hardoff Running From Battery.PNG&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mini-box.com/index.php?title=File:LED_Wait_Hardoff_Running_From_Battery.PNG&amp;diff=54</id>
		<title>File:LED Wait Hardoff Running From Battery.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.mini-box.com/index.php?title=File:LED_Wait_Hardoff_Running_From_Battery.PNG&amp;diff=54"/>
		<updated>2020-10-20T13:13:56Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mini-box.com/index.php?title=File:LED_Wait_Hardoff_Running_From_Vin.PNG&amp;diff=53</id>
		<title>File:LED Wait Hardoff Running From Vin.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.mini-box.com/index.php?title=File:LED_Wait_Hardoff_Running_From_Vin.PNG&amp;diff=53"/>
		<updated>2020-10-20T13:13:33Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mini-box.com/index.php?title=File:LED_Running_From_Battery.PNG&amp;diff=52</id>
		<title>File:LED Running From Battery.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.mini-box.com/index.php?title=File:LED_Running_From_Battery.PNG&amp;diff=52"/>
		<updated>2020-10-20T13:13:16Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mini-box.com/index.php?title=File:LED_Running_From_Vin.PNG&amp;diff=51</id>
		<title>File:LED Running From Vin.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.mini-box.com/index.php?title=File:LED_Running_From_Vin.PNG&amp;diff=51"/>
		<updated>2020-10-20T13:13:01Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mini-box.com/index.php?title=File:LED_Batteries_Charging.PNG&amp;diff=50</id>
		<title>File:LED Batteries Charging.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.mini-box.com/index.php?title=File:LED_Batteries_Charging.PNG&amp;diff=50"/>
		<updated>2020-10-20T13:12:44Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mini-box.com/index.php?title=File:LED_Initial_Delay.PNG.PNG&amp;diff=49</id>
		<title>File:LED Initial Delay.PNG.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.mini-box.com/index.php?title=File:LED_Initial_Delay.PNG.PNG&amp;diff=49"/>
		<updated>2020-10-20T13:12:29Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mini-box.com/index.php?title=File:LED_LPWR_Mode_On_USB_Or_In_Automotive_Standby.PNG&amp;diff=48</id>
		<title>File:LED LPWR Mode On USB Or In Automotive Standby.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.mini-box.com/index.php?title=File:LED_LPWR_Mode_On_USB_Or_In_Automotive_Standby.PNG&amp;diff=48"/>
		<updated>2020-10-20T13:12:09Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mini-box.com/index.php?title=File:Immediate_shutdown.PNG&amp;diff=47</id>
		<title>File:Immediate shutdown.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.mini-box.com/index.php?title=File:Immediate_shutdown.PNG&amp;diff=47"/>
		<updated>2020-10-20T13:11:09Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mini-box.com/index.php?title=File:Gracious_shutdown.PNG&amp;diff=46</id>
		<title>File:Gracious shutdown.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.mini-box.com/index.php?title=File:Gracious_shutdown.PNG&amp;diff=46"/>
		<updated>2020-10-20T13:10:54Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mini-box.com/index.php?title=File:Automotive_mode_waking_with_Ignition.PNG&amp;diff=45</id>
		<title>File:Automotive mode waking with Ignition.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.mini-box.com/index.php?title=File:Automotive_mode_waking_with_Ignition.PNG&amp;diff=45"/>
		<updated>2020-10-20T13:10:37Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mini-box.com/index.php?title=File:Dumb_mode_waking_with_button.PNG&amp;diff=44</id>
		<title>File:Dumb mode waking with button.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.mini-box.com/index.php?title=File:Dumb_mode_waking_with_button.PNG&amp;diff=44"/>
		<updated>2020-10-20T13:10:23Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mini-box.com/index.php?title=File:Dumb_mode_waking_with_VIN.PNG&amp;diff=43</id>
		<title>File:Dumb mode waking with VIN.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.mini-box.com/index.php?title=File:Dumb_mode_waking_with_VIN.PNG&amp;diff=43"/>
		<updated>2020-10-20T13:10:07Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mini-box.com/index.php?title=File:Nucupslegend.jpg&amp;diff=42</id>
		<title>File:Nucupslegend.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.mini-box.com/index.php?title=File:Nucupslegend.jpg&amp;diff=42"/>
		<updated>2020-10-20T13:09:38Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mini-box.com/index.php?title=NUC-UPS&amp;diff=41</id>
		<title>NUC-UPS</title>
		<link rel="alternate" type="text/html" href="https://wiki.mini-box.com/index.php?title=NUC-UPS&amp;diff=41"/>
		<updated>2020-10-20T13:05:36Z</updated>

		<summary type="html">&lt;p&gt;Admin: Created the page&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 [http://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 [http://wiki.mini-box.com/images/4/4b/DCDC-NUC_UPS-_FW_ver_1.3_for_loading_with_bootloader_2017.oct.09.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 [http://wiki.mini-box.com/index.php?title=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 [http://wiki.mini-box.com/index.php?title=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 [http://wiki.mini-box.com/index.php?title=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 [http://wiki.mini-box.com/index.php?title=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 [http://wiki.mini-box.com/index.php?title=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 &lt;br /&gt;
&lt;br /&gt;
([http://windows.microsoft.com/en-us/windows/run-program-automatically-windows-starts#1TC=windows-7 '''Windows &lt;br /&gt;
&lt;br /&gt;
7'''], [http://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;
||[http://wiki.mini-box.com/images/3/33/NUCUPSv1.0.zip '''1.0''']||First version&lt;br /&gt;
|-&lt;br /&gt;
||[http://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;
||[http://wiki.mini-box.com/images/3/35/NUCUPSApiTestV1.0.zip '''1.0''']||First version&lt;br /&gt;
|-&lt;br /&gt;
||[http://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>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mini-box.com/index.php?title=File:DCDCNUC_sm_traysettings.jpg&amp;diff=40</id>
		<title>File:DCDCNUC sm traysettings.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.mini-box.com/index.php?title=File:DCDCNUC_sm_traysettings.jpg&amp;diff=40"/>
		<updated>2020-10-20T13:03:06Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mini-box.com/index.php?title=File:DCDCNUC_sm_menu.jpg&amp;diff=39</id>
		<title>File:DCDCNUC sm menu.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.mini-box.com/index.php?title=File:DCDCNUC_sm_menu.jpg&amp;diff=39"/>
		<updated>2020-10-20T13:02:51Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mini-box.com/index.php?title=File:DCDCNUC_sm_tray3.jpg&amp;diff=38</id>
		<title>File:DCDCNUC sm tray3.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.mini-box.com/index.php?title=File:DCDCNUC_sm_tray3.jpg&amp;diff=38"/>
		<updated>2020-10-20T13:02:30Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mini-box.com/index.php?title=File:DCDCNUC_sm_tray2.jpg&amp;diff=37</id>
		<title>File:DCDCNUC sm tray2.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.mini-box.com/index.php?title=File:DCDCNUC_sm_tray2.jpg&amp;diff=37"/>
		<updated>2020-10-20T13:02:19Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mini-box.com/index.php?title=File:DCDC-NUC-Settings.JPG&amp;diff=36</id>
		<title>File:DCDC-NUC-Settings.JPG</title>
		<link rel="alternate" type="text/html" href="https://wiki.mini-box.com/index.php?title=File:DCDC-NUC-Settings.JPG&amp;diff=36"/>
		<updated>2020-10-20T13:02:04Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
</feed>