p5.j5

johnny-five library for p5.js

Usage no npm install needed!

<script type="module">
  import p5J5 from 'https://cdn.skypack.dev/p5.j5';
</script>

README

p5.j5

p5.j5

The full Johnny-Five nodebots library for p5.js!

Works directly in a web page via webSerial or webUSB. No servers required.

getting started

include p5 and p5.j5 in your web page:

<head>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.0.0/p5.min.js"></script>
  <script src="https://unpkg.com/p5.j5@1.1.0/dist/p5.j5.min.js"></script>
</head>

add some javascript:

let sensorVal = 0;

function preload() {
  loadBoard();
}

function setup() { 
  const sensor = new five.Sensor('A0');
  sensor.on('change', () => {
    sensorVal = sensor.scaleTo(0, 300);
  });
  createCanvas(400, 400);
} 

function draw() { 
  background('blue');
  rect(50, 150, sensorVal, 100);
}

supported hardware

Currently p5.j5 supports any arduino with the firmata sketch.

If using webUSB, you'll need the webUSB firmata sketch loaded onto your board.

running demos

from this directory run:

running on the p5 web editor

Just plug in a microcontroller with firmata on it and go here:

https://editor.p5js.org/monteslu/sketches/QbhToqDil

Bonus features

Johnny-Five related libraries bundled in:

TODO

Currently webUSB and webSerial are working great, but would be nice to have web bluetooth support via ble-io