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