Git Product home page Git Product logo

ws2812esp8266's Introduction

#ESP8266 WS2812 Driver (With ESP8266 Build Guide) A basic WS2812 driver for the ESP8266. You send a UDP packet to it on port 7777 and it plops it out GPIO0. In something the WS2812B can understand. WARNING: You should have a 100p cap across GPIO0 to GND. I don't know why but it will flash if you don't.

#How to build a build environment.

#STEP 0: Environment I use Linux Mint and already had all the packages I needed installed. If you run into commands that do not exist on your system, it should prompt you on how to get it. If you fail in GCC, you may need libisl-dev, libcloog-isl-dev, amongst others.

#STEP 0.1: Alternatives. The methods outlined in this document are an older method of installing everything. You can check out this site here: https://github.com/esp8266/esp8266-wiki/wiki/Toolchain to see if anything jives more easily with your setup.

#STEP 1: Getting GCC and tools Get and build a copy of the xtensa build toolchain here: https://github.com/jcmvbkbc/xtensa-toolchain-build ... you're building the lx106 version. You will also need the patched GCC here: https://github.com/jcmvbkbc/gcc-xtensa/commits/call0-4.8.2 The commands you will need are as follows:

cd ~/esp8266
git clone https://github.com/jcmvbkbc/xtensa-toolchain-build.git
cd xtensa-toolchain-build
wget http://ftp.gnu.org/pub/gnu/binutils/binutils-2.24.tar.bz2
git clone --depth=1 https://github.com/jcmvbkbc/gcc-xtensa.git
mv gcc-xtensa gcc-4.9.1
wget http://ftp.gnu.org/gnu/gdb/gdb-7.6.tar.bz2
./prepare.sh lx106
./build-elf.sh lx106

#Step 2: ESPTool (for binaries) You'll need a copy of esptool: download esp-0.0.2.zip from http://filez.zoobab.com/esp8266/esptool-0.0.2.zip I downloaded it to ~/esp8266/other/. You will need to build it, too.

cd ~/esp8266
mkdir other
cd other
wget http://filez.zoobab.com/esp8266/esptool-0.0.2.zip
unzip esptool-0.0.2.zip
cd esptool
### Edit Makefile to read on the first line: TARGET_ARCH	= LINUX
make

Verify there are no errors.

#Step 3: esptool.py You'll need to get a copy of esptool.py. You may want to change:

ESP_ROM_BAUD    = 230400

So you don't have to wait all day. You can get it from: https://github.com/themadinventor/esptool/. Simply git clone.

cd ~/esp8266
git clone https://github.com/themadinventor/esptool.git

#Step 4: Get the SDK I expect you get the esp_iot_sdk_v0.9.3. esp_iot_sdk_v0.9.3_14_11_21.zip -> http://bbs.espressif.com/download/file.php?id=72 esp_iot_sdk_v0.9.3_14_11_21_patch1.zip -> http://bbs.espressif.com/download/file.php?id=73

cd ~/esp8266
wget http://bbs.espressif.com/download/file.php?id=72 -O esp_iot_sdk_v0.9.3_14_11_21.zip
wget http://bbs.espressif.com/download/file.php?id=73 -O esp_iot_sdk_v0.9.3_14_11_21_patch1.zip
unzip esp_iot_sdk_v0.9.3_14_11_21.zip 
unzip -f esp_iot_sdk_v0.9.3_14_11_21_patch1.zip 

Note the "License" file in this folder, you can move it into esp_iot_sdk_v0.9.3 if you wish.

#Step 5: Configure and build. Once you got all those four, check out a copy of ws2812esp8266.

cd ~/esp8266
git clone https://github.com/cnlohr/ws2812esp8266.git

Configure it in your makefile with the following:

GCC_FOLDER:=~/esp8266/xtensa-toolchain-build/build-lx106
ESPTOOL_PY:=~/esp8266/esptool/esptool.py
FW_TOOL:=~/esp8266/other/esptool/esptool
SDK:=~/esp8266/esp_iot_sdk_v0.9.3

ws2812esp8266's People

Contributors

cnlohr avatar gmorell avatar sfranzyshen avatar

Watchers

Stephan 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.