Slimmelezer hardware design (ESPHome DSMR) available?

BIG thanks @jsuanet and @mmakaay is working perfectly :heart_eyes:

1 Like

I just managed to get Marcel’s SlimmeLezer+ up and running.
Is there a way to display instantaneous power as well (Opposed to just line voltage/current)?

Hello, i make smart reader for a friend (mine work like a charm) but i have a error on logs

[21:18:09][E][dsmr:265]: 0-0:96.1.4(202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020)
^
Invalid string length

i found same error on github with solution but don’t work for him

 esphome:
   platformio_options:
     lib_deps: glmnet/[email protected]
     lib_ignore: glmnet/[email protected]

maybee you have another solution

thanks for your help :wink:

FWIW, I just bought this:

Its barely more expensive than building your own, and it works perfectly with my Belgian DSMR V5. They have an HA integration (or you can go through MQTT).

HI @mmakaay, Tnx for designing and creating this schematic and pcb!
I really like your design since it incorporated the request_pin and request_interval in the design.

Is there anywhere ‘easy’ where I could order all the components and/or pcb at once? (Soldering myself will be fine).
I know the PCB could be ordered online by means of the gerber file you share. But I guess the components still need to be sourced elsewhere? I don’t have any experience (yet) with ordering PCB’s online. I guess there is a minimum quantity? Would anyone be interested in my surplus if I do find out how to order somewhere :slight_smile:
And how can we ‘pay tribute’ to your hard work?

I do all of my work for fun, not profit. I do have a sponsor account setup at PayPal for another project of mine though. Money that is collected through there goes right back into this fun hobby :slight_smile:
You can find the sponsoring info here

I order my PCB’s separately. The only way to have components included, is when I let the PCB company solder the components on the PCB for me. But where’s the fun in that? :wink:
There’s always a minimum of about 5 PCB’s I think. And when I have PCB’s produced, I let them produce some panels with multiple PCBs on a single print. This way you get “one” bigger PCB with break off lines that they create using a router. The bigger PCB can be broken into multiple PCB’s. That gives you a lot of PCB’s for the same price. (of course, this only works when the actual PCB is small enough to do this).

For components, I often order a surplus at for example Ali Express. I know that I’ll be needing more of those components at some point in the future, so I simply order larger quantities there.
If there are some highly specific components that I don’t use a lot, I more often make use of local electrical component vendors, where I order those specific components. Often two of them, in order I crap up something :wink:

I built the DSRM Reader version that was designed by @mmakaay and the readout of my DSMR5 meter works fine. It includes electricity and gas.
I am also trying to use an Oled that is possible with his design but haven’t succeeded with that yet.
Biggest advantage for me with this design is the ability to use the request pin and throttle the number of telegrams coming in. There is no use for me to have a readout every second. It would only hurt my home assistant install.

Can you describe your problem, it works fine for me.

@Steffie swapped the clock and data pins for I2C in the config.
Now it works.

Sorry for the late reply. As Maurice mentioned, i had the assignments for SCA and SCL reversed.
they should be:
sda: D2
scl: D1
for my setup.

I hadn’t seen this topic yet.
This is cool guys.

I’ve made my own board a while back as well.
It works only for DSMR5 and is way bigger than the one by @mmakaay, because I’m still learning hardware design, but it works.

As for the software.
My board could work with ESPHome, but I chose to write some code myself at the time, such that it turns the pin 2 for the DSMR high only 1 second every 30 seconds to slow down the data rate a little.
I should probably rewrite that to a custom ESPHome integration.

HA runs on my Raspberry Pi 2 and it had trouble with getting data every second from my DSMR 5 meter. It was way to overwhelming and I am okay with a 30 second interval.

I would love to have the pcb-design of Slimmelezer+…does someone have it?

I was wondering @mmakaay if you would ever consider extending your print with a water meter connection?
Now that the water meter is also part of the HA energy dashboard, and most water meters are very close to the DSMR meter, it might be a possibility to include that sensor in the same esphome device?

It might definitely be possible to use the same D1 Mini for doing water measurements as well. However, the problem with integrating that as part of the device design, is that there are various meters that require various solutions for getting the measurements. Unlike P1 ports on smart meters (that are standardized, at least as long as the planets align :slight_smile: ), there’s no standard for reading water meter data.

