Sonoff NSPanel by ITead - Smart Scene Wall Switch based on ESP32 and custom Nextion Touch Screen Panel Display (non-Pro variant)

Do you think these upcoming HMI touch screen panels can be made to work with Home Assistant?

https://itead.cc/product/sonoff-nspanel-smart-scene-wall-switch/

Based on Espressif ESP32 and a custom Nextion display (programmable touch screen from ITead).

https://sonoff.tech/product/smart-wall-swtich/nspanel/

ESP32 should be hackable with ESPHome or Tasmota firmware, but what about the Nextion display?

UPDATE: Kickstarter campaign now live:

https://www.kickstarter.com/projects/sonoffnspanel/sonoff-nspanel-smart-scene-wall-switch/

https://sonoff.tech/nspanel-coming-soon/

image

https://www.facebook.com/SONOFF.official/posts/2847925058852474

https://www.facebook.com/SONOFF.official/posts/2F2849393358705644

The question is if they will offer an SDK and third-party app support or if they will have local open API?

10 Likes

If not, someone will hack them guaranteed.

Looking forward to seeing the pricing.

In a few day’s we’ll know. I have one on my desk. I have taken it apart already and things are looking good.

Can’t say to much yet as sonoff has asked me to kindly wait until the official release on the 11th of October.

On the 11th we’ll publish our initial findings, pictures and If time allows, maybe a video on https://espthings.io

espthings review coming soon, cool, guess it means that it’s based on ESP32, ESP8266 or ESP8285?

yup, one of those :slight_smile:

If so I assume the ESP32-C series or ESP32-S series. Probably ESP32-S2/S3 with a USB touchscreen.

Espressif recently posted this video demoing a few applications can develop using ESP32-S2 with USB:

Alternatively, they also have ESP-LCD multimedia Smart-Control Solution, like ESP32-S2-HMI-DevKit-1

https://www.espressif.com/en/solutions/hmi/esp-hmi

Seems like a lot of information has now leaked via this FCC certification (FCC ID 2APN5NSPANEL):

https://fccid.io/2APN5NSPANEL

There is the user manual, test report, internal and external photos, etc. and more.

https://fccid.io/2APN5NSPANEL/User-Manual/User-Manual-5481421.pdf

https://fccid.io/2APN5NSPANEL/External-Photos/External-Photos-5481413.pdf

https://fccid.io/2APN5NSPANEL/Internal-Photos/Internal-Photos-5481415.pdf

https://fccid.io/2APN5NSPANEL/Label/ID-Label-and-Label-Location-5481414.pdf

Looks like a model each for Europe and North America; “NSPanel-EU” and “NSPanel-US”. It also contains a temperature + humidity sensor and two integrated relays for 220V/300W or 110V/150W respectively, so assume that it is also meant to be able to act as a HVAC thermostat control panel too.

@digiblur Sounds as if you got one for review? Maybe already flashed it with ESPHome or Tasmota?

At least you mentioning this in your reddit post indicate that;

They designed it to be flashed to be honest. Efuses are not burned (at least on the one I have) and pin headers are stupid easy for a solderless flash.

1 Like

I have esphome running on it, but still struggle to find the IO’s used for display, ntc and relays. For now I only have 1 switch :rofl:

3 Likes

I now have all switches and relays working, but GPIO 16 and 17 for TX/RX for the (nextion?) display won’t work.

Everything points to this display being a nextion display, but esphome does not recognise it as such.

1 Like

We have published our ‘first impressions’ including a first esphome config. Sadly the display and the NTC temperature sensor are not working yet.

Check: https://espthings.io/nspanel

4 Likes

I am not a C/C++ programmer so wonder if the ESPHome (and Tasmota) firmware for ESP32 be made to support Nextion touch-screen displays via Itead’s “iteadlib” library?

https://github.com/itead/ITEADLIB_Arduino_Nextion

