Skip to content
/ muxpi Public
forked from SamsungSLAV/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 Device Under Test or shortly DUT. Muxpi is intended to help in testing of embedded systems, automatic software installation or flashi…

License

Notifications You must be signed in to change notification settings

3mdeb/muxpi

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 Device Under Test 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

Serial number

Basically, the serial numbers consists of three parts and 15 characters:

[MuxPi hash ID] - [Batch number] - [Production Date]

example: 58C8F93D-054-1811

where:

  1. MuxPi hash ID (8 alphanumeric characters) - CRC32 hash code of joint fields:
    • manufacturer ID (a country where pcb boards are manufactured)
    • assembly company ID (a country code where the device is assembled)
    • MuxPi revision number
    • PCB order number
  2. Batch number (3 numeric characters) - increments from 000 to 999
  3. Production date (4 numeric characters) - format YYMM

About

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 Device Under Test or shortly DUT. Muxpi is intended to help in testing of embedded systems, automatic software installation or flashi…

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 95.8%
  • Shell 2.0%
  • Makefile 1.4%
  • Dockerfile 0.8%