I do have a water meter, based on an inductive npn sensor in combination with the ESPHome pulse counter component. A simple GPIO input is all that is needed for this to work, so that should be possible using the free pins on my DSMR reader design.
Other water meters have other methods for reading the usage (blinking LED detection, checking stripes on a rotating disk, whatnot) and other configuration requirements, so I’m not sure how to solve this in the DSMR reader design in a good way.
Maybe exposing some pins would be the best I can do here, but given the compact design, it would increase the PCB size.

Another thing that’s possible of course, is soldering some leads to the pins (either at the top or the bottom of the PCB) and use those to connect the sensor of choice. I know somebody who extended the board’s functionality in that way (adding a PIR sensor to only turn on the connected display when motion is detected).

I guess exposing some pins would be the easiest indeed (future wise) since most water meter setups can almost directly use the GPIO pins and there are enough left to be used.
configuration would be completely up to the user.
I am thinking about the route of soldering some wireleads to some of the free GPIO pins to see what is possible. But a connector somehow seemded a nice idea for the future.
of course it won’t fit on the current small form-factor of this PCB.

On the other hand, maybe a completely seperate PCB and ESPhome device would make it much easier:)

Hi,
installed an energy meter with interface P1 DSMR 5.0.2 on my panel. Is this scanner compatible with this interface?skaitiklis

Hello, i try to make a new one but with d1 mini V4

and don’t work, i have connection but no data from P1

i need use a specific setup for d1mini V4?

thanks :wink:

EDIT : my bad, all work fine :wink:

Hi,

@mmakaay and other hardware gurus please help :slight_smile:

Unfortunately I have chosen to get the product from smartgateways. Their product description clearly states:

This P1 Smart Meter Gateway works with all smart meters in Europe, including the Netherlands, Belgium, Luxembourg, Austria, Sweden, Finland, Lithuania, Denmark, Hungary, Ireland, and Switzerland. It can be powered through the P1 port of smart meters (only for DSMR5 meters)

but I would not write to you if it worked out of the box :face_with_diagonal_mouth:

In Lithuania we have meters with DSMR5 P1.
I cracked opened (superglue :angry:) the product and see that it is NodEMCU with ESP-wroom-32 with a very simple board soldered on:

  • RJ12 socket
  • ground and 5v pins are directly routed from RJ12 pins
  • cant see the bottom well, but it looks like there are no other components there
  • there should be the RTS routes on the bottom
  • Data pin is routed to p18, and it also is pulled up to the RJ12 pin1 through a resistor.

SmartGateways provided me with this ESPHome yaml code (with wifi and HA api adjusted it compiles and installs successfully):

esphome:
  name: smart-gateways-smart-meter
  friendly_name: smart_gateways_smart_meter
  name_add_mac_suffix: false
  project:
    name: smartgateways.smartmeter
    version: "1.0"

substitutions:
  device_name: smart_gateways_smart_meter
  device_description: "Smart Gateways Smart Meter Gateway"

esp32:
  board: nodemcu-32s
  framework:
    type: arduino

# Enable logging
logger:
  baud_rate: 0

# Enable Home Assistant API
api:
#  encryption:
#    key: "xxxxx"

ota:
#  password: "xxxxx"

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

# Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Smart Gateways Smart Meter"
    password: "smartgateways"

captive_portal:

web_server:
  port: 80

uart:
  baud_rate: 115200
  rx_pin:
    number: GPIO18
    inverted: true
  rx_buffer_size: 3000
#  data_bits: 8
#  parity: NONE
#  stop_bits: 1

# enable the next lines if you want to debug
#  debug:
#    direction: RX
#    after:
#      delimiter: "\r\n"
#    sequence:
#      - lambda: UARTDebug::log_string(direction, bytes);

dsmr:
  max_telegram_length: 3000
  id: dsmr_instance
  receive_timeout: 200ms
# enable the next line if you encounter crc checksum mismatch errors (for some swedish and lithuanian meters)
#  crc_check: false


switch:
  - platform: gpio
    name: "Built-in LED"
    pin: 2
    id: led_wifi_connected

