2.1.1 • Published 9 years ago
chip-io v2.1.1
chip-io

Johnny-Five IO Plugin for the Next Thing Co. C.H.I.P.
Prerequisites
- Next Thing Co. C.H.I.P. board
- Node.js installed
- Install
curl:sudo apt-get install curl - Follow Debian section of NodeSource installations instructions
- Install
- Build essential installed:
sudo apt-get install build-essential - Add
chipuser toi2cgroup:sudo adduser chip i2c
NOTE: Some GPIO pins require root or sudo.
Getting Started
npm install chip-io johnny-fiveNOTE: Must be run on the C.H.I.P. itself.
Boilerplate Program
var five = require('johnny-five');
var chipio = require('chip-io');
var board = new five.Board({
io: new chipio()
});
board.on('ready', function() {
// do Johnny-Five stuff
});Examples
See examples folder as well as Johnny-Five examples.
API
See Johnny-Five API docs.
Pin Guide
| Johnny-Five Compatible Name | Number | Supported Modes | Requires root or sudo | Info |
|---|---|---|---|---|
| LCD-D2 | 17 | Input | ✓ | |
| PWM0 | 18 | Input, Output, PWM | ✓ | |
| LCD-D4 | 19 | Input, Output | ✓ | |
| LCD-D3 | 20 | Input, Output | ✓ | |
| LCD-D6 | 21 | Input, Output | ✓ | |
| LCD-D5 | 22 | Input, Output | ✓ | |
| LCD-D10 | 23 | Input, Output | ✓ | |
| LCD-D7 | 24 | Input, Output | ✓ | |
| LCD-D12 | 25 | Input, Output | ✓ | |
| LCD-D11 | 26 | Input, Output | ✓ | |
| LCD-D14 | 27 | Input, Output | ✓ | |
| LCD-D13 | 28 | Input, Output | ✓ | |
| LCD-D18 | 29 | Input, Output | ✓ | |
| LCD-D15 | 30 | Input, Output | ✓ | |
| LCD-D20 | 31 | Input, Output | ✓ | |
| LCD-D19 | 32 | Input, Output | ✓ | |
| LCD-D22 | 33 | Input, Output | ✓ | |
| LCD-D21 | 34 | Input, Output | ✓ | |
| LCD-CLK | 35 | Input, Output | ✓ | |
| LCD-D23 | 36 | Input, Output | ✓ | |
| LCD-VSYNC | 37 | Input, Output | ✓ | |
| LCD-HSYNC | 38 | Input, Output | ✓ | |
| LCD-DE | 40 | Input, Output | ✓ | |
| LRADC | 51 | Analog | ✓ | |
| XIO-P0 | 53 | Input, Output | Connected to the built-in PCF8574A IO extender | |
| XIO-P1 | 54 | Input, Output | Connected to the built-in PCF8574A IO extender | |
| XIO-P2 | 55 | Input, Output | Connected to the built-in PCF8574A IO extender | |
| XIO-P3 | 56 | Input, Output | Connected to the built-in PCF8574A IO extender | |
| XIO-P4 | 57 | Input, Output | Connected to the built-in PCF8574A IO extender | |
| XIO-P5 | 58 | Input, Output | Connected to the built-in PCF8574A IO extender | |
| XIO-P6 | 59 | Input, Output | Connected to the built-in PCF8574A IO extender | |
| XIO-P7 | 60 | Input, Output | Connected to the built-in PCF8574A IO extender | |
| CSIPCK | 67 | Input | ✓ | |
| CSICK | 68 | Input | ✓ | |
| CSIHSYNC | 69 | Input | ✓ | |
| CSIVSYNC | 70 | Input, Output | ✓ | |
| CSID0 | 71 | Input, Output | ✓ | |
| CSID1 | 72 | Input, Output | ✓ | |
| CSID2 | 73 | Input, Output | ✓ | |
| CSID3 | 74 | Input, Output | ✓ | |
| CSID4 | 75 | Input, Output | ✓ | |
| CSID5 | 76 | Input, Output | ✓ | |
| CSID6 | 77 | Input, Output | ✓ | |
| CSID7 | 78 | Input, Output | ✓ | |
| I2C | I2C | Uses I2C port 2 (TWI2-SCK and TWI2-SDA). Address 0x38 is used by the built-in PCF8574A IO extender |

Additional Features
| Type | Usage | Johnny-Five type | Notes |
|---|---|---|---|
| Battery Voltage | new chipio.BatteryVoltage(); | five.Sensor | Reads battery voltage from the AXP290 |
| Internal Temperature | new chipio.InternalTemperature(); | five.Thermometer | Reads internal temperature from the AXP290 |
| Onboard Button | new chipio.OnboardButton(); | five.Button | Use onboard button (beside LCD-DE pin) connected to the AXP290 |
| Status LED | new chipio.StatusLed; | five.Led | Controls status LED connected to GPIO2 on the AXP290 |