Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/googlecreativelab/anypixel
A web-friendly way for anyone to build unusual displays
https://github.com/googlecreativelab/anypixel
hardware javascript schematics
Last synced: about 1 hour ago
JSON representation
A web-friendly way for anyone to build unusual displays
- Host: GitHub
- URL: https://github.com/googlecreativelab/anypixel
- Owner: googlecreativelab
- License: apache-2.0
- Created: 2016-06-02T13:36:47.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2019-11-02T07:06:46.000Z (about 5 years ago)
- Last Synced: 2024-10-29T15:34:15.208Z (about 1 month ago)
- Topics: hardware, javascript, schematics
- Language: C
- Size: 85.5 MB
- Stars: 6,440
- Watchers: 222
- Forks: 517
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- stars - anypixel - friendly way for anyone to build unusual displays | googlecreativelab | 6437 | (C)
- stars - anypixel - friendly way for anyone to build unusual displays | googlecreativelab | 6437 | (C)
README
![img](https://github.com/googlecreativelab/anypixel/blob/master/header.png)
[AnyPixel.js](http://googlecreativelab.github.io/anypixel) is an open-source software and hardware library that makes it possible to use the web to create big, unusual, interactive displays. Anyone can fork the code and the schematics to create their own display at any scale.
The first display using this platform is in the 8th Avenue lobby at the Google NYC office. To create this installation, we used 5880 off-the-shelf arcade buttons with LEDs inside them as our pixels. AnyPixel.js’ straightforward hardware/software framework makes it easy to build any display where each pixel is an interactive element.
![buttonwall](https://github.com/googlecreativelab/anypixel/blob/master/buttonwall.jpg)
## What You'll Find
- **/hardware** - EAGLE schematics, board layouts, CAD files, wiring diagrams, and blueprints.
- **/firmware** - microcontroller code, written for the STM32 family of devices.
- **/backend** - node.js and chrome applications for communicating with the hardware.
- **/frontend** - the app framework, an in-browser previewer, and 12 example apps written by Googlers and friends worldwide.
- **/rpi-example** - a simple starter example connecting a Raspberry Pi with AnyPixel to a single button for round trip communication.## Getting Started
### Check out the examples
We've included 12 example apps written by Googlers and friends for the 8th Avenue lobby display in NYC. To check them out, install the [previewer](https://github.com/googlecreativelab/anypixel/tree/master/frontend/previewer) and run one of the [examples](https://github.com/googlecreativelab/anypixel/tree/master/frontend/examples).### Build your own app
Building your own app is easy with the Anypixel framework. To get started, check out the [framework documentation](https://github.com/googlecreativelab/anypixel/tree/master/frontend/framework) and the [example app](https://github.com/googlecreativelab/anypixel/tree/master/frontend/examples/getting-started):```js
var anypixel = require('anypixel');
var ctx = anypixel.canvas.getContext2D();var colors = ['#F00', '#0F0', '#00F'];
/**
* * Listen for onButtonDown events and draw a 2x2 rectangle at the event site
*/
document.addEventListener('onButtonDown', function(event) {
ctx.fillStyle = colors[Math.floor(Math.random() * colors.length)];
ctx.fillRect(event.detail.x - 1, event.detail.y - 1, 2, 2);
});
```## Contributors
- [Jeremy Abel](https://github.com/jeremyabel)
- [Kyle Phillips](https://github.com/hapticdata)
- [Nick Fox-Gieg](https://github.com/n1ckfg)
- [Jeramy Morrill](https://github.com/theceremony)
- [Manny Tan](https://github.com/mannytan)
- [Felix Woitzel](https://github.com/flexi23)
- [Anders Hoff](https://github.com/inconvergent)
- [Dimitry Bentsionov](https://github.com/dimitry)
- [Nick Stahlnecker](https://github.com/Stahlneckr)
- [Nick Jonas](https://github.com/nick-jonas)
- [Patrick Miller](https://github.com/patrickdmiller)## Note
Third party directories may have different (non-Apache 2.0) licenses.