interval:
  - interval: 1s
    then:
      if:
        condition:
          wifi.connected:
        then:
          - if:
              condition:
                api.connected:
              then:
                - switch.turn_on: led_wifi_connected
                - delay: 200ms
                - switch.turn_off: led_wifi_connected
                - delay: 200ms
              else:
                - switch.turn_on: led_wifi_connected
                - delay: 500ms
                - switch.turn_off: led_wifi_connected
                - delay: 500ms
        else:
          - switch.turn_off: led_wifi_connected



sensor:
  - platform: dsmr
    energy_delivered_tariff1:
      name: "Energy Consumed Tariff 1"
    energy_delivered_tariff2:
      name: "Energy Consumed Tariff 2"
    energy_returned_tariff1:
      name: "Energy Produced Tariff 1"
    energy_returned_tariff2:
      name: "Energy Produced Tariff 2"
    power_delivered:
      name: "Power Consumed"
      accuracy_decimals: 3
    power_returned:
      name: "Power Produced"
      accuracy_decimals: 3
    electricity_failures:
      name: "Electricity Failures"
      icon: mdi:alert
    electricity_long_failures:
      name: "Long Electricity Failures"
      icon: mdi:alert
    voltage_l1:
      name: "Voltage Phase 1"
    voltage_l2:
      name: "Voltage Phase 2"
    voltage_l3:
      name: "Voltage Phase 3"
    current_l1:
      name: "Current Phase 1"
    current_l2:
      name: "Current Phase 2"
    current_l3:
      name: "Current Phase 3"
    power_delivered_l1:
      name: "Power Consumed Phase 1"
      accuracy_decimals: 3
    power_delivered_l2:
      name: "Power Consumed Phase 2"
      accuracy_decimals: 3
    power_delivered_l3:
      name: "Power Consumed Phase 3"
      accuracy_decimals: 3
    power_returned_l1:
      name: "Power Produced Phase 1"
      accuracy_decimals: 3
    power_returned_l2:
      name: "Power Produced Phase 2"
      accuracy_decimals: 3
    power_returned_l3:
      name: "Power Produced Phase 3"
      accuracy_decimals: 3
    gas_delivered:
      name: "Gas Consumed"
  - platform: uptime
    name: "SmartMeter Uptime"
  - platform: wifi_signal
    name: "SmartMeter Wi-Fi Signal"
    update_interval: 60s

text_sensor:
  - platform: dsmr
    identification:
      name: "DSMR Identification"
    p1_version:
      name: "DSMR Version"
  - platform: wifi_info
    ip_address:
      name: "Smart Gateways SmartMeter IP Address"
    ssid:
      name: "Smart Gateways SmartMeter Wi-Fi SSID"
    bssid:
      name: "Smart Gateways SmartMeter Wi-Fi BSSID"
  - platform: version
    name: "ESPHome Version"
    hide_timestamp: false

A first problem is that it does not boot when plugged into P1:

  • The red led turns on and pulses slightly
  • the blue led does not turn on
  • When unplugged from P1 and powered through USB it boots and the red led is steady, and as per the ESPHome yaml the blue led starts blinking (connection to HA is established as well)

seeing that the parasite board is so simple while a board designed here is much more complex I hope someone can advice I can add some magic capacitor or smth to help it boot :pray:

When I power the device via USB and then plug in the P1 it starts reading. but not much joy here as well. it is complaining about:

[19:31:22][E][dsmr:265]: 1-0:32.7.0(0000.232*kV)
                    ^
Invalid unit

I have found two attempts to help with Lithuanian DSMR:

  • esphome-dsmr-eso. looks like it is a custom dsmr component for ESPHome that introduces the missing units, but it does not install on my device. My assumption is that it is because my device is ESP32 :thinking:
  • Update DSMR to support Lithuania meters looks like this is an attempt to introduce the support support for Lithuanian dsmr into an “official” ESPHome dsmr component. But it looks like it was not finished. :sob:
  • my assumption is that this cannot be solved on yaml config level. correct?

Can someone please advice on any or both problems:

  1. Can the board be “helped” to boot from P1? (I don’t have a power outlet next to the meter)
  2. Lithuanian DSMR support on ESP32.

p.s. obviously I don’t recommend smartgateways.nl to anyone. their support was useless. they are indifferent that their product description promises that it will work in Lithuania.




Update

@Geduxas Helped with the reading problem. many thanks :slight_smile:

I can now read Lithuanian ESO Sagemcom meter with this Yaml:

