Product development often occurs in different location over the world, there may be one team in Asia, and another in Europe and the US. At the beginning, the number of working samples for a board may be limited, so the project manager may have to decide who gets the boards since those may not be available to all teams.
So it would be great if somehow there was a way to do remote testing of boards, so maybe the team in Asia could setup the testbed, used it during there time, and once they are back home, the US team can take over remotely to carry on their own development work on the hardware. That’s exactly what MuxPi board is all about.
The solution provide remote access via the Ethernet port of a NanoPi NEO board, and connects to the DUT (Device under Test) via HDMI, Ethernet, USB and other interfaces. The (micro) SD card is muxed to either boot the DUT, or flash the firmware, the DUT can be turned on / off remotely, power consumption is measured by the board, and you can even send EDID data vor HDMI. In an upcoming talk at the Embedded Linux Conference Europe 2018, Krzysztof Opasiak working Samsung R&D Institute Poland will explain how to grab audio and video remotely by adding an HDMI extender to MuxPi.
- Based on NanoPi NEO Allwinner H3 board
- 4-wire UART level shifter for connecting to DUT’s UART;
- UART voltage generator to generate voltage in range from 0 to 5V.
- Watchdog Timer that allows to restart of NanoPi board
- Power Control & Current Measurement:
- Control power of a DUT using electromagnetic relay
- Measure DUTs current consumption using HAL effect current sensor
- MCU – Arm Cortex-M0 based module which supports NanoPi board with functions it can’t realize such as
- Controlling SD-MUX module
- Controlling DyPers
- Handling User Interface
- Writing EDID to DUT’s HDMI
- Measuring DUT’s current consumption
- Handling NanoPi’s watchdog
- Cooperating with add-ons – measuring analog signals, handling GPIOs, handling LEDs Display and keys
- USB-ETH – USB to Ethernet converter to connect MuxPi to DUT in order to eliminate need of external Ethernet switch
- 2-port USB HUB – USB hub with integrated microSD card reader
- SD-READER microSD card reader (part of HUB IC) connected to SD-MUX and NanoPi NEO in order to eliminate need of external one
- SD-MUX multiplexer of SD-MUX card which allows to connect the card either to microSD card reader or a DUT
- 2x 2-channel DyPers (Dynamic jumPer) – A simple switch intended to programmatically connect jumpers or push buttons on a DUT;
- USB/UART SWITCH & ID – a block of componnets with dedicated USB connector; the block allows to control USB Vbus and ID, and allows to redirect USB data lines either to NanoPi’s USB or UART
- Misc – Various status LEDs, 2x RGB LEDs, 128×32 OLED display, 2 push buttons
- Power Supply – 3.3V for internal need, enable/disable power supply for the main board
You can also build a board farm for remote testing as discussed in the introduction, or automated testing.
The MuxPi board was actually designed to aid automated testing system of Tizen binary images, but since everything is open source, you could obviously adapt the software to your own needs. More details about the hardware and software used can be found in the Wiki, Tizen git repository, as well as in a presentation made at FOSDEM 2018.
The cost of the board is around $80, but you can’t just buy it, you’d have to make it yourself using the provide KiCad files, and based on the presentation this requires some very good soldering skills. If you work for a company, you’ll probably find a few people able to put it together.