Pax Instruments T400D Modules

Overview

===
The first T400D modules should be devices for which there already exists an Eagle-based breakout board and Arduino library. This will facilitate rapid development.

The sales number for modules can help us determine what products to make.

We can have two types of breakouts. We can fit three small modules or one large one. We can make small modules for individual sensors. The large modules can be for functional devices that require more than one discrete component.

Development

===
These are the development guidelines. For each module use the template files in Github to design the Eagle schematic and PCB.

We should come up with a template program for the Arduino code. It would be nice if each library were modified to output data in the same format. Then it would be pretty simple to recycle code.

Schematic design guidelines

Schematic design will follow the guidelines listed in (a yet to be written design document).

PCB design guidelines

PCB design will follow the guidelines listed in (a yet to be written design document). Each module will have on the sikscreen any relevant information including

Module name

i2c addresses

configuration information (e.g. jumpers to configure an i2c address)

Pax Instruments name and logo (This should be a part in the Eagle library)

Open hardware logo

License information

Arduino pinmap

Discrete modules

===
Discrete modules are simple boards. Each discrete module fits in a single slot of the three available slots of the T400D development board.

Each module may have one or more ICs as long as they are intimately related. For example, a thermocouple module may have an ADC to measure voltage from the thermocouple and a seperate IC to measure junction temperature.
A good discrete module candidate will meet the following criteria.

All components will fit onto a single discrete module board

All components that do not need to be outside the enclosure can be housed within the enclosure

The enclosure can be properly assembled with the module in place

The module does not interfere with neighboring modules, the main PCB, or the enclosure

The module can be operated at 3.3V or with a boot converter on the module operating with a 3.3V input

The module can have anu number of i2c devices

The module can require up to one of either a lot device, analog output to MCU, or digital output to MCU

The module requires no more than one SPI device

There exists Arduino libraries for all module ICs

There exists Eagle files for all IC components

How do we decide which modules we make first?

Tier

Description

Example

1

Direct sensing functionality

Humidity sensor, light sensor

2

Auxiliary functionality

flash storage, radio transciever

3

Prototype of the T400D development board with three perf board modules installed:

We may want to brekaout VBUS or other power source to the side of the module area. We may want to make modules that draw more power than the 3.3V regulator can provide.

Module pinout

Each module has the same connector. The ports will have DATA1, DATA2, and DATA3 as the CS pins. the space between module one and module two will have DATA4. The space between module two and module three will have DATA5 (formerly, TXLED). With this configuration DATA4 and DATA5 will be broken out for full size modules. They will also be available for breadboarding if the user adds a header across all twenty-six module pins.

Port pin

Function

1

3.3V

2

GND

3

SDA

4

SCL

5

MISO

6

MOSI

7

SCK

8

DATA<1,2,3>

Physical constraints

The distance between the PCB and the LCD is 4.7 mm. The distance between the PCB and the battery compartment is at least 1 mm.

The enclosure is designed around a 1.6 mm thick PCB.

Alcohol gas sensor

Status: In discovery phaseEvaluation: Good candidateRequirements: Will likely require the sensor be mounted on the top panel PCB.

This alcohol gas sensor is sold by Sparkfun. From Sparkfun's description: "This alcohol sensor is suitable for detecting alcohol concentration on your breath... It has a high sensitivity and fast response time. Sensor provides an analog resistive output based on alcohol concentration. The drive circuit is very simple, all it needs is one resistor. A simple interface could be a 0-3.3V ADC."

Endocer

Status: In discovery phaseEvaluation: Not a good early product
Requirements: To be useful we may want to have the encoder on a cable.

Discrete module that detects rotary or other encoding. We can only do this if we have interrup pins on for each module. This would be simple to implement. However, this component is not well aligned with the concept of lab instrumentation.

433/434/315 MHz receiver

Status: In discovery phaseEvaluation: Poor candidateRequirements: To be useful this require a transmitter.

Discrete module for radio transmitting/receiving. The transmitters are smaller than the receivers, so that may be the best module to start with.

There are modules we can drop onto a breakout board, but we may be better designing our own module.

Accelerometer

Status: In discovery phaseEvaluation: PoorRequirements:

Discrete module to breakout an accelerometer IC. The IC may include a gyroscope. This would be a simple breakout board. We would need some lab instrument use cases for this to be a good module candidate.

Perf board

Surface mount protoboard

Status: In discovery phaseEvaluation: Good candidate
Requirements: Must be tested. I have not used this typ of protoboard.