substitutions:
  device_name: eso-smartmeter-p1port
  friendly_name: ESO_Meter Reader

external_components:
  - source: github://geduxas/esphome-dsmr-eso@main
    refresh: 0s

esphome:
  name: ${device_name}
  platform: esp32
  #esp8266_restore_from_flash: true
  board: nodemcu-32s
  name_add_mac_suffix: false
  project:
    name: geduxas.esodsmr
    version: "2.0"
#  on_boot:
#    then:
#      - if:
#          condition:
#            lambda: return id(has_key);
#          then:
#            - lambda: |-
#                std::string key(id(stored_decryption_key), 32);
#                id(dsmr_instance).set_decryption_key(key);
#          else:
#            - logger.log:
#                level: info
#                format: "Not using decryption key. If you need to set a key use Home Assistant service 'ESPHome:  ${device_name}_set_dsmr_key'"

wifi:
  # remove leading '#' and fill in your wifi details
  ssid: !secret wifi_ssid 
  password: !secret wifi_password

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: ${device_name}
    password: ${fallback_ap_password}

captive_portal:

web_server:
  port: 80

# Enable logging
logger:
  baud_rate: 0

# Enable Home Assistant API

api:
  encryption:
    key: "xxxxxxxxxxxxxxxxxx"

#  services:
#    service: set_dsmr_key
#    variables:
#      private_key: string
#    then:
#      - logger.log:
#          format: Setting private key %s. Set to empty string to disable
#          args: [private_key.c_str()]
#      - globals.set:
#          id: has_key
#          value: !lambda "return private_key.length() == 32;"
#      - lambda: |-
#          if (private_key.length() == 32)
#            private_key.copy(id(stored_decryption_key), 32);
#          id(dsmr_instance).set_decryption_key(private_key);

ota:

dashboard_import:
  package_import_url: github://geduxas/esphome-dsmr-eso/slimmelezer.yaml@main
  import_full_config: true


uart:
  baud_rate: 115200
  rx_pin: 
    number: GPIO18
    inverted: true
  rx_buffer_size: 3072
  debug:
    direction: RX
    after:
      delimiter: "\r\n"
    sequence:
      - lambda: UARTDebug::log_string(direction, bytes);
      

#globals:
#  - id: has_key
#    type: bool
#    restore_value: yes
#    initial_value: "false"
#  - id: stored_decryption_key
#    type: char[32]
#    restore_value: yes

dsmr_eso:
  id: dsmr_instance
  max_telegram_length: 4096
  # For Luxembourg users set here your decryption key
  #decryption_key: !secret decryption_key // enable this when using decryption for Luxembourg; key like '00112233445566778899AABBCCDDEEFF'

switch:
  - platform: gpio
    name: ${friendly_name} Blue LED
    pin: 2
    id: led_wifi_connected

interval:
  - interval: 8s
    then:
      if:
        condition:
          wifi.connected:
        then:
          - if:
              condition:
                api.connected:
              then:
                - switch.turn_on: led_wifi_connected
                - delay: 4000ms
                - switch.turn_off: led_wifi_connected
                - delay: 4000ms
              else:
                - switch.turn_on: led_wifi_connected
                - delay: 500ms
                - switch.turn_off: led_wifi_connected
                - delay: 500ms
        else:
          - switch.turn_off: led_wifi_connected

sensor:
  - platform: dsmr_eso
    energy_delivered_tariff1:
      name: ${friendly_name} Energy Delivered Tariff 1
      state_class: total_increasing
#    energy_delivered_tariff2:
#      name: ${friendly_name} Energy Delivered Tariff 2
#      state_class: total_increasing
    energy_returned_tariff1:
      name: ${friendly_name} Energy Returned Tariff 1
