Giter VIP home page Giter VIP logo

futurestack14_badge's Introduction

Archived header

FutureStack 14 Badge Firmware

This firmware will turn your FutureStack badge into a simple NFC tag reader and screen target. To get started, register an account with http://electricimp.com, BlinkUp your badge using the Electric Imp Android or iOS mobile app, and create a new model using the IDE containing the code in device.nut and agent.nut. Hit "Build and Run" and your badge should be ready to go. Additionally, you can use robot.rb to push an image to your badge. Just make sure to edit it with your agent URL.

Tips for getting started

  • If you're using an Android phone, you may have better luck using the "legacy mode" during the BlinkUp process.
  • The main runloop of the device firmware can be found at the very bottom of the file here.
  • The device code is a little lengthy due to the number of driver classes. Use code collapsing to make the file a bit more navigable.
  • When blinking the badge up, you'll need to hold your phone over the phototransistor labeled Q1: phototransistor
  • Electric Imp has an excellent guide on the BlinkUp process here.
  • The badge's WiFi radio will only work on 2.4GHz networks.
  • See this troubleshooting guide if you're having issues getting the badge online.

Other resources

Electric Imp

To explore more about Electric Imp, check out their dev center here. If you want to use your Imp in your own hardware project, check out this page to find a breakout board.

E-Paper Screen

The e-paper screen on your badge is made by Pervasive Displays. You can find more information on the generation 2 2.7" display here.

NXP NFC Controller

The NFC chip on the badges is an NXP PN532. You can find the datasheet here. The user manual (a bit higher level) is here and an application note is here. With these datasheets, you'll be able to tailor the NFC chip's behavior to your heart's content.

Flash Memory

Details on the flash memory chip on the badges can be found here.

IO Expander

Since the Imp is a little short on pins, the badge includes a handy IO expander (datasheet). The unused pins of the IO expander are broken out on the side of the PCB. The interrupt line of this chip is connected to pin 1 of the Imp, which can be used for waking interrupts.

Power

Your badge is rechargeable via the micro USB port on the side. It does not need to be on to charge. The 850mAh lithium polymer battery (datasheet) is protected by an over/under charge and short protection circuit (datasheet).

Pushing an Image to Your Badge

You can use robot.rb to push an image to your badge. You'll need to edit the AGENT_URL variable with your Electric Imp agent URL.

robot.rb requires that the ImageMagick libraries are installed.

  • On Ubuntu: $ sudo apt-get install libmagickwand-dev
  • On CentOS: $ yum install ImageMagick-devel
  • On Mac, you can use Homebrew: $ brew install imagemagick

To install the gems needed for robot.rb:

    $ gem install rmagick
    $ gem install httparty

You can push the robot.png image to your badge with the command: $ ruby robot.rb

If you want to use your own image, replace robot.png with your own black and white image. The e-ink screen of the badge is 264 x 176, so your image should fit within those dimensions.

Contributions

Contributions are more than welcome. Bug reports with specific reproduction steps are great. If you have a code contribution you'd like to make, open a pull request with suggested code.

Pull requests should:

  • Clearly state their intent in the title
  • Have a description that explains the need for the changes

By contributing to this project you agree that you are granting New Relic a non-exclusive, non-revokable, no-cost license to use the code, algorithms, patents, and ideas in that code in our products if we so choose. You also agree the code is provided as-is and you provide no warranties as to its fitness or correctness for any purpose.

License

Portions of this code used with permission from Javier Montaner.

Copyright (c) 2014 New Relic, Inc. See the LICENSE file for license rights and limitations (MIT).

futurestack14_badge's People

Contributors

asm avatar richcave avatar bettse avatar chrono avatar melissaklein24 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.