Code Monkey home page Code Monkey logo

rio's Introduction

Gitter

What is rio?

The main project behind Rio is an interactive, internet connected LED wall. Rio has been used to power a 2 meter x 1.1 meter LED display made by Solid State Group. rio-server currently runs here on a Raspberry Pi and drives 2040 pixels with a generic REST and WebSocket API. We also use rio-canvas and rio-mobile to enable new ways to interact with it.

We were originally inspired by Google Creative Labs's anypixel, however felt that we could create a library ourselves that's a lot easier to build on top of and understand for curious developers who wanted to build something cool.

New! Checkout the rio-vr branch for our virtual reality implementation!

This is the main component in the library. It takes different types of data, converts it to rgb arrays and sends it to the LED wall (or any output e.g. terminal).

At a high level this is broken down into 3 simple concepts:

  1. inputs - These files interpret data coming in before frame data is sent to the LED wall. e.g. video, gifs, arrays of rgb values, text.

  2. outputs - These files interpret frame data and output them:

  • console-output - Write coloured pixels to terminal.
  • pi-output - Sends data to our lightweight python LED wall firmware.
  • websocket-output - Pixel data is echoed with websockets, meaning you can show a realtime representation of an LED wall on web, mobile, desktop, etc.
  1. clients - Integrate with clients that send any form of data, converting them to inputs:
  • twitter-client - Subscribes to twitter stream and displays text on the wall matching #rio.
  • slack-client - Handles messages and passes through as video or gif inputs.
  • web-client - Restful API, request are forwarded onto appropriate input.
  • websocket-client - Accepts raw canvas pixel data and sends directly to outputs.

Full installation instructions for installing rio-server onto a Raspberry Pi can be found here.

A web app hosting a collection of examples that send pixel data to the rio server.

e.g. pong, paint, breakout and more

You can control rio-canvas from a separate application (e.g rio-mobile) by connecting to it via websockets and sending string messages such as :

  • route_pong - routing
  • 'UP', 'DOWN', 'LEFT', 'RIGHT', 'S', 'T', 'C', 'X' Player 1 controller
  • 'UP2', 'DOWN2', 'LEFT2', 'RIGHT2', 'S2', 'T2', 'C2', 'X2' Player 2 controller

An iOS/Android app built in React Native that demonstrates both reading and writing to rio-server.

A react-vr client application that hooks into the rio-server socket, visualising the wall's data in 3d.

Installation

Project specific documentation can be found within each of the application directories above. A few high level notes here to keep in mind:

  • rio-server can run independently; simply go through the installation instructions there and simulate the LED wall in your terminal within minutes. Full installation instructions for a Raspberry Pi can be found here.

  • rio-canvas Requires you to be running rio-server and have a valid websocket address defined in its config.js

  • rio-mobile Requires you to be running both rio-server and rio-canvas have a valid api/websocket address defined in its config.js

Pre-requisites (make sure these are installed and linked)

rio-server

OS Command
OS X brew install pkg-config cairo pango libpng jpeg giflib
Ubuntu / Debian sudo apt-get install libcairo2-dev libjpeg8-dev libpango1.0-dev libgif-dev build-essential g++
Fedora sudo yum install cairo cairo-devel cairomm-devel libjpeg-turbo-devel pango pango-devel pangomm pangomm-devel giflib-devel
Solaris pkgin install cairo pango pkg-config xproto renderproto kbproto xextproto
Windows Instructions on our wiki

El Capitan users: If you have recently updated to El Capitan and are experiencing trouble when compiling, run the following command: xcode-select --install. Read more about the problem on Stack Overflow.

cd ./rio-server && npm i

rio-canvas

npm i nodemon -g
cd ./rio-canvas && npm i

rio-vr

cd ./rio-vr && npm i

rio-mobile

cd ./rio-mobile && npm i

Running

rio-server

npm run server

rio-canvas

npm run canvas