#    energy_returned_tariff2:
#      name: ${friendly_name} Energy Returned Tariff 2
    reactive_energy_delivered_tariff1:
        name: ${friendly_name} Reactiver Power Delivered 1
    reactive_energy_returned_tariff1:
        name: ${friendly_name} Reactiver Power Returned 1
    power_delivered:
      name: ${friendly_name} Power Consumed
      accuracy_decimals: 3
    power_returned:
      name: ${friendly_name} Power Returned
      accuracy_decimals: 3
    electricity_failures:
      name: ${friendly_name} Electricity Failures
      icon: mdi:alert
    electricity_long_failures:
      name: ${friendly_name} Electricity Long Failures
      icon: mdi:alert
    voltage:
      name: ${friendly_name} Voltage
      unit_of_measurement: "V"
      accuracy_decimals: 0
      filters:
        multiply: 1000
    voltage_l1:
      name: ${friendly_name} Voltage L1
      unit_of_measurement: "V"
      accuracy_decimals: 0
      filters:
        multiply: 1000
    voltage_avg_l1:
      name: ${friendly_name} Voltage average L1
      unit_of_measurement: "V"
      accuracy_decimals: 0
      filters:
        multiply: 1000
    voltage_l2:
      name: ${friendly_name} Voltage L2
      unit_of_measurement: "V"
      accuracy_decimals: 0
      filters:
        multiply: 1000
    voltage_avg_l2:
      name: ${friendly_name} Voltage average L2
      unit_of_measurement: "V"
      accuracy_decimals: 0
      filters:
        multiply: 1000
    voltage_l3:
      name: ${friendly_name} Voltage L3
      unit_of_measurement: "V"
      accuracy_decimals: 0
      filters:
        multiply: 1000
    voltage_avg_l3:
      name: ${friendly_name} Voltage average L3
      unit_of_measurement: "V"
      accuracy_decimals: 0
      filters:
        multiply: 1000
    current_l1:
      name: ${friendly_name} Current L1
      unit_of_measurement: "A"
      accuracy_decimals: 0
      filters:
        multiply: 1000
    current_fuse_l1:
      name: ${friendly_name} Current L1
      unit_of_measurement: "A"
      accuracy_decimals: 0
      filters:
        multiply: 1000
    current_l2:
      name: ${friendly_name} Current L2
      unit_of_measurement: "A"
      accuracy_decimals: 0
      filters:
        multiply: 1000
    current_fuse_l2:
      name: ${friendly_name} Current L2
      unit_of_measurement: "A"
      accuracy_decimals: 0
      filters:
        multiply: 1000
    current_l3:
      name: ${friendly_name} Current L3
      unit_of_measurement: "A"
      accuracy_decimals: 0
      filters: 
        multiply: 1000
    current_fuse_l3:
      name: ${friendly_name} Current L3
      unit_of_measurement: "A"
      accuracy_decimals: 0
      filters:
        multiply: 1000
    current:
      name: ${friendly_name} Current
      unit_of_measurement: "A"
      accuracy_decimals: 0
      filters:
        multiply: 1000
    current_n:
      name: ${friendly_name} Current N
      unit_of_measurement: "A"
      accuracy_decimals: 0
      filters:
        multiply: 1000
    current_sum:
      name: ${friendly_name} Current sum
      unit_of_measurement: "A"
      accuracy_decimals: 0
      filters:
        multiply: 1000
    power_delivered_l1:
      name: ${friendly_name} Power Delivered L1
    power_delivered_l2:
      name: ${friendly_name} Power Delivered L2
    power_delivered_l3:
      name: ${friendly_name} Power Delivered L3
    power_returned_l1:
      name: ${friendly_name} Power Returned L1
    power_returned_l2:
      name: ${friendly_name} Power Returned L2
    power_returned_l3:
      name: ${friendly_name} Power Returned L3
    apparent_delivery_power:
      name: ${friendly_name} Apparent Power Deliverd
      filters:
        multiply: 1000
    apparent_delivery_power_l1:
      name: ${friendly_name} Apparent Power Deliverd L1
      filters:
        multiply: 1000
    apparent_delivery_power_l2:
      name: ${friendly_name} Apparent Power Deliverd L2
      filters:
        multiply: 1000
    apparent_delivery_power_l3:
      name: ${friendly_name} Apparent Power Deliverd L3
      filters:
        multiply: 1000
    apparent_return_power:
      name: ${friendly_name} Apparent Power Returned 
      filters:
        multiply: 1000
    apparent_return_power_l1:
      name: ${friendly_name} Apparent Power Returned L1
      filters:
        multiply: 1000
    apparent_return_power_l2:
      name: ${friendly_name} Apparent Power Returned L2
      filters:
        multiply: 1000
    apparent_return_power_l3:
      name: ${friendly_name} Apparent Power Returned L3
      filters:
        multiply: 1000
    active_demand_power:
      name: ${friendly_name} Active Demand Avg3
