Home

NXT Prototype Board


 

HiTechnic NXT Prototype Sensor Board
Fo
r LEGOÒ MindstormsÒ NXT

 

 

Introduction

The HiTechnic Prototype board provides an easy-to-use platform for building your own NXT sensors and connecting other devices to the NXT.

The Prototype board is fully assembled and tested and is available in two forms,

 

   

The solderable board (Model NPT1050) has a 14 x 16 grid of 0.1" holes for soldering components  to create permanent circuits.

 

 Solderless Prototype Sensor  
The solderless prototype board (Model NPS1055), designed to connect to a solderless breadboard so you can create different designs and reuse components.

 

Prototyping Kit

The Prototype Sensor is also available as a Prototype Kit  so you will be ready to start designing and building your creations.

 
The Prototype Kit includes
                 1 Prototype board – Solderless
                 1 solderless breadboard 165mm x 55mm (6.5 x 2.1 inch)
                 1 set of 70 jumper wires with pre-bent stripped ends in a range of convenient lengths

 
 HiTechnic Prototype Kit includes the prototype board, jumper wire set and a solderless breadboard.
 
 Prototype kit with a circuit controlled by an NXT program

Specifications

  • Five analog inputs - 10 bit A/D, 0 - 3.3v
  • Six digital I/O bits that can be configured as read or write 
  • 3.3v, 5.0v, 4.3v and 9.0v power connections

 

The HiTechnic NXT Prototyping Board enables custom electronics to be attached safely and easily to the Lego Mindstorms NXT system. The prototyping board provides five values for each of five analog input signals (A0–A4), and provides bi-directional digital signaling for six digital input/output lines (B0–B5).

The signal levels used within the board adhere to the 3.3V supply system used by the NXT. The prototyping board also provides power derived from the NXT of 3.3V and 5.0V regulated, and 4.3V and 9.0V unregulated for the external electronics.

Two versions of the prototype board are available: NTP1050 for direct attachment of soldered components; and NTP1055 for use with a solderless breadboard.

The firmware permits communications with the NXT using I2C. If using a programming language other than NXT-G ensure that I2C mode with 9v enabled is selected for the NXT port used. The five analog inputs are returned as unsigned 10-bit values spanning 0 to 3.3V. The six digital inputs are returned as one byte with bits 0–5 representing the state of the six inputs.

The six digital outputs are controlled by two bytes: one sets the state for signals that have been defined as outputs; the other sets each bit to either input or output.

The prototyping board update rate may be controlled within a range of 4-100 milliseconds per sample.

 

Address

Type

Field

00 – 07H

chars

Sensor version number

08 – 0FH

chars

Manufacturer

10 – 17H

chars

Sensor type

42H

byte

A0 upper 8 bits

43H

byte

A0 lower 2 bits

44H

byte

A1 upper 8 bits

45H

byte

A1 lower 2 bits

46H

byte

A2 upper 8 bits

47H

byte

A2 lower 2 bits

48H

byte

A3 upper 8 bits

49H

byte

A3 lower 2 bits

4AH

byte

A4 upper 8 bits

4BH

byte

A4 lower 2 bits

4CH

byte

Digital inputs (bits 0 – 5)

4DH

byte

Digital outputs (bits 0 – 5)

4EH

byte

Digital input/output control (bits 0 – 5)

4FH

byte

Sampling time

Table 1: Prototype sensor memory layout

The Sensor version number field returns the revision number in the format “Vn.m” where n is the major version number and m is the revision level.

The Manufacturer field contains “HiTechnc”.

The Sensor type field contains “Proto   ”.

The A0–A4 upper 8 bits fields return the upper 8 bits of the current signal levels for the five analog input channels.

The A0–A4 lower 2 bits fields return the lower 2 bits of the current signal levels for the five analog input channels.

The Digital inputs field returns the level of the six digital signals in bits 0–5. Bits 6 and 7 are always set to 0.

The Digital outputs field sets the level of any of the six digital signals which have been configured as outputs from bits    0–5. Bits 6 and 7 will be ignored.

The Digital input/output control field configures the direction of the six digital signals from bits 0–5. Bits 6 and 7 will be ignored. A 0 bit sets the corresponding signal as an input whereas a 1 bit sets that signal as an output.

The Sampling time field sets the time between samples and may be set to any value from 4ms to 100ms.

 

The Prototype board microcontroller (MicrochipPIC16LF819) has been preprogrammed to digitize the five input voltages, and update the digital inputs and outputs at the preset sampling rate.