We can make breakout modules for various surface mount footprints. The remaining area can be a series of SMT pads such that passive components can be mounted to the board and traces made by dridging with solder.

The split vias along the edges can be used to connect from one side to another.

Here is what the patter can look like:

Real time clock

Status: In discovery phaseEvaluation: Good candidateRequirements:

Module for the RTC used in the T400. The RTC module should also include a backkup battery.

Sample schematic from the T400:

SPI flash (W25Q80BV)

Status: In discovery phaseEvaluation:Requirements:

Module for the SPI flash used in the T400.

Sample schematic from the T400:

PWM driver

Discrete module that gives one or more PWM outputs that can control servo motors, LED's, or other devices.

ADC (MCP3424)

Candidacy: good

Module for one of the ADC used in the T400 or T100. The ADC channels can be connected to screw terminals. Depending on how many channels we need, we can use MCP3421 (one channel), the MCP3422 (two channels) or MCP3423/MCP3424 (four channels). The MCP3421 is used in the T100 and the MCP3424 is used in the T400.

Sample schematic from the T400:

Inertial measurement unit (IMU)

A discrete module that incorporates several ICs that are typically used in an IMU.

IR communication

Single thermocouple

Candidacy: sufficient

Module to connect a thermocouple. This shoud be based on the T100 design. It would include the mini thermocouple connector and MCP9800 junction temperature sensor from the T400 and the MCP3421 ADC from the T100.

Temperature sensor (MCP9800)

Candidacy: good

Module for the junction temperature sensor used in the T400. If we make the single thermocouple module, this module would be redundant and we should not make it.

Sample schematic from the T400:

Screw terminals

Discrete module with srew terminals and perfboard. Connections can be routed by the hacker. Just breakout the pins to screw terminals or other type of quick connector.

Analog input

DAC`

Discrete module that outputs one or more analog signals via a digital-to-analog converter.

GPIO

Discrete module that provides one or more general purpose I/O ports. These ports may be hardened against input voltage. We can achieve having more than one I/O channel per module by using an expander IC.

pH meter

The circuitry to measure pH is too complex for a single discrete module, so we would have to make a functional device board. It should include the ability to read from a pH sensor, compensate using a temperature sensor, and track time using an RTC and backup battery. It may also include a buzzer for pH out-of-range alarms.

USB power meter

A device that will display and log the voltage, current, power, and energy used by a USB device. Has a USB-A and USB-B connector. The data and ground lines are passed directly between the USB connectors the +5V passes through a measurment circuit to measure current and voltage from which power and energy can be derived.

CAN bus interface

A device that can interface with the automotive CAN bus. With the right software it can act as an OBD-II trouble code reader. Maybe also a display for automotive data. Use a DB9 connector like the Sparkfun shield for use with a OBD-II interface cable. If it weren't for the phisical size, we could probably get this on a discrete module.

GPIB interface

Module to interface with GPIB devices. Maybe this would be good as a standalone reader for a particular device. With an LCD the T400D can act as a remote display for data. It could be the head for a headless GPIB device.

This would be good for interfacing with old lab instruments. I think we would be better off making a GPIB to USB interface. It's already been done before, so it ay not be a good product for us. If we make a functional device module, we can talk to GPIB devices with the T400D and also interface over USB.

Power supply

Digital power supply. It should probably take power directly from VBUS and boost it up to 5V even if the T400D is plugged into USB power. The output voltage should be programmable through the LCD and buttons. The current, voltage, power, and energy should be logged to the SD card. The device should be able to operate on battery power. It would be cool if we can output negative voltage too.

Serial port

Nothing special. Just a discrete module that adds a serial port. Maybe a good terminal for extracting data from a serial device.

A DB9 connector is approximately 31 mm wide while our modules are 22.86 mm wide. A D-sub9 connector will not work for this. We could add two serial ports with some level shifting and maybe even RS485 chips and call it a serial port functional device.

Ultrasonic rangefinder

Standalone AVR programmer

A device that can program AVR boards via an ICSP header without being connected to a computer. The user selects a hex file from the SD card via the LCD/keypad interface. Selectable between 3.3V and 5V.

The Easy Auto Programmer is the most promising design, but I cannot get the source code to compile.

Camera dolly controller

Inspiration resources

===
There are many companies that make sensors and datalogging kits for educaiton and professional labs. These can be good sources of inspiration when determining what sensors may be interesting to users.