Skip to main content

Overview

MIMICK gives embedded engineers direct access to physical hardware from anywhere. Instead of bringing engineers to the lab, MIMICK brings the lab to the engineers, so a distributed team can build, test, and debug real devices as naturally as opening a terminal.

The hardware stays where it is best served: with the electrical engineer, in a device farm, or with your contract manufacturer. MIMICK handles everything between you and your device under test (DUT): authentication, secure connectivity, and the controls you use to drive the DUT. There's no VPN to configure, no ports to open, and no one who has to babysit the DUT at the bench.

The problem it solves​

Physical proximity and access​

Hardware is physical and lives in one place. Teams increasingly don't. When the board you're bringing up sits on a bench in another building, or another country, the usual options are painful: stand up a VPN, expose a jump box, ship the hardware around, or rely on whoever happens to be on-site.

MIMICK removes that friction. A small bench sits next to your hardware and connects outbound to the MIMICK Cloud. From then on, anyone you authorize can reach that hardware through the Cloud, from their own workstation, with no inbound networking to set up on the lab side.

Limited hardware​

Developing hardware goes through progressive stages of build-out. Early on in the development cycle, there may only be one or two devices in existence.

How it works​

You work from your workstation using the MIMICK CLI. Your commands go to the MIMICK Cloud, which authenticates you and routes the request to the bench that sits next to your hardware. The bench drives your device under test (DUT) over whatever interface it exposes (a serial console, SPI, GPIO, and so on) and streams the results back to you the same way.

MIMICK architecture: the mimick CLI on your workstation sends gRPC requests to the MIMICK Cloud. The bench dials out to the Cloud over an outbound tunnel and drives the DUT over UART, SPI, and GPIO.

Both the CLI and the bench connect outward to the Cloud, and the bench never accepts inbound connections. The Cloud relays your requests back down the bench's own connection, which is why MIMICK works behind firewalls and NAT with no special network configuration.

The pieces​

CLI​

The mimick command-line tool runs on your laptop or in CI. You use it to sign in, adopt and select benches, list what's connected, and drive hardware: open interactive consoles and issue transport-level commands. It's a thin client that never talks to a bench directly, only to the Cloud.

Cloud​

The MIMICK Cloud is the hosted service that ties everything together. It authenticates users, keeps benches connected, routes traffic between you and your hardware, and records session history. Every other piece connects to it: you reach it from your workstation, and your benches dial into it.

Bench​

The MIMICK bench is a small, headless computer deployed wherever your hardware lives. It connects to your DUT over the interfaces the device exposes (serial, USB, SPI, GPIO, relays, and more) and dials out to the Cloud to make that hardware reachable. The bench adapts to whatever the device offers: the device defines the interface, and the bench conforms to it.

DUT​

The device under test (DUT) is the hardware you're actually working on: an embedded board, a prototype, a chip eval kit, or a manufacturing fixture. It's the thing wired to the bench and the reason MIMICK exists. In MIMICK, "bench" always means the access-point computer and "device" always means your DUT.

Where to go next​

Ready to set up your own hardware? Head to Getting started to sign in, install the CLI, and adopt your first bench.

To understand the platform more deeply, read the Fundamentals: the concepts behind benches, peripherals, sessions, and access.