rio-vr

npm run vr

rio-mobile

npm run ios
npm run android

Hardware spec

If you're looking to make a big LED wall like we did, here's how we did it

What are you using this for?

We're curious to see how people are using this library. Submit an issue letting us know and we'll show it off here.

Contribute

We welcome new features / bug fixes, feel free to submit a PR or add an issue with your suggestions. Even if the integrations are pretty out there (biosensors, big data, image recognition) we're willing to give it a go and help out.

For more information about contributing PRs, please see our Contribution Guidelines. Looking at PRs or issues labelled with "good first task" is a great start to contributing.

Getting Help

If you encounter a bug or feature request we would like to hear about it. Before you submit an issue please search existing issues in order to prevent duplicates.

Get in touch

If you have any questions about our projects you can email [email protected].

rio's People

Contributors

dabeeeenster avatar kyle-ssg avatar lukefanning avatar niall-quinn avatar wfmilne avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

rio's Issues

Stand Alone

Great project. I am trying to implement this onto a LED Table. Is there a way to use this to pre-record say 5 GIFS and then play them back on the LED matrix later or is this strictly a live display? Thanks.

Question about Rio-Server

Hello everybody,

When i run the server (npm run server) with output a video url to the console, i have this message :
YouTube Download started filename: Obstruction - A very short animation-wS8ZC271eMQ.3gp size: 124021 An error occurred: Cannot find ffmpeg ffmpeg standard output: undefined ffmpeg standard error: undefined
Any idea for resolve this?

Is it possible to stream a VLC-url?
It is possible to have the rio-server and ther server.py on the same raspberry?

Thanks for all.

Use rio with Arduino?

Hi folks,

I'm loving working with rio so far!
Had to tinker with the server a bit to get it to run on a B+ but it's up and running now!

I wanted to ask how can the server be integrated with the Arduino examples in the firmware lib? Would it be possible to feed pixel data to fastled for example? the .ino file references an Ethernet connection but I haven't seen that used anywhere else in the server code.

Any pointers would be appreciated!

More Pixels

First off, great project, In the rio-server/firmware/rpi/lowlevel-server.py you currently have...

LED strip configuration:

LED_COUNT = 1020 # Number of LED pixels.
LED_PIN = 18 # GPIO pin connected to the pixels (must support PWM!).
LED_FREQ_HZ = 800000 # LED signal frequency in hertz (usually 800khz)
LED_DMA = 5 # DMA channel to use for generating signal (try 5)
LED_BRIGHTNESS = 32 # Set to 0 for darkest and 255 for brightest
LED_INVERT = False # True to invert the signal (when using NPN transistor level shift)
LED_CHANNEL = 0

LED_2_COUNT = 1020 # Number of LED pixels.
LED_2_PIN = 19 # GPIO pin connected to the pixels (must support PWM!).
LED_2_BRIGHTNESS = 32 # Set to 0 for darkest and 255 for brightest
LED_2_INVERT = False # True to invert the signal (when using NPN transistor level shift)
LED_2_CHANNEL = 1

Would it be possible to double or even triple the pixels by having a further 1020 coming of pin 16 and another 1020 coming off pin 17, (or some other pin) if yes then how would that code look ?
With the introduction of Raspberry pi 4 I,m imagining we can squeeze a bit more out of the project, Thanks.

Add video tutorial for integrating with an LED wall

This would provide a good basis for new people getting to grips with how this project works.

This would cover:

  • Cloning / installing rio-server on a fresh Raspberry Pi
  • Configuring the rio-server/python code to run on different wall sizes
  • Quick demonstration of end results using the API

sendToPi: true does not work

Hello All

I've installed the RIO Projekt on my RBP3.
I was able to run the strandtest.py and singlestrandtest.py
After that i tried to run the Server with the "npm run server" command. i got the expected output on the Terminal Window (RIO Logo). After switching the "sendToPi" parameter to true, i became following error:

