Skip to main content

AT1000 Series API Documentation

AT1000

The AT1000 Series are test sequencers (also called test controllers) designed to help engineers quickly set up a functional test sequence for a device, a PCB (printed circuit board) or a more complex system testing, involving:

  • Digital and Analog I/Os
  • Current measurement
  • Programmable Power Supply
  • USB, CAN, Ethernet, RS232, and RS485 communication
  • SPI, I2C and UART interfaces availables on select I/O pins
  • Dry contacts (Signal relays)
  • Power cycling of USB devices
  • Measurement of current consumption of USB devices and power supply
  • Bidirectional current measurement on select dry contacts

AT1000 devices can not only test electronic boards, but can also be used to automate loading of firmware via USB ports and dedicated programming cables.

AT1032S​

AT1032S is the first device of the AT1000 series test sequencers.

Each AT1032S device has 32 programmable I/Os, capable of handling both analog and digital signals within a ±25V range. Outputs support 0 to 25V operation (negative voltages cannot be generated). Also, each device has 8 dry contacts including one dry contact with high precision current measurement. Multiple devices can be daisy-chained for expanded I/O capability.

AT1032S is part of AT1000 series

For the time being, AT1000 series currently consist of only one model : AT1032S. Future devices may be added to the AT1000 family of test sequencers. That being said the AT1000 API will remain compatible among all AT1000 and future AT1000 devices will be designed to fully integrate with existing AT1000 devices.

AT1032S Key Features​

  • 32 Analog / Digital I/Os
  • 8 Dry Contacts (including 1 contact equipped with high precision, bidirectional current measurement)
  • 1 two-amps, 0 to 24V power supply with precise current measurement
  • 2 USB-3 ports with precise current measurement and power ON/OFF (USB power cycling)
  • 1 100base-T ethernet port
  • RS232, RS485, CAN, SPI, I2C UART communication interfaces
  • Synchronization across multiple devices using SYNC IN / SYNC OUT
  • JavaScript and Python APIs for test automation
tip

This documentation focuses on the JavaScript / Python API and provides step-by-step methodology to setup a functional test sequencer using an AT1000. This is not a detailed datasheet for the AT1000 device.

Terminology​

The following terminology is used all along this documentation

  • DUT: Device Under Test
  • Tester : individual AT1000 device.
Disclaimer

This document assumes you have some general programming knowledge, specially in one of the following programming languages: JavaScript (NodeJS) or Python.

A simple AT1000 sequence​

Before going further into the documentation of the API, let's look at the flow chart and equivalent code of a simple - a very simple - test sequence and understand the main steps. Please note there are many ways a test sequence can be implemented and adapted to your constraints, this is just a non-fully-functional approach only to show the concept.

import at1000 from "at1000";
let devices = at1000.find_devices(5);
let tester = devices[0];
let test_point = tester.digital_io(5);
// config VIH and VIL to 3.3V and 0.8V
test_point.config_input(3.3, 0.8);
tester.reset();
let knob = tester.knob();
let speaker = tester.audio();
let screen = tester.screen();
while (1)
{
screen.cls();
screen.print("Press to start");
let event = knob.wait_event(20);
// start the test sequence
if (test_point.read() == 1)
{
//success!
screen.print("Success");
speaker.success();

}
else
{
//failure
screen.print("Failure");
speaker.failure();
}
}