5 **MuxPi** is an open hardware and open software board which was designed to
6 aid in automating tasks on physical devices. Initial goal was to automate
7 testing on hardware platform, thus connected devices will be called **D**\evice
8 **U**\nder **T**\est or shortly **DUT**\. Muxpi is intended to help in testing
9 of embedded systems, automatic software installation or flashing and automation
10 during development. MuxPi is connected between the DUT and a PC/Server machine
11 which will be managing the work. The name of the board is based on its two
12 main components: **SD Mux** and **NanoPi**
19 * Providing a DUT connection (UART, USB, ETH, microSD card) to remote location
21 * Switching a microSD card between a DUT's microSD card slot and an onboard
23 * Flashing a microSD card using an onboard USB card reader
24 * Flashing and controlling state of Samsung mobile devices over fully
25 controllable, dedicated USB interface
26 * Switching DUT's power supply
27 * Switching jumpers/buttons of a DUT in order to (re)boot/(re)configure it
28 * Measuring power consumption of a DUT
29 * Handling serial connection (UART) of a DUT
30 * Writing EDID to a DUT over HDMI connection
31 * Interacting with a user/maintainer over a simple, bidirectional interface
34 ******************************
35 Repository Directory structure
36 ******************************
42 └── doc - overall documentation for all of the components of MuxPi
44 └── hw - MuxPi board design and fabrication files
46 └── sw - MuxPi's software
48 └── attiny - firmware for ATtiny10 microcontroller (watchdog)
50 └── cortex - firmware for STM32F030 (controller)
52 └── nanopi - configs, scripts, tools, OS recipes, etc. for NanoPi NEO
54 └── config - ansible files for configuring NanoPi NEO
56 └── fota - tools/libs for flashing devices (usually microSD card)
59 └── stm - tools/libs for communicating with STM32F030 microntroller
61 └── power - tool for controling power supply for MuxPi's main board
63 └── gpio - tool for controling MuxPi's GPIOs including two one-color
66 └── firmware - tool for updating firmware of STM32 microntroller
68 └── nv - tool for writing and reading non-volatile data of MuxPi
70 └── debian - files for creating packages for Debian-based
79 MuxPi is distributed under `Apache 2.0 License`_
81 .. _`Apache 2.0 License`: LICENSE