pi@raspberrypi:~/rio $ npm run server

[email protected] server /home/pi/rio
cd ./rio-server && npm start

[email protected] start /home/pi/rio/rio-server
node index.js

warn: SlackDataStore is deprecated and will be removed in the next major version. See project documentation for a migration guide.
events.js:165
throw er; // Unhandled 'error' event
^

Error: Can't open /dev/mem: Permission denied
Traceback (most recent call last):
File "firmware/rpi/lowlevel-server.py", line 52, in
raise RuntimeError('ws2811_init failed with code {0} ({1})'.format(resp, message))
RuntimeError: ws2811_init failed with code -5 (mmap() failed)

at PythonShell.parseError (/home/pi/rio/rio-server/node_modules/python-shell/index.js:190:17)
at terminateIfNeeded (/home/pi/rio/rio-server/node_modules/python-shell/index.js:98:28)
at ChildProcess.<anonymous> (/home/pi/rio/rio-server/node_modules/python-shell/index.js:88:9)
at ChildProcess.emit (events.js:180:13)
at Process.ChildProcess._handle.onexit (internal/child_process.js:209:12)

Emitted 'error' event at:
at terminateIfNeeded (/home/pi/rio/rio-server/node_modules/python-shell/index.js:111:22)
at ChildProcess. (/home/pi/rio/rio-server/node_modules/python-shell/index.js:88:9)
at ChildProcess.emit (events.js:180:13)
at Process.ChildProcess._handle.onexit (internal/child_process.js:209:12)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] start: node index.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR! /home/pi/.npm/_logs/2018-11-24T18_23_50_219Z-debug.log
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] server: cd ./rio-server && npm start
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] server script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm WARN Local package.json exists, but node_modules missing, did you mean to install?

npm ERR! A complete log of this run can be found in:
npm ERR! /home/pi/.npm/_logs/2018-11-24T18_23_50_289Z-debug.log
pi@raspberrypi:~/rio $

Running npm with sudo does solve the issue, but i get no output on my LED's

Do you have any idear what happens wrong?

Unable to light up LED strips with rio-server

Hello
The installation instructions are very useful and now I can successfully run singlestrandtest.py.
However, when I try npm run server, the LED strip doesn't light up. I think I'm having similar issues with chunk100.

sudo npm run server

error: response not OK: not_authed
error: Disconnecting because not_authed is not recoverable
error: Error: not_authed

