Open-source UPS project - help selecting an SBC?

Started by esr, February 17, 2018, 11:50:54 PM

Previous topic - Next topic

esr

I'm leading a group attempting to develop an open-hardware, open-source UPS.  Project is here:

https://gitlab.com/esr/upside

We're looking for a small (roughly RPi-class) Unix engine to use as an interface controller in the device.  It would do things like battery state monitoring and driving the device end of a HID UPS interface.  Your OLinuXino line might be a good fit; we'd like some help from a sales engineer to pick the right one.

We don't need a lot of computing power, nor do we need wifi. We do need support for device-mode/OTG (not just host-mode) USB. Small board size is not crucial, there's plenty of room inside the enclosure sizes typically used for UPSes.  Low power draw is important as the controller has to be able to run off a battery without seriously impacting its dwell time from the point of view of the system being protected.

The most important consideration is that the Linux on board has to handle power loss gracefully.

Looking forward to hearing from you.

LubOlimex

#1
Boards with A20 chip and AXP209 power management unit are recommended. The chip is well-known and well-supported. There are a number of official and unofficial Linux images, build instructions, etc. We have been manufacturing A20 boards for quite a while. For evaluation, research, and development you should get either A20-OLinuXino-MICRO, or A20-SOM204-EVB, or A20-SOM-EVB.

Then for production either switch to only A20-SOM, A20-SOM204 or A20-OLinuXino-LIME or A20-OLinuXino-LIME2. The SOM boards are particularly interesting for embedding in own PCB designs and when size matters.

All of these boards have OTG functionality. The AXP209 PMU is advanced and a 3.7V Li-Po battery can keep the board fully operational. The switch between external power mode and battery operation back and forth is seamless. Also the boards come with battery chagrining capabilities.

The AXP209 also has a provision for a second 3.0V battery that can keep "the operation of some circuits, such as the
system real-time clock, etc. alive" in case both the main power supply and the main battery fail.

If you have further questions contact us over support@olimex.com

Below you can find a links to the products mentioned. Boards recommended for evaluation:

A20-OLinuXino-MICRO: https://www.olimex.com/Products/OLinuXino/A20/A20-OLinuXino-MICRO/open-source-hardware
A20-SOM-EVB: https://www.olimex.com/Products/SOM/A20/A20-SOM-EVB/
A20-SOM204-EVB: https://www.olimex.com/Products/SOM204/A20/A20-SOM204-EVB/

Boards recommended for end product:

A20-OLinuXino-LIME: https://www.olimex.com/Products/OLinuXino/A20/A20-OLinuXino-LIME/open-source-hardware
A20-OLinuXino-LIME2: https://www.olimex.com/Products/OLinuXino/A20/A20-OLinuXino-LIME2/open-source-hardware
A20-SOM: https://www.olimex.com/Products/SOM/A20/A20-SOM/
A20-SOM204: https://www.olimex.com/Products/SOM204/A20/A20-SOM204/

Best regards,
Lub/OLIMEX
Technical support and documentation manager at Olimex

esr

Thank you, LubOlimex.  We had already identified the A20-LIME as a possibility. I'll take a look at the others you mention. Except...what's a LIME2?  I don't see anything named that way.

We don't see I2C interfaces on the LIME, and we need them.  Are we supposed to bit-bang GPIO pins? If so, is there a driver that handles that?  Bad idea to do it in userspace.

In case you are interested, our design wiki is at https://gitlab.com/esr/upside/wikis/home

The LIME gets a mention at https://gitlab.com/esr/upside/wikis/inherent-strawman ("Inherent Strawman") which looks very much like it's going to mature into our working design.  As you see it's planned to be tied together by an I2C bus, so the question of how that is supported by the forebrain is important.

The on-board EEPROM is really nice, BTW.  That's going to simplify designing so it's resistant to random power outages - a challenge you really can't avoid when running a UPS :-).

LubOlimex

QuoteWe had already identified the A20-LIME as a possibility. I'll take a look at the others you mention. Except...what's a LIME2?

I posted links at the bottom of my original response. There are separate links for LIME and LIME2 boards. Here:

A20-OLinuXino-LIME: https://www.olimex.com/Products/OLinuXino/A20/A20-OLinuXino-LIME/open-source-hardware
A20-OLinuXino-LIME2: https://www.olimex.com/Products/OLinuXino/A20/A20-OLinuXino-LIME2/open-source-hardware

There are I2C interfaces. The A20 chip can have up to 5 x I2C interfaces. They are called TWI in the documentation, since I2C is a trade mark (I2C is propriety and belongs to Philips). Typically two are defined in the official image these are available usually as /dev/i2c-1 and /dev/i2c-2, more can be defined in the script file that describes pins. Userspace for control is more than fine, but you can also the python modules for easier access. They are maintained by an Olimex employee, and are available here:

https://pypi.python.org/pypi/pyA20Lime
https://pypi.python.org/pypi/pyA20Lime2

Best regards,
Lub/OLIMEX
Technical support and documentation manager at Olimex


esr

Thank you. knowing there's I2C/TWI on board addresses al the issues we currently have.

I will design on the assumption that we're going to use a LIME2.