#    active_demand_net:
#      name: ${friendly_name} Active Demand Avg3 Net
    active_demand_abs:
      name: ${friendly_name} Active Demand Avg3 Absolute 
    reactive_power_delivered_l1:
      name: ${friendly_name} Reactive Power Delivered L1
      unit_of_measurement: "var"
      accuracy_decimals: 0
      filters:
        multiply: 1000
    reactive_power_delivered_l2:
      name: ${friendly_name} Reactive Power Delivered L2
      unit_of_measurement: "var"
      accuracy_decimals: 0
      filters:
        multiply: 1000
    reactive_power_delivered_l3:
      name: ${friendly_name} Reactive Power Delivered L3
      unit_of_measurement: "var"
      accuracy_decimals: 0
      filters:
        multiply: 1000
    reactive_power_returned_l1:
      name: ${friendly_name} Reactive Power Returned L1
      unit_of_measurement: "var"
      accuracy_decimals: 0
      filters:
        multiply: 1000
    reactive_power_returned_l2:
      name: ${friendly_name} Reactive Power Returned L2
      unit_of_measurement: "var"
      accuracy_decimals: 0
      filters:
        multiply: 1000
    reactive_power_returned_l3:
      name: ${friendly_name} Reactive Power Returned L3
      unit_of_measurement: "var"
      accuracy_decimals: 0
      filters:
        multiply: 1000
    active_energy_import_current_average_demand:
      name: ${friendly_name} Active Average Recive Demand
    active_energy_export_current_average_demand:
      name: ${friendly_name} Active Average Export Demand
    reactive_energy_import_current_average_demand:
      name: ${friendly_name} Reactive Average Recive Demand
    reactive_energy_export_current_average_demand:
      name: ${friendly_name} Reactive Average Export Demand
    apparent_energy_import_current_average_demand:
      name: ${friendly_name} Apparent Average Recive Demand
      filters:
        multiply: 1000
    apparent_energy_export_current_average_demand:
      name: ${friendly_name} Apparent Average Export Demand
      filters:
        multiply: 1000
    active_energy_import_last_completed_demand:
      name: ${friendly_name} Active Last Recive Demand
    active_energy_export_last_completed_demand:
      name: ${friendly_name} Active Last Export Demand
    reactive_energy_import_last_completed_demand:
      name: ${friendly_name} Reactive Last Recive Demand
      unit_of_measurement: "var"
      accuracy_decimals: 0
      filters:
        multiply: 1000
    reactive_energy_export_last_completed_demand:
      name: ${friendly_name} Reactive Last Export Demand
      unit_of_measurement: "var"
      accuracy_decimals: 0
      filters:
        multiply: 1000
    apparent_energy_import_last_completed_demand:
      name: ${friendly_name} Apparent Last Recive Demand
      filters:
        multiply: 1000
    apparent_energy_export_last_completed_demand:
      name: ${friendly_name} Apparent Last Export Demand
      filters:
        multiply: 1000
    fw_core_version:
      name: ${friendly_name} Core version
    fw_module_version:
      name: ${friendly_name} Module version
  - platform: uptime
    name: ${friendly_name} Uptime
  - platform: wifi_signal
    name: ${friendly_name} Wi-Fi Signal
    update_interval: 60s


text_sensor:
  - platform: dsmr_eso
    identification:
      name: ${friendly_name} DSMR Identification
    fw_core_checksum:
      name: ${friendly_name} Core checskum
    fw_module_checksum:
      name: ${friendly_name} Module checskum
  - platform: wifi_info
    ip_address:
      name: ${friendly_name} IP Address
    ssid:
      name: ${friendly_name} Wi-Fi SSID
    bssid:
      name: ${friendly_name} Wi-Fi BSSID
  - platform: version
    name: "ESPHome Version"
    hide_timestamp: true

but only when powering through the USB (I brought my laptop to the street pole).

Now the only obstacle is the power over P1. It is not straightforward to add a power socket next to the meter. SO this is the last resort

Also I read somewhere that it is not good to have both P1 power and USB power delivered at the same time (while testing I did that and it did not fry :crossed_fingers:, but not sure if I would leave it like this for longer period)