(sometimes it doesn't show these errors in terminal)
then the gif show up in console

sudo python server.py

Opening socket...
Listening...
accepted connection
^CTraceback (most recent call last):
  File "/home/pi/rio/rio-server/firmware/rpi/server.py", line 59, in <module>
    data = conn.recv(600) # I use 150 SK6812 pixels 

New Feature Request

Would it be possible for rio-server npm start to autostart if there was a power failure or reboot ? thanks

Server running, but no lights are outputted on RPI 2 model b

Hi, I am having an issue running the rio-server on a Raspberry Pi 2 model B using the Raspberry Pi OS.

I am able to run singlestrandtest.py successfully and have my LEDs light up. However, when I run the server with sudo npm start I get the following output:

Python output: Opening socket...
Python output: Listening...
Python output: accepted connection
Sending 152b3410-e03a-11eb-ab1c-4131ca980b92

But the lights do not turn on. Here is my /config/index.js:

/**
 * Created by kylejohnson on 02/10/2016.
 */
module.exports = {
    matrix: {
        width: 150,
        height: 1
    },
    use8bitColors: true,
    sendToConsole: false,
    sendToWebsockets: true,
    sendToPi: true,
    slackToken: '',
    slackChannelName: '',
    twitter: {
        consumer_key:         '',
        consumer_secret:      '',
        access_token:         '',
        access_token_secret:  '',
        timeout_ms:           60*1000,  // optional HTTP request timeout to apply to all requests.
    },
    queueing: true,
    imageInputDisplayTime: 5000, // Only relevant when queueing is enabled,
    watson: true
};

Any ideas what the issue might be?

Sending video to wall error

Hi, I am trying to use the video-url-input.js file to send a youtube video to the wall. However, when I pass the function a URL I get the following output:

path.js:7
    throw new TypeError('Path must be a string. Received ' + inspect(path));
    ^

TypeError: Path must be a string. Received undefined
    at assertPath (path.js:7:11)
    at Object.dirname (path.js:1330:5)
    at Object.<anonymous> (/home/pi/Desktop/rio/rio-server/node_modules/youtube-dl/lib/youtube-dl.js:16:71)
    at Module._compile (module.js:577:32)
    at Object.Module._extensions..js (module.js:586:10)
    at Module.load (module.js:494:32)
    at tryModuleLoad (module.js:453:12)
    at Function.Module._load (module.js:445:3)
    at Module.require (module.js:504:17)
    at require (internal/module.js:20:19)

I have installed ffmpeg and I get the follow output when I run ffmpeg:


ffmpeg version 4.1.6-1~deb10u1+rpt2 Copyright (c) 2000-2020 the FFmpeg developers
  built with gcc 8 (Raspbian 8.3.0-6+rpi1)

What might be causing this issue?

Unable to npm run server

Hey guys

Trying to install your repo on the Raspberry. But i'm unable to do npm run server - It fails and shows a message Cannot find module '../build/Release/canvas.node'

I already updated canvas to the latest version. Any ideas?

Sending... But no image

Hey there rio-devs, this project looks awesome, but I'm having trouble getting it driving my 70x34 ws2812 array from my raspberry pi Gpio.

To give some background:

I've followed the pi install guide for rio-server, installing the dependencies for the project.

I've gotten strandtest to successfully output to the lights.

Sendtoconsole works and displays the Rio logo in the console.

I have configured lowlevel-server.py the same way as my strandtest.py, but I'm confused as there are two pins mentioned in lowlevel-server.py.

Once I toggle sendtopi in config, it connects to the listener successfully and says sending {ID} where if it's just the jumble of letters and numbers for the rio gif, however nothing seems to be actually outputting to the led wall my friends and I have built.

Any help would be greatly appreciated

Thanks,
Andrew

"accepted connection" but no lights

First thing to say is great project, I am using raspberry pi 3 with ws2812b leds connected via SN74HCT125N logic buffer. The strandtest.py and singlestrandtest.py both work using... root@raspberrypi:/home/pi/rio/rio-server# python ./firmware/rpi/singlestrandtest.py
Press Ctrl-C to quit.
and...
root@raspberrypi:/home/pi/rio/rio-server# python ./firmware/rpi/strandtest.py
Press Ctrl-C to quit

after reboot I then run this first... root@raspberrypi:/home/pi/rio/rio-server# python ./firmware/rpi/server.py
and get...
Opening socket...
Listening...

In another terminal i then run... root@raspberrypi:/home/pi/rio# npm run server
and get the following output and then the rio gif playing in the terminal window only

[email protected] server /home/pi/rio
cd ./rio-server && npm start

[email protected] start /home/pi/rio/rio-server
node index.js

warn: SlackDataStore is deprecated and will be removed in the next major version. See project documentation for a migration guide.
error: Response not OK: not_authed
error: Disconnecting because not_authed is not recoverable
error: message=not_authed, stack=Error: not_authed
at handleHttpResponse (/home/pi/rio/rio-server/node_modules/@slack/client/lib/clients/transports/call-transport.js:103:17)
at handleTransportResponse (/home/pi/rio/rio-server/node_modules/@slack/client/lib/clients/transports/call-transport.js:153:19)
at apply (/home/pi/rio/rio-server/node_modules/lodash/lodash.js:478:17)
at wrapper (/home/pi/rio/rio-server/node_modules/lodash/lodash.js:5323:16)
at Request.handleRequestTranportRes (/home/pi/rio/rio-server/node_modules/@slack/client/lib/clients/transports/request.js:21:5)
at apply (/home/pi/rio/rio-server/node_modules/lodash/lodash.js:478:17)
at Request.wrapper [as _callback] (/home/pi/rio/rio-server/node_modules/lodash/lodash.js:5323:16)
at Request.self.callback (/home/pi/rio/rio-server/node_modules/@slack/client/node_modules/request/request.js:186:22)
at Request.emit (events.js:180:13)
at Request. (/home/pi/rio/rio-server/node_modules/@slack/client/node_modules/request/request.js:1060:10)
at Request.emit (events.js:180:13)
at IncomingMessage. (/home/pi/rio/rio-server/node_modules/@slack/client/node_modules/request/request.js:980:12)
at Object.onceWrapper (events.js:272:13)
at IncomingMessage.emit (events.js:185:15)
at endReadableNT (_stream_readable.js:1106:12)
at process._tickCallback (internal/process/next_tick.js:178:19)

...the rio gif now appears

I can see over in the other terminal that "accepted connection" now appears after the word "Listening"

In a third terminal window I enter this and get app.main...

pi@raspberrypi:~ $ ls /tmp
app.main
dhcpcd-pi
ssh-7ZeY9epPkKdF
ssh-dja66qrhWrUg
systemd-private-81a092c6c05543848163712ddf01092f-systemd-timesyncd.service-OKVx6R

But still no lit leds, perhaps you could steer me in the right direction thanks Dave

Cannot run rio-server on rpi2 model b, ubuntu server 20.04

I am trying to run the rio-server on a raspberry pi 2 model b with Ubuntu Server 20.04 as the operating system.

I followed the install instructions and I am able to run rio server outputting to the console. I am also able to run singlestrandtest.py and get my LEDs to light up. But when I run the rio server with the sendToPi enabled I get the error:

ubuntu@ubuntu:~/rio$ sudo npm run server

> [email protected] server /home/ubuntu/rio
> cd ./rio-server && npm start


> [email protected] start /home/ubuntu/rio/rio-server
> node index.js

events.js:183
      throw er; // Unhandled 'error' event
      ^

Error: spawn python ENOENT
    at Process.ChildProcess._handle.onexit (internal/child_process.js:190:19)
    at onErrorNT (internal/child_process.js:362:16)
    at _combinedTickCallback (internal/process/next_tick.js:139:11)
    at process._tickCallback (internal/process/next_tick.js:181:9)
    at Function.Module.runMain (module.js:696:11)
    at startup (bootstrap_node.js:204:16)
    at bootstrap_node.js:625:3
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] start: `node index.js`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the [email protected] start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2021-07-08T04_42_35_492Z-debug.log
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] server: `cd ./rio-server && npm start`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the [email protected] server script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm WARN Local package.json exists, but node_modules missing, did you mean to install?

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2021-07-08T04_42_35_601Z-debug.log

