GithubHelp home page GithubHelp logo

pixelwall's Introduction

pixelwall

a small pixel wall element project

Hardware

I used an WS2812B LED Strip (5m, 60LEDs/m) to created an 16x16 Pixel Matrix. It is currently driven by an ESP32 Development Board, which I will replace with an "raw" ESP32-WROOM Module in the future. This code is the initial prototype of the API to drive this controller. The data line is wired in a zig-zag schematic.

API

Currently we have only 1 Endpoint, /api/matrix on port 80. It only accepts JSON (needs to be explictly marked via Content-Type: application/json header). It accepts the following data:

{
    "brightness": <value from 0 to 255>,
    "pixels: [
        [<color>, <color>, ...],
        ....
    ]
}

The brightness value will be directly put into FastLED.setBrightness as an uint8_t. Each color is accepted as r << 16 | b << 8 | g combined into an uint32_t with each color part being uint8_t. You can send as many pixels, as your matrix supports, which means less pixels is possible. Currently there is no error handling included.

Configuration

In the first half of src/main.cpp you will currently find the configuration options:

// some general matrix configuration
#define MATRIX_ORIENTATION MATRIX_ROT_180 // this can be MATRIX_ROT_180 or MATRIX_ROT_0
#define MATRIX_PIN         6              // the data in to the matrix
#define MATRIX_ROWS        16
#define MATRIX_COLUMNS     16

// some wifi settings
#define WIFI_SSID "bacon_palace"
#define WIFI_PASS "baconbacon"

Platform IO Stuff. Just make sure you have the correct settings in your platformio.ini.

NOTE: Documentation is still work-in-progress.

3D Model

The models can be found in the 3dcase file, which includes the main stl, the cut stl into 4 pieces and the original Fusion 360 file. The whole piece is 272mmx272mm big. I recommend to make the height of the whole for the LED strip a little bit higher, for easier installation. The photos of the board front and back can be found here in the wiki.

LICENSE

Hack it until you have what you want. MIT.

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.