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

I’d be more interested in seeing a version without the A/C side components and powered by USB. This would make a great HMI unit and provide more flexibility for mounting.

2 Likes

That should be easy enough to make actually, or for them to produce as the powerside (relays, filter etc) are on a separate board from the esp and display, there are even 5v and 3v3 headers on the board so it could be powered directly.

All it would need is something like a 3D printed rear case and a USB port extended or something to make it in to a self contained USB powered display, lot of options I’m sure.

Can’t wait for mine to turn up, managed to snag 2 in the early bird sale

1 Like

Since the design is modular it would be relatively easy to connect a USB using the headers.

During testing I was powering it straight from 5V using them and no issues.

3 Likes

Thats great news, since i do not have 110V/230VAC in my sockets. I have KNX cables with 24VDC. So i could decide to run 5VDC rail instead, or keep 24V and a DC/DC converter in each wall socket. Currently i have no wall switches, so i am planning to buy 20 pieces of this panel for all sockets in my house.

Sure, you can take out the relay unit from the metal frame and replace it with a custom solution including a DC stepdown converter and a header to plug the touch plate in

4 Likes

Double check that baud_rate , maybe? :slight_smile:

And why is that?

I tried al possible baud rates btw. :wink:

The baud_rate of uart should be 115200 to match the native speed of the stock firmware.

Also ESPhome only sends the connect command to the Nextion. That doesn’t work because the NSPanel is in Protocol Reparse mode. You need to send the full escape sequence from the Nextion Upload Protocol v1.1 instead to exit Protocol Reparse mode.

Try to change check_connect_ to:

    this->send_command_("DRAKJHSUYDGBNCJHGJKSHBDN");  // escape Protocol Reparse mode
    this->send_command_("connect");
    this->send_command_("ÿÿconnect");
2 Likes

Looks like other folks are figuring it out. I initially thought there was a typo in there.

Thanks, I tried 9600, 115200 as well, but not what you describe above.

I’ll have a look at it, not sure yet how to do this.

1 Like

Baudrate is definitely 115200!

You need to have GPIO4 pulled low so the screen boots. Then send the escape reparse mode string DRAKJHSUYDGBNCJHGJKSHBDNÿÿÿ and you can use all standard nextion commands.

Here’s me changing the room temp manually

This is screen with background image removed and a random resouce image drawn
https://t.co/mSJuh2aV6t

I’ve also successfully decoded most of the NSPanel custom protocol, just need to figure out why the touch function stops working when doing some actions.

Here’s a list of objects pulled by a nice tool coded by MaxZ from Nextion Unoffficial Discord:

btw for me NTC thermistor works but the values are off since i don’t know the exact specs of it: resistance and beta coefficient

4 Likes

Hi, thanks for sharing!\

Still unsure how to do this in esphome.

For the NTC I’m using:


sensor:
  - platform: wifi_signal
    name: "$long_devicename - WiFi Signal"
    update_interval: 60s
  - platform: adc
    id: ntc_sensor
    pin: 38
    attenuation: 11db
    update_interval: 5s
  - platform: ntc
    sensor: resistance_sensor
    calibration:
      b_constant: 3997
      reference_temperature: 22°C
      reference_resistance: 8.7kOhm
    name: "$long_devicename - NTC Temperature"
  - platform: resistance
    id: resistance_sensor
    sensor: ntc_sensor
    configuration: DOWNSTREAM
    resistor: 10kOhm
    reference_voltage: 3.6V
    name: "$long_devicename - NTC Resistance"

Which seems to be quit accurate.

2 Likes

I have control over the GUI using Tasmota and Berry scripts.

Still needs tweaking and coding for touchscreen commands to be rule triggers or even HA events

6 Likes

So developers could buy that screen now and use with any ESP32 if don’t have an Sonoff NSPanel?

https://itead.cc/product/nx4832f035-nextion-3-5-discovery-series-hmi-touch-display/

See that the NX4832F035 Nextion 3.5″ Discovery Series HMI Touch Display can be purchased as a separate unit directly from ITead for $29.90 (US) if need it for development or later in an DIY project.

They also recently announced a new NX3224F028 – Nextion 2.8″ Discovery Series HMI Touch Display:

There is a different touchpanel on the NSpanel and the Discovery Series. The NSPanel has a NX4832F035_011C Capacitive Touch while the Discovery Series has a NX4832F035_011R Resistive Touch.

Also, as noted by @blakadder, the PSram pins on the ESP32 of the NSpanel are not the default ones used on most common dev boards.

If the goal is to run your own ESP32 firmware and HMI, it should not matter much. But I don’t expect the Sonoff stock firmware or stock TFT file to work on DIY hardware… which is fine because I think most DIY users are looking at replacing the stock firmware anyway.

1 Like

And here we go Sonoff NSPanel Touch Display Switch (E32-MSW-NX) Configuration for Tasmota

All default functionality is 99% there, driver still in beta and under development

9 Likes

Wow. That’s very fast! Thanks for all the effort.

Does it mean display is also working like with stock firmware? If yes my wife will hate me the next few weeks and love me after again :smiling_face_with_three_hearts::rofl:

yes its trying to replicate the default firmware but using MQTT and being able to integrate it in Home Assistant. Widgets will require some effort to configure completely

2 Likes

We will wait then for upcoming news :slight_smile: Anyway I couldn’t find any website to order the panel yet

Everything neatly laid out here Sonoff NSPanel Touch Display Switch (E32-MSW-NX) Configuration for Tasmota and will be updated as the support progresses

1 Like