cylon-digispark

Cylon module for Digispark

Cylon.js For Digispark

Cylon.js (http://cylonjs.com) is a JavaScript framework for robotics and physical computing using Node.js

This repository contains the Cylon adaptor for the Digispark ATTiny-based USB development board with the Little Wire protocol firmware installed.

Want to use Ruby on robots? Check out our sister project Artoo (http://artoo.io)

Want to use the Go programming language to power your robots? Check out our sister project Gobot (http://gobot.io).

Installing the cylon-digispark requires the libusb package already be installed.

To install libusb on OSX using Homebrew:

$ brew install libusb

To install libusb on linux:

$ sudo apt-get install libusb-dev

No instructions yet...

Now you can install the module with:

$ npm install cylon cylon-digispark

If you're experiencing the AttributeError: 'module' object has no attribute 'script_main' build issue, then please refer to this comment

This small program lets you toggle an LED on and off.

var Cylon = require('cylon');
 
Cylon.robot({
  connections: {
    digispark: { adaptor: 'digispark' }
  },
 
  devices: {
    led: { driver: 'led', pin: 2 }
  },
 
  workfunction(my) {
    every((1).seconds(), function() { my.led.toggle() });
  }
}).start();

Connecting to the Digispark ATTiny-based USB development board is very easy using Cylon, first we need to install the littlewire protocol to communicate with the digispark, Cylon includes CLI commands to make the process of uploading Littlewire to the digispark as simple as possible, after Littlewire has been uploaded you can connect and communicate using Cylon.

IMPORTANT: 2012 MBP The USB ports on the 2012 MBPs (Retina and non) cause issues due to their USB3 controllers, currently the best work around is to use a cheap USB hub (non USB3) - we are working on future solutions. The hub on a Cinema display will work as well.

DO NOT plug in the Digispark to your computer's USB port until prompted.

Install the cylon-digispark module:

$ npm install cylon-digispark

After installing the cylon-digispark npm module run the following command to upload littlewire to the digispark, plug it to a USB port when prompted:

$ gort digispark upload

Once plugged in, use the cylon scan usb command to verify your connection info:

$ gort scan usb

Now use the ID info returned to find the product and vendor ID's required to establish a connection with the Digispark in your Cylon code.

That is it, you are set to start running Cylon digispark examples.

DO NOT plug in the Digispark to your computer's USB port until prompted.

Install the cylon-digispark npm module:

$ npm install cylon-digispark

After installing the cylon-digispark module run the following command to upload littlewire to the digispark, plug it to a USB port when prompted. You might be asked to enter your sudo password, since uploading littlewire to the digispark requires some new udev rules, you can check and review them in /etc/udev/rules.d/49-micronucleus.rules after running the gort digispark set-udev-rules command:

$ gort digispark upload

Once plugged in, use the cylon scan usb command to verify your connection info:

$ gort scan usb

Now use the ID info returned to find the product and vendor ID's required to establish a connection with the Digispark in your cylon code.

That is it, you are set to start running Cylon digispark examples.

Thanks to @bluebie for the help with udev rules used when uploading littlewire to the digispark! (https://github.com/Bluebie/micronucleus-t85/wiki/Ubuntu-Linux)

We are currently working on docs and instructions for Windows. Please check back soon!

We're busy adding documentation to our web site at http://cylonjs.com/ please check there as we continue to work on Cylon.js

Thank you!

For our contribution guidelines, please go to https://github.com/hybridgroup/cylon/blob/master/CONTRIBUTING.md .

For the release history, please go to https://github.com/hybridgroup/cylon-digispark/blob/master/RELEASES.md .

Copyright (c) 2013-2015 The Hybrid Group. Licensed under the Apache 2.0 license.