The design incorporates two voltage regulators that convert the 4.3V supply from the NXT to 3.3V and to convert the 9.0V supply to 5.0V. The maximum current which may be drawn from these the 3.3/4.3 volt supply is 20mA and 12 mA from the 5.0/9V supply.

 

Programming

Programs for the HiTechnic Prototype sensor can be developed using any of the popular NXT programming languages.

NXT-G Prototype Sensor Programming Block

The NXT-G programming block makes it easy to write programs for the Prototype Board.

 

  1. This plug wires the number for which of your NXT's ports are connected to the prototype sensor.
  2. This plug wires the action to be performed by the block, Read Analog, Read Digital or Write Digital.
  3. This plug wires the channel number for the Read Analog action.
  4. This plug wires the six bit value to be output for the Write Digital action.
  5. This plug wires the six bit control to be used for the Write Digital action.
  6. This plug outputs the analog value from a Read Analog action.
  7. This plug outputs the digital value from a Read Digital action.

Configuring the Prototype Sensor Block 

  1. Choose the port where your compass sensor is plugged in. By default, the block will be set to port 1 for the prototype sensor. You can change this selection if you need to.
  2. You can choose the Action the block will perform, Read Analog, Read Digital or Write Digital.

Using the Read Analog Action

The prototype analog channels A0 - A4 convert the input voltage in the range of 0 - 3.3 volts into a value in the range 0 - 1023. 

The selected channel's value will be placed on the block's Read Analog output. The simplest way to convert these values into a voltage in units of milli-volts (1/1000 of volts)  is to multiply the number by 129 and divide the result by 40.

                   Vmv= Value x 129 /40

If an input which is not connected to anything is read, it will return an unpredictable reading.

Using the Read Digital Action

The prototype digital bits will be read as a value in the range 0 - 63.

Each digital port bit has a binary value as follows;

Bit Value
B0 1
B1 2
B2 4
B3 8
B4 16
B5 32

In order to make it easy to use the digital port's individual bits, it is necessary to use logical functions AND and OR. For example, if you wish to determine if bit B3 is a one or a zero, simply take the port value and AND it with 8 (the binary value for bit 3). If the bit was a one, the result will be non-zero, ie; 8. If the bit was a zero, the result will be zero.  The logic block can be downloaded from the Downloads Page.

The voltage level ranges for the logic inputs are;

          Logic 0    0v - 0.5v

          Logic 1    2v - 3.3v

Using the Write Digital Action

The prototype digital connections can be set as inputs or outputs.  A Digital Control register can be set to any value between 0 - 63. For each bit B0 - B5, a control bit of zero will configure the connection as an input whereas a control bit of one will configure it as an output. So for example, if you wish to make B0 - B3 as outputs and B4 and B5 as inputs, you would output a control value of 15 (1 + 2 + 4 + 8).

The corresponding bits in the Digital Out value will then be used to set the state of the prototype digital connections which have corresponding one bits in the Digital Control register.

An output which is set to a zero has a connection to GND which can sink up to 12mA. An output which is set to a one has a connection to the 3.3v supply can source up to 12mA. 

When a connection is configured as an output, its current state will be reflected when the digital port is read. 

Prototype Sensor Power Outputs

There are four power supply outputs available.

9V
The 9V output is basically the NXT battery voltage which is normally provided to sensors. This voltage may range from 6 - 9 volts and can supply about 12mA.
5V
The 5V supply is provided by a 5.0 volt regulator connected to the 9V supply. If no power is being drawn from the 9 volt supply, then about 12mA is available from this output.
4V
The 4V output is basically the NXT 4.3 volt sensor supply voltage. The output can supply about 20mA.
3V
The 3V supply is provided by a 3.3 volt regulator connected to the 4V supply. If no power is being drawn from the 4 volt supply, then about 20mA is available from this output.

Caution

The Prototype sensor and electronic components used to create circuits may be damaged by static discharge so care must be taken when handling the prototype board and components to avoid static.

  

 

 

Return to Products

 

 To contact us with questions or comments see Contact Us.                                                                                12.2e

Copyright © 2007 HiTechnic Products.    HiTechnic Products is a division of Dataport Systems, Inc.
Lightbricks, Hitechnic are registered trademarks of Dataport Systems, Inc  Not responsible for typographical errors.  All product specifications 
and prices are subject to change at any time.

LEGO, LEGO MindStorms, Robotics Invention System, RCX are trademarks of the LEGO Group.