When you design a new board with an international team working in multiple locations, there may only be a couple of boards available for testing, and that’s mean some members of the team may not have access to the hardware. The same problem can be true for test farms with a larger number of boards.
So it would be good to have a solution to remotely access and control the hardware to speed up development. A few years ago we wrote about MuxPi board using NanoPi NEO SBC to enable remote testing of development boards, but now Timesys has come up with a more advanced solution with the Embedded Board Farm (EBF) capable of sharing multiple boards across teams spread around the world.
The solution is comprised of three main components besides the target boards:
- The Master Server integrated with LAVA test automation framework – It handles docker images, firmware/file transfer, access control, and so on.
- A Zombie connected to up to four embedded boards to give users full control of the boards as if they were physically located next to the engineers.
- An IO-CX box per board to remote control USB hotplug, Ethernet hotplug, SDMUX, I2C, and some IO’s
AFAIK, there’s no special hardware for the Master Server, any computer powerful enough to handle the task could be used.
A Zombie comes with the following specifications:
- 4x device/board USB serial ports
- 4x IO-CX USB data ports
- 4x IO-CX I2C communications ports
- 8x APP USB ports
- 7x Gigabit Ethernet port (up to ~480 Mbps since through USB 2.0) to Zombie/app
- 2x 100M Ethernet ports
- Power Supply – 5V/4A
- Dimensions – 43.2 x 23.5 x 8.25 cm with a 19-inch wide faceplate for rack mounting)
The IO-CX box allows you to virtually remove and insert cables as if you were on-site just right next to the board.
IO-CX specifications include:
- Full-size SD card slot where you’d insert a ribbon cable to connect to the SD/MicroSD card of the target board
- Up to 4 hotplugs for UBS or Ethernet
- I2C pass-through line
- 6x GPIO pins
- Power Supply – 3.3V/2.5A
- Dimensions – 17.8 x 12.7 x 9.5 cm
Once co-workers in the office with the boards have done all connections for testing, you can connect to a dashboard from any location to access the serial console, power on/off the board, insert/remove USB/Ethernet cables, control GPIOs, and even monitor the board through a webcam connected to one of the USB ports of the Zombie. It’s also possible to access the display of the board, in a way that’s similar to VNC (or maybe that’s VNC..)
The best to understand how Timesys Embedded Board Farm all works is to check out the 12-minute video presentation embedded below.
The list of features enabled by the Embedded Board Farm includes:
- Centralized management – Device-specific dashboards, admin dashboards, user management
- Access via a browser – Chrome, Internet Explorer 11, Firefox, Safari
- Multi-user support (login controlled) – Enables multiple users to connect into the EBF simultaneously, and allows each logged-in user to control different boards
- Rest API for test automation – Example code and documentation, integration with Fuego, Squish, Timesys Test Project (tstp)
- Remote power cycle – Support for different power modules: network, GPIO, custom
- Expansion capability – I2C, USB buses, GPIO pins
- Built-in App/Test server – Acts as a host on your DUT network
- Console access – Serial, network, multiple; support for different languages
- Console sharing – Command-line access
- Hot plugs – USB, Ethernet insertion and removal events
- Boot media – SD card (multiple partitions), USB, network Boot (TFTP/NFS)
- SD mux – Use special SD card mux to eliminate manual SD card programming and insertion
- USB mux – Update flash from USB storage utilizing USB mux to eliminate manual copying files to USB and insertion
- Image/file management – Upload and download, single or multiple files
- Remote monitoring – Video streaming, Audio streaming, Image capture
- Board access to/from a defined network resource – Viewer/logger server
There’s no mention of the price of the solution and it’s mostly designed for businesses, and would also have to be customized for each organization. More details can be found on the product page.
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.
Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress
I started putting something a bit similar to this with an ESP32..
The basic idea was to have power control, console and the ability to update an SD card or NOR flash on the target from the ESP32 so if you brick the target you can power it down, rewrite from the ESP32 and then power back up… I never finished it.
Someone please make a hobby grade version of this thing.
AFAIK, that’s what the MuxPi board mentioned in the introduction is for.
Before you would have had to built-it yourself, but now they are selling it too: https://3mdeb.com/shop/open-source-hardware/open-source-hardware-3mdeb/muxpi/
There are a number of projects, depending on your interfacing needs. The MuxPI is one option, another more x86 focused is pikvm (https://pikvm.org/) and there are several others
Pi-KVM is nice, but it depends on which features are needed. For example, it would allow you to “unplug” USB and Ethernet cables like MuxPi or TimeSys solution.