About a month ago I started learning to use ESP-IDF and got very interested in Espressif Mesh Lamps. It’s a lot of fun for me to create my own ESP-Mesh LEDs lamps with this technology. But as with everything I touch that is open-source, apart of being a user, I try to collaborate and made the thing better. That’s the spirit of open source, you are a user, but also at the same time your opinion counts and usually it’s welcomed.
Comparison from previous ESP-Mesh App and new upcoming version:
03/2019 new version
More integrated and compact UX. Now On/Off switch is in the same screen allowing for easier usability
Doing White with RGB is now possible. Click on the center and the light will turn on the 3 colors at the same time (New feature)
Warm/Cold switch is also better signalized and more usable.
I really like the update and I think is a significant improvement over the last version.
Here some selfish pictures of my last lamp projects ;)
“ESP–Mesh reduces the loading of smart light devices on the router by forming a mesh with the smart light device.”
I’ve started months ago getting some smart lights for home and I’ve chosen Osram since it was about half the price than Phillips VUE. But the thing with this systems, though they work nice and with very little configuration, is that you need always a “Gateway”. A central point that receives signals and then send via Radio frequency to the lights what they have to do.
The Espressif ESP-Mesh took a different approach: Every device is a network member making a Mesh of interconnected devices. There is no gateway because there is no need for one.
There is also a very important point that is very interesting if you are a maker like me. It’s open source. That means you don’t need to buy a 60€ light to test it, you can just go to the ESP-Mesh github repository and download ESP-Mesh-Light example to compile it in one of your existing ESP32 Boards. Then you can get easily something like this working :
So what I’m working on the free time to take a rest from another pending projects is to take this PWM output and amplify it using a 74HC125 Quad Bus Buffer to power more than one led.
Command lines to execute the compilation are only 2:
make menuconfig make erase_flash flash
Compile this into your ESP32 and then download Espressif official Android App or if you are using I-phone / I-Pad just search for “ESP-Mesh” The Mesh devices are configured using Bluetooth so keep in mind to have this enabled on your device. Instead of taking the “WiFi Manager” Approach, using an App, you have the benefit that you can just send the WiFi Credentials plus configuration directly to the ESP32.
This is a modification we did to a Peggy2 led panel.
JP1 y JP2 enable the “serial hack” (Map at the footer of this post)
The steps to follow if you want to try this:
Install this program in the Peggy through USB using Arduino software. This little program is just a loop that renders in the led panel putting Peggy in “Serial mode”
Make the electrical brige like shown in the picture
Originally the bridge is from P2 to JP3 and JP4 so enabling Peggy2 to be programmed. To make this point clear, after changing the bridge you will not be able to install a program in Peggy, you will just send serial data through the USB
Download processing and try out programs designed to send data to Peggy
There are some examples at the end of this entry
This is the hardware modification explained by Carlos Fasani
Originally Peggy 2 has 2 bridges (0 ohm resistances) in jumpers JP3 and JP4.
With this connection the lines A_Sel and B_Sel of the multiplexor 74HC154 (U2) that controls rows 0 to 14 are connected to RXD (pin 2) and TXD (pin 3) of the microprocessor ATmega (U1).
But as this communication legs are needed to recevied serial data we take out JP3 and JP4 leaving the serial line desconected from 74HC154 (U2).
And then we bridge JP1 and JP2 connecting A_Sel and B_Sel from multiplexor 74HC154 (U2) to SDA (pin 27) and SCL (pin 28).
This way Peggy is ready to receive data and light the ROWS at the same time.
Windell, the Chief Scientist of Evil Mad Scientist replied to our email pointing out some important details that can be useful to make this even better:
It looks like you’ve run the two jumpers as follows:
* First jumper: From the left side of JP2 to the right side of JP4, and
* Second jumper: From the left side of JP1 to the right side of JP3.
If I’m seeing this correctly, then your modification is exactly equivalent to putting the two jumpers in locations JP1 and JP2. (See the attached screenshot for verification of how this is wired.) And if so, you *should* still be able to reprogram the board, even after making the modification.
Thanks a lot for your clarification. I still didn’t tried this out since I forgot my soldier equipment but for sure it will work out. Windell also pointed out that the latest Peggy 2 versions are already capable of receiving serial data and operating the full display at the same time, so long as you have the SER option selected on the board, and you are using our Peggy2Serial library and its RecvSerial.pde sketch
Esta es una modificación que hicimos para poder enviar datos seriales a través de USB al panel de Leds Peggy2.
Los pasos a seguir para poder hacer que esta modificación y enviar datos serie son:
Instalar este programa en el Peggy a través del software de Arduino. Este programa la peggy en modo “Recibir datos por serie”
Basicamente si le echan un vistazo a el codigo, es un loop eterno que recibe los datos serie y los imprime row por row en la placa de Leds.
Hacer el puente este como esta indicado en la foto (JP1 y JP2 a P2)
Originalmente los puentes están desde P2 a JP3 y JP4 que son para tener una exacta compatibilidad con Peggy2. Para dejar en claro este punto, al hacer este cambio la placa Peggy queda fijada en modo de recepción serie con lo cual no se puede programar mas desde Arduino sino que le enviaremos datos por Processing.
Descargar el processing.org y meter programas preparados para funcionar con la peggy en modo “serie”
Jay’s projects. Jay fue uno de los primeros en enviar datos por serie a la Peggy2
Fe de erratas para Peggy2 mapa: Populate ONLY (JP1 and JP2) OR (JP3 and JP4). Select: JP1 and JP2 to enable the “serial hack” or Select: JP3 and JP4 for exact compatibility with Peggy 2.0.
Una cosa interesante que he descubierto intentando subir mis codigos es que WordPress.com no te permite hacer upload de cualquier fichero, con lo cual a partir de ahora subiré todos los codigos en Github.