Compatible with WS2801?

Hi there. Love your project and currently try to set it up at home.
Before I continue to the software issues (where I am currently stuck): Can I also use this software with my WS2801 Pixels? Currently connected them in this setup (https://tutorials-raspberrypi.de/raspberry-pi-openhab-2-ws2801-ws2812-rgb-led-streifen-steuern/).

I followed all your instructions for my Pi but when I try to install the server, I just get issues.

`pi@raspberrypi:~ $ cd rio && npm run install-server
(node:3343) [DEP0022] DeprecationWarning: os.tmpDir() is deprecated. Use os.tmpdir() instead.

[email protected] install-server /home/pi/rio
cd ./rio-server && npm i

(node:3354) [DEP0022] DeprecationWarning: os.tmpDir() is deprecated. Use os.tmpdir() instead.
npm WARN package.json [email protected] No repository field.
npm WARN package.json [email protected] No license field.
npm ERR! Error: Method Not Allowed
npm ERR! at errorResponse (/usr/share/npm/lib/cache/add-named.js:260:10)
npm ERR! at /usr/share/npm/lib/cache/add-named.js:203:12
npm ERR! at saved (/usr/share/npm/node_modules/npm-registry-client/lib/get.js:167:7)
npm ERR! at FSReqWrap.oncomplete (fs.js:135:15)
npm ERR! If you need help, you may report this entire log,
npm ERR! including the npm and node versions, at:
npm ERR! http://github.com/npm/npm/issues

npm ERR! System Linux 4.14.79+
npm ERR! command "/usr/bin/node" "/usr/bin/npm" "i"
npm ERR! cwd /home/pi/rio/rio-server
npm ERR! node -v v8.11.1
npm ERR! npm -v 1.4.21
npm ERR! code E405
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /home/pi/rio/rio-server/npm-debug.log
npm ERR! not ok code 0

npm ERR! [email protected] install-server: cd ./rio-server && npm i
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install-server script.
npm ERR! This is most likely a problem with the rio package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! cd ./rio-server && npm i
npm ERR! You can get their info via:
npm ERR! npm owner ls rio
npm ERR! There is likely additional logging output above.
npm ERR! System Linux 4.14.79+
npm ERR! command "/usr/bin/node" "/usr/bin/npm" "run" "install-server"
npm ERR! cwd /home/pi/rio
npm ERR! node -v v8.11.1
npm ERR! npm -v 1.4.21
npm ERR! code ELIFECYCLE
npm WARN This failure might be due to the use of legacy binary "node"
npm WARN For further explanations, please read
/usr/share/doc/nodejs/README.Debian

npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /home/pi/rio/npm-debug.log
npm ERR! not ok code 0
`

Content of npm-debug.log
0 info it worked if it ends with ok 1 verbose cli [ '/usr/bin/node', '/usr/bin/npm', 'run', 'install-server' ] 2 info using [email protected] 3 info using [email protected] 4 verbose run-script [ 'preinstall-server', 'install-server', 'postinstall-server' ] 5 info preinstall-server [email protected] 6 info install-server [email protected] 7 verbose unsafe-perm in lifecycle true 8 info [email protected] Failed to exec install-server script 9 error [email protected] install-server: cd ./rio-server && npm i 9 error Exit status 1 10 error Failed at the [email protected] install-server script. 10 error This is most likely a problem with the rio package, 10 error not with npm itself. 10 error Tell the author that this fails on your system: 10 error cd ./rio-server && npm i 10 error You can get their info via: 10 error npm owner ls rio 10 error There is likely additional logging output above. 11 error System Linux 4.14.79+ 12 error command "/usr/bin/node" "/usr/bin/npm" "run" "install-server" 13 error cwd /home/pi/rio 14 error node -v v8.11.1 15 error npm -v 1.4.21 16 error code ELIFECYCLE 17 verbose exit [ 1, true ]

Thanks guys! Really appreciate your help.

can't install on rpi3

Tried to install with a clean raspbian light, but I'm stuck at gyp-rebuild.
Maybe wrong node js,npm version. Witch one sould I use?
Thanks for the answer.

Raspberry Pi WS2812b implementation

This isnt an issue, more of a plan for implementation as requested in your readme. You were featured in the Raspberry Pi weekly which is where if found this.

I am at the stage you were to begin with and have completed a 10x15 grid using the Raspberry pi neopixels library but also a Fadecandy board (seemed to be more reliable). This was always just the beginning and the next plan was to go large and somewhat topically BUILD A WALL!

Before I do, I hope to implement your library on my 10x15 grid. This will no doubt take some thinking and reading of what you have here. In the meantime, do you have a bit more of an idiots guide to implementing this on the Raspberry Pi?

You may find the Glediator software interesting and fun!

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.