Johnny-Five IO Plugin for the Next Thing Co. C.H.I.P.


Keywords
Next Thing Co., C.H.I.P., CHIP, johnny-five, io
License
MIT
Install
npm install chip-io@2.1.1

Documentation

chip-io

logo

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
    1. Install curl: sudo apt-get install curl
    2. Follow Debian section of NodeSource installations instructions
  • Build essential installed: sudo apt-get install build-essential
  • Add chip user to i2c group: sudo adduser chip i2c

NOTE: Some GPIO pins require root or sudo.

Getting Started

npm install chip-io johnny-five

NOTE: 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

C.H.I.P. pinouts

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