This is an Open Source Hardware project. Schematics and board design files are available in the /hardware directory of the repo.
The badge uses the same core module as the Puck.js and can run most of the same software.
Hardware Features include:
You write or read a digital high/low to/from a hole with:
digitalWrite(hole, value); digitalRead(hole);
where hole is one of D0, D1, D2, D3, D4, D5, D6, D7, D8 (D0 at top), CORNER1, CORNER2, CORNER3, CORNER4, CORNER5, CORNER6 and value is 0 or 1.
You read an analogue value from a hole with:
where hole is one of D2, D3, D4, D5, CORNER4, CORNER5, CORNER6.
You can use a generic call like
where button is one of BTNA, BTNB, BTNU, BTND, BTNL, BTNR
or with a Button-specific call
where BTNx is one of BTNA, BTNB, BTNU, BTND, BTNL, BTNR
If you add LEDs to the corner holes, you can turn them on/off with a generic call
where led is one of LED1, LED2, LED3, LED4, LED5, LED6.
or with an LED-specific call
where LEDx is one of LED1, LED2, LED3, LED4, LED5, LED6 and value is 0 or 1.
In many Espruino examples on the main site, you’ll find setup code for different types of screens. That has already been taken care of for you on the badge and you can just access the graphics functions directly. e.g.
g.clear(); g.drawString("Hello World",0,0); g.flip();
You can read the capacitance (and hence touch) from the 6 corners using
where corner is one of CORNER1, CORNER2, CORNER3, CORNER4, CORNER5, CORNER6. See note here about issue of using sense and LEDs together.
You can get an estimate of the battery level by calling
It returns an approximate battery percentage remaining based on a normal CR2032 battery (2.8 - 2.2v).
You can set the screen contrast with
where c is a float from 0 to 1
You can set the URL that the NFC antenna broadcasts to NFC-capable phones by calling
where URL is something like https://www.nearform.com
If you need to flash new firmware to the badge, you must first put it in DFU mode by holding BTNA as you insert the battery and quickly letting go of BTNA. Download the Distribution Packet Zip file containing the new firmware to your phone and use nRF Toolbox on either Android or iOS to send it to the badge.
Please only do this if you are sure you need it. By using a stock badge build from the Espruino site, you’ll lose the built-in NodeConf EU main.js code and will just have a REPL over Bluetooth on your badge.