As I understand Nextion displays as its own integrated MCU so that all text and graphics, animations, etc. are created using Nextion Editor software, and then then the project files/assets are uploaded directly into the Nextion screen. The screen then has serial commands mapped to UI elements and can be sent and received from ESPHome firmware to control it. So the Nextion display’s own MCU off-load most of the heavy lifting, or is that incorrect?

https://nextion.ca/portfolio-items/nextion-iteadlib-and-esp32-step-by-step/

https://nextion.ca/tutorials/

https://nextion.tech/faq-items/iteadlib-arduino-nextion-library/

https://www.youtube.com/watch?v=FSRx8h8iBnk&ab_channel=AndreasSpiess

https://www.youtube.com/watch?v=eI-4_QyVenw

https://diyi0t.com/arduino-nextion-display-tutorial/

And to also add an easy-to-use UI for file upload to Nextion displays to ESPHome could maybe base it on something like this ESPNexUpload?

https://github.com/Nredor/ESPNexUpload

Kickstarter campaign is now live and early bird price is about $54 (while the MSRP is listed as $75):

https://www.kickstarter.com/projects/sonoffnspanel/sonoff-nspanel-smart-scene-wall-switch/

https://www.kickstarter.com/projects/sonoffnspanel/sonoff-nspanel-smart-scene-wall-switch/

Many tech review bloggers seem to complain on its lack of integrated motion sensor and I like to also add request for its temperature sensor to be replaced with a temperature and humidity combo sensor.

Hope that ITead will replace the DS18B20 sensor with AM2301 or Si7021 as should add much cost.

2 Likes

esphome can already do all of that. The issue is that we can’t get the display to work.
Nextion TFT LCD Display — ESPHome Display
Nextion TFT LCD Display — ESPHome .tft file upload

api:
  services:
    - service: update_nextion
      then:
        - lambda: 'id(display1)->upload_tft();'


logger:
  baud_rate: 0

uart:
  id: uart_1
  tx_pin: GPIO17
  rx_pin: GPIO16
  baud_rate: 921600
display:
  - platform: nextion
    id: display1
    uart_id: uart_1
    tft_url: https://your_ha_url:8123/local/nextion/display.tft
    brightness: 25%
    lambda: |-
      it.set_component_value("gauge", 50);
      it.set_component_text("textview", "Hello World!");

Our config also has this configuration in it: https://espthings.io/nspanel

3 Likes

FYI, openHASP (HA SwitchPlate HASPone fork) andf HA SwitchPlate HASPone are two other existing firmware for Espressif microcontrollers which does not look to rely on iteadlib library and yet apparently support Nextion/TJC/STM32F4 HMI touchscreen / scene display controllers and ESP32 or ESP8266. openHASP at least instead rely on the lvgl graphics library.

https://github.com/HASwitchPlate/openHASP

https://haswitchplate.github.io/openHASP-docs/

https://lvgl.io

https://community.home-assistant.io/t/openhasp-an-mqtt-driven-touchscreen-scene-controller/300853

https://github.com/HASwitchPlate/HASPone

1 Like

Got this in an email from them…

Nextion HMI Project Upload Protocol

5 Likes

That enabled us to add the NTC and buzzer during the lunch break, but I’m afraid the display is doing something funky. I will contact Sonoff about that :frowning:

Check Sonoff NSpanel - first impressions! - espthings.io for more…

1 Like

Double check that baud_rate, maybe? :slight_smile:

£45 for the UK. (inc Shipping)
Backed!

@blakadder is doing a full teardown and has managed to get the Nextion screen type after issuing the upload protocol sequence:

comok 2,30614-0,NX4832F035_011C,48,61744,16643401829EF850,16777216

This means its a Nextion Discovery 3.5” NX4832F035 (Datasheet).

Over at the Unofficial Nextion/TJC User Forum discord we’ve been making some discoveries:

  • The stock firmware serial baudrate is 115200
  • The stock firmware has Protocol Reparse and Address Mode activated
  • You have to put the Nextion into passive mode to processes serial data according to the Nextion Instuction Set
3 Likes