Introduction: IoT LED Matrix

Subsequent to the work done of previous instructables (IoT Development With Mobile Directly), This instructables show how to develop an IoT LED Matrix with your mobile and a MINTIA sweet box.

Step 1: Preparation

  • an empty MINTIA sweet box
  • 1 meter 144 units SK6812 3535 LED strip (only use 60 units)
  • ESP-12E
  • micro USB female connect board
  • 3.3 V regulate board
  • Lipo charge board
  • Lipo battery 343450
  • some coated copper wire
  • a small piece of PET plastic plate
  • a power switch
  • a USB to TTL cable for initial program the ESP board

Step 2: Flash NodeMCU Firmware and Nodemcu-httpserver

Follow my previous instructables to flash NodeMCU firmware and upload nodemcu-httpserver.

Step 3: Programming

After the previous steps, you can program the ESP board any time with your mobile or the notebook through WiFi connection.

But it is better to test it in an earliest stage:

  1. browse the ESP board with the IP recorded in previous step, you can see the index page.
  2. click the Editor link
  3. copy and paste the led-matrix.html.txt file content to the editor page textarea
  4. fill in save file as "led-matrix.html"
  5. press save button
  6. wait few ten seconds for save complete
  7. copy and paste the led-matrix.lua code to the editor page textarea
  8. fill in save file as "led-matrix.lua"
  9. press save button
  10. wait few ten seconds for save and compile complete
  11. test browse to http://[your ESP IP]/led-matrix.html

Step 4: Patch the MINTIA Sweet Box

  1. remove the sticker of the MINTIA sweet box
  2. split the box
  3. cut and remove all the plastic parts in the middle

Step 5: Check Component Thickness

The MINTIA sweet box is around 7mm thick, the internal part is around 5mm thick. Deduct the LED strip thickness, only remain 3.3 mm for all other components.

The micro USB female board is a little thicker than that, so require some patch.

Step 6: Design Layout

Everything just fit in the MINTIA sweet box.

Step 7: LED Support Plate

Cut a PET plastic plate a little bit smaller than the MINITA internal size.

Step 8: Assembly LED Strip

Cut 6 LED strips with 10 SK6812 units each.

Stick all LED strips to the PET plastic plate to make it become a LED matrix.

Step 9: Soldering

LED Strip Matrix

  • connect LED signal circuit in zigzag order from top left to bottom right
  • connect LED strip Vcc altogether -> 3.3 V regulate board Vout
  • connect LED strip GND altogether -> 3.3 V regulate board GND

ESP-12E Board

  • RESET PIN (PIN 1), EN PIN (PIN 3), Vcc PIN (PIN 8) -> 3.3 V regulate board Vout
  • GND PIN (PIN 15), GPIO15 (PIN 16) -> 3.3 V regulate board GND
  • GPIO02 PIN -> LED strip DIN
  • I have abused the micro USB connector D+ and D- PIN to Tx and Rx in case I need to debug

Lipo Charge Board

  • Battery +ve -> Lipo battery +ve -> power switch -> 3.3 V regulate board Vin
  • Battery -ve -> Lipo battery -ve -> 3.3 V regulate board GND
  • Vin -> micro USB board 5V
  • GND -> micro USB board GND

Step 10: Happy Coding!

You can now:

  • browse to http://[your ESP IP]/led-matrix.html for playing with your LED Matrix
  • browse to http://[your ESP IP]/editor.html for editing and enhance your own code

led-matrix.lua is only a simple example, ESP with LED strip can make much more:

  • utilize ESP board RTC and WiFi SNTP to make a slim clock
  • led-text.lua show how can use html5 canvas to draw text on LED matrix
  • and more

Comments

author
faytom (author)2016-12-20

great

author
Mohamed- (author)2016-11-08

Hi 陳亮, this project is impressive!.

Can you make this project and send it to me at the cost of your work and components with documentation?

we can do that on Fiverr if you want. please let me know

Kind regards


author
陳亮 (author)Mohamed-2016-11-08

Hi, thanks for your impression but sorry about I have no spare time to do that. You may follow this instructables to make one yourself.

author
xingchaow (author)2016-06-24

hello,陳亮.I try to complete your project, but found that uploads the firmware, I can not upload files, use make upload_server and make upload_http command errors. There are other solution? ?

author
陳亮 (author)xingchaow2016-06-24

hello, can you give further error detail? cannot find nodemcu-uploader? python run error? or hang while upload?

author
xingchaow (author)陳亮2016-06-27

Thanks for your help, I finished uploading firmware and http and server files in my windows system, I found that because the windows system does not support named http / file, so after uploading the file I need to change the file name, I use is ESPlorer tools. Over time I will write a step to share my Instructable.

author
陳亮 (author)xingchaow2016-08-20

I have just finished a WebSocket version LED Matrix, I think you may interested on it:

https://youtu.be/G2WUgwDkq5o

author
陳亮 (author)xingchaow2016-08-08

I have just finished the NodeMCU WebIDE instructables, please take a look:

https://www.instructables.com/id/NodeMCU-WebIDE/

author
陳亮 (author)xingchaow2016-08-08

I have just finished the NodeMCU WebIDE instructables, please take a look:

https://www.instructables.com/id/NodeMCU-WebIDE/

author
陳亮 (author)xingchaow2016-08-08

I have just finished the NodeMCU WebIDE instructables, please take a look:

https://www.instructables.com/id/NodeMCU-WebIDE/

author
陳亮 (author)xingchaow2016-06-27

I am looking forward for your instructables!

