HiTechnic NXT Prototype Sensor Board for 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 can be progammed with all standard MINDSTORMS software languages including NXT-G.
![]() |
|
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 (A0A4), and provides bi-directional digital signaling for six digital input/output lines (B0B5).
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 05 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 A0A4 upper 8 bits fields return the upper 8 bits of the current signal levels for the five analog input channels.
The A0A4 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 05. 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 05. Bits 6 and 7 will be ignored.
The Digital input/output control field configures the direction of the six digital signals from bits 05. 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.

- This plug wires the number for which of your NXT's ports are connected to the prototype sensor.
- This plug wires the action to be performed by the block, Read Analog, Read Digital or Write Digital.
- This plug wires the channel number for the Read Analog action.
- This plug wires the six bit value to be output for the Write Digital action.
- This plug wires the six bit control to be used for the Write Digital action.
- This plug outputs the analog value from a Read Analog action.
- This plug outputs the digital value from a Read Digital action.
Configuring the Prototype Sensor Block

-
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.
- 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.
Using Prototype Sensor with Other Programming Languages
The Prototype sensor can be programmed with all programming lanugages including the LabVIEW toolkit, NXC and RobotC.
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.








