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 appliance 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 (or, soon, the SDK). Your commands go to the MIMICK Cloud, which authenticates you and routes the request to the appliance that sits next to your hardware. The appliance 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.

Workstation MIMICK Cloud MIMICK appliance DUT
┌───────────────┐ ┌────────────────┐ ┌────────────────┐ ┌───────────┐
│ mimick CLI / │ gRPC │ auth · routing │ out- │ runs on-site, │ UART │ your │
│ SDK │ ─────▶ │ session record │ bound │ wired to your │ SPI │ hardware │
│ │ │ │ ◀──── │ hardware │ ───▶ │ │
└───────────────┘ └────────────────┘ tunnel└────────────────┘ GPIO └───────────┘
you the broker dials out to the Cloud device under test

Both the CLI and the appliance connect outward to the Cloud, and the appliance never accepts inbound connections. The Cloud relays your requests back down the appliance'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 appliances, list what's connected, and drive hardware: open interactive consoles and issue transport-level commands. It's a thin client that never talks to an appliance directly, only to the Cloud.

SDK

The SDK is the programmatic counterpart to the CLI: a library for writing automated hardware tests and integrating MIMICK into validation and manufacturing workflows, rather than driving hardware by hand.

note

The SDK is on the roadmap and not available yet. For now, automate with the mimick CLI from your scripts and CI.

Cloud

The MIMICK Cloud is the hosted service that ties everything together. It authenticates users, keeps appliances 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 appliances dial into it.

Appliance

The MIMICK appliance 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 appliance adapts to whatever the device offers: the device defines the interface, and the appliance 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 appliance and the reason MIMICK exists. In MIMICK, "appliance" 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 appliance.

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