NXShield的API(下載點)是以它的硬體配置以及Firmware功能作為發展基礎,使用的是C++語言,整體架構具結構化與彈性,運用時非常直覺,同時也很容易增加新的Device Class或擴充功能,對於NXT users不會覺得陌生且很容易上手。
NXShield的硬體配置分成兩種介面:
(1) 使用Arduino IO pins:含Buttons、RGB LED、6組3-pin的RC Servo接腳.
(2) 使用I2C界面:含兩個Port Banks(BANK-A、BANK-B,各有兩個NXT motor
ports與sensor ports) ,以及一對4-pin的I2C接腳.
NXShield firmware內建對於兩個port banks的控制功能,兩個Port banks各有預設的I2C位址(0x06與0x08)以及一組registers,作為控制Motor ports (M1、M2)動作與讀取Sensor ports (S1、S2)類比式感應器Raw Value(10 bits)的I2C操作界面.※Registers相關資料:Advance Development Guide.※Motor ports的控制功能與NXTMMX一樣,參考資料:Mindsensors NXTMMX的功能特性.※Arduino的I2C bus腳位只有一組A5、A4 pin (SCL,SDA),NXShield串接在I2C bus的界面有:BANK-A、BAN-B、4-pin的I2C接腳以及BANK-A的S1 port(BAS1).所以,BAS1 port是可以接NXT的數位感應器.

而NXT也可以使用BAS1 port來控制NXShield.
因為這4個介面串接在同一個I2C bus上,所以彼此的I2C address必須唯一.而其他的三個sensor ports就只能接類比式感應器.