author
陳亮 (author)xingchaow2016-06-27

Hi, yes separate http/ folder is the design of nodemcu-httpserver. I am writing a new project call "nodemcu-webide" and will get rip of it.

author
xingchaow (author)2016-07-12

hello, 陳亮, Did you use nodemcu serial port forwarding? ? Do you have relevant information? I want to try to program using lua, complete wifi to serial data transfer to complete long-distance communication

author
xingchaow made it! (author)2016-07-05
<br><div id="inner-editor"></div>
hi, I have already completed the preparation of the hardware and software set up, butafter I uploaded the html page opens click interface you do, it does not work, not lightLED, a circuit diagram is based on your offer to build, will how do I to solve. Screenshotshows this. LED using the WS2812, we look forward to your reply
无标题.jpg
author
陳亮 (author)xingchaow2016-07-05

and also add "ws2812.init()" and "ws2812.write(string.char(0):rep(180))" to init.lua

author
xingchaow (author)陳亮2016-07-05

thank you,I done it ,it work.

author
陳亮 (author)xingchaow2016-07-05

I guess it may caused the NodeMCU ws2812 library update (I also encounter this problem too). The latest update makes WS2812 only works on GPIO02 pin only. And you also need change to change the code from "ws2812.write(4, buffer)" to "ws2812.write(buffer)".

author
destone28 (author)2016-07-05

Interesting instructable, good luck for the contest! ;-)

author
Enabl3rs (author)2016-06-26

Hi here,

Very cool project. I have a few questions.

Since this relies on nodemcu, the library for the ws2812, recommends to call initialize first. Isn't that necessary? It does also mention that it will use GPIO2, how do yo get it to work with GPIO5?

http://nodemcu.readthedocs.io/en/master/en/modules...

If I open led-matrix.html in a browser, it does neither let me choose any colors from the palette nor any dots of the matrix. Is that normal?

Keep up the good work.

Xie xie

author
陳亮 (author)Enabl3rs2016-06-26

The UI is writen in simple HTML5 code, it only can support in latest broswer version. I have tested it in Safari, Chrome and IE11.

author
陳亮 (author)Enabl3rs2016-06-26

Hi, Xie Xie. I also found it have a big change on ws2812 library in dev branch. But my code still work at master branch when I write this instructables.
If you are testing on latest dev branch, connect LED strip to GPIO02 and revise the function call to ws2812.write(buffer). And also add ws2812.init() in init.lua

author
Sarvasv Kulpati (author)2016-06-08

You seem to make really cool projects with the esp8266! Have you tried using the arduino IDE with them? It is much easier for people more accustomed with arduino to use it.

author
陳亮 (author)Sarvasv Kulpati2016-06-08

hi. Yes, c program is familiar for most people. But I think programming over WiFi is cool too! You can just pick this MINTIA sweet box and your mobile with you, then you can modify your Lua program anywhere and show what you have done to your friend instantly. its cool, right?

author
SamiulH (author)陳亮2016-06-15

Could you please do an instructable on that? It's kinda hard for beginners to get started with esp8266 and lua.

author
陳亮 (author)SamiulH2016-06-16

Lua is designed easy to learn, give it a chance.

author
PedroS126 (author)2016-06-15

Hi. It's possible to use this with ws2812 led's instead of the SK6812?

author
陳亮 (author)PedroS1262016-06-15

yes and no, both led use same 24bit grb signal sequence but I can only found 3535 size in SK6812. If you do not mind the size, it 100% works. Actually I am using ws2812 library in my program.

author
PedroS126 (author)陳亮2016-06-16

Thank you very much! I just needed to confirm that you didn't edit any config in the library.
The size isn't an issue, so i'll try to make a ws2812 matrix. Thanks once again.

author
陳亮 (author)PedroS1262016-06-16

good to see that! I will very happy if you can post an 'I Made it!' here later.

author
josephchrzempiec (author)2016-06-13

Hello where can i get some of them mint boxes at?

author
陳亮 (author)josephchrzempiec2016-06-13

try searh MINTIA at amazon or ebay

author
RafaelB54 (author)2016-06-09

Hi

its possible do it with arduino one ? thanks

author
陳亮 (author)RafaelB542016-06-09

This project require WiFi connection, ESP8266 is the cheapest WiFi solution Ican find. ESP8266 board has MCU itself, you can program it with Arduino IDE, no need add extra Arduino board.

author
NoseyNick (author)2016-06-07

Interesting! 'course you could do your LEDs LTR then RTL then LTR then RTL, alternating rows going left/right/left/right. Less wiring, and easy enough to fix the pixel order in software... But hey, nicely done, love the container too!

author
陳亮 (author)NoseyNick2016-06-09

If you like the MINTIA sweet box, you may also like my another project:

https://www.instructables.com/id/Arduino-MINTIA-Gam...

author
陳亮 (author)NoseyNick2016-06-07

hi nick, yes I have tried this arrangement in my previous instructables:
https://m.instructables.com/id/Display-Colorful-Message-in-Limited-Resources/

However, the LED strip I used this time have some limitation. The LED strip border width in both sides are not the same, only current arrangement can keep both vertical and horizontal gap of each LED unit at around 3.4mm.

author
NoseyNick (author)陳亮2016-06-08

Ah I see, makes sense. Thanks!

About This Instructable

20,331views

273favorites

License:

Bio: Do it yourself if you cannot buy it!
More by 陳亮:Portable WiFi AnalyzerIoT Power Consumption ConcernATtinyPowerMeter
Add instructable to: