Clarification on COTS Embedded Systems

Our team is looking to use an ODroid on our robot in order to do on board image processing. We are unsure whether the ODroid would count as COTS if we put a purchased unmodified case around it, and put a purchased unmodified battery inside that as well. We are thinking that this should be fine, as nearly no embedded boards we could buy come with a built in battery.

We want to use a battery so that we can avoid any potential brownouts mid-match that would cause us to lose vision processing.

So, we want to buy a case, battery, and expansion board for our ODroid, is this COTS and legal?

Or, do we have to get a non-customizable board with everything included as one item?

No the additional battery was not part of that COTS design.


Many rules in this section reference Commercial-Off-The-Shelf (COTS) items. A COTS item must be a
standard (i.e. not custom order) part commonly available from a VENDOR for all Teams for purchase. To be
a COTS item, the COMPONENT or MECHANISM must be in an unaltered, unmodified state. Items that are
no longer commercially available but are functionally equivalent to the original condition as delivered from the
VENDOR are considered COTS and may be used.


Example 1: A Team orders two (2) ROBOT grippers from RoboHands
Corp. and receives both items. They put one in their storeroom and
plan to use it later. Into the other, they drill “lightening holes” to reduce
weight. The first gripper is still classified as a COTS item, but the
second gripper is now a FABRICATED ITEM, as it has been modified.

ODroid nor their various distributors does not sell the battery so:

R11 No individual, non-KOP item shall have a value that exceeds $400 USD. The total cost of
COMPONENTS purchased in bulk may exceed $400 USD as long as the cost of an individual
COMPONENT does not exceed $400 USD.
If a COTS item is part of a modular system that can be assembled in several possible
configurations, then each individual module must fit within the price constraints defined in R11.
If the modules are designed to assemble into a single configuration, and the assembly is functional
in only that configuration, then the total cost of the complete assembly including all modules must
fit within the price constraints defined in R11.

I doubt any ODroid case and PCB would cost over $400 so…

Additionally, batteries integral to and part of a COTS computing device or self-contained camera
are also permitted (e.g. laptop batteries, GoPro style camera, etc.), provided they’re only used to
power the COTS computing device and any peripheral COTS USB input devices connected to the
COTS computing device and they are securely fastened to the ROBOT.

You’d probably have a heck of a hard time fitting battery in an ODroid XU4 stock case anyway.
You might fit it in the CloudShell but it still won’t be legal.
Plus you’d likely need to put some regulation on there to make matters worse at very least to charge it.

We have used these rules to put a fully battery operated Gateway netbook on our robot in the past.
Key being it came with that battery we didn’t fabricate anything.

You could probably (as in I am not positive) slip a cell phone on your robot if you turn off the wireless under these rules.

I am confused by your response. Hardkernal/Odroid most certainly does sell a battery designed specifically for multiple Odroids. Whether or not it is crammed inside a case or taped to the outside or otherwise mounted is irrelevant.

Regarding the need for brownout protection that can be mitigated easily using a buck/boost DC-DC converter like this one:

The battery you have linked provides the power to the real time clock (RTC) so that once you set it manually or by NTP it keeps time. It is not intended to run the unit. Even though it can’t run the ODroid totally it would still break the rules I provided above. You can only use a battery if the battery was in the COTS system by default. You can’t fabricate it in. There was a long topic about this on ChiefDelphi more than 1 year ago regarding the Raspberry Pi. If the ODroid has the battery on the PCB you might get away with it instead it just has a connector. Even though it only powers part of the PCB it didn’t come on the PCB. It’s not different than if I stack a bunch of batteries in a box onto the power input.

You are correct about the power supply. For example the ODroid XU4 draws 5V at 3A with a Belkin WiFi, cheap 2.4GHz wireless keyboard and mouse and a Logitech 920C (I measured with a Fluke multimeter on 100ms max record). It comes with a 5V at 5A power supply for the wall (it has 3 USB host ports each rated at the full current rating). So a DC/DC converter buck/boost or other combination in the 25W-100W range will work. In the case of that unit be sure to turn it down from 12V to 5V because the default is 12V and it will not end well for the ODroid.

Also as mentioned in other topics: the old DC/DC converter for the D-Link can power an ODroid XU4.
It is rated at 5V at 5A.
It drops out at 8V from the battery.

Be careful to rig up a way to turn off the ODroid neatly when you kill the robot master breaker.
Linux generally will tolerate a hard power off, but it’s best not to fsck it over and over.