SCT 013 - 30A works fine in Arduino Uno but not in ESP32

Our project is home automation with power consumption monitoring we have problem in our SCT 013-30A sensor because it won’t read correctly. Our load is below 1A which is mini bulb and mini fan.

We did experiment to use arduino uno and it works fine, the noise is low and can read the current accurately. But when we change it again in ESP32 the reading of our current sensor is not right even though we use same circuit, codes and VIN of 5v. We also change the calibration but the it wont read correctly.

What should i do?? Why did the SCT 013 sensor works well in arduino uno but not in ESP32?? please help me.

Welcome, @jhonedward_patromo, to the OEM forum.

I know nothing about the ESP32, other than the ADC works quite differently to the one in the ATMega328P. Have you searched here for ESP32? I think some users have used one, but I cannot remember when or any details of what they did.

If you cannot find anything, ask again - but I’m very busy at the present time.

1 Like

Good day, thankyou for the reply. Yes I did searched in Google and Youtube but it won’t work. It really works well in Arduino Uno but not in ESP32

No, I wrote search HERE in the forum. I see 45 posts, look at some of those.

1 Like

Be VERY careful in using 5v with the ESP32. If you supply 5v into any of the GPIO pins on the ESP32 there may be irrepairable damage to the ESP32 which is a 3.3v device with an absolute maximum voltage rating in the datasheet of ~3.6v (VDD + 0.3v).

Some notes on the ESP32 ADC:

  • The ADC defaults to reading 0v to 1.1v or 0v to ~3.3v, depending on arduino-esp32 version.
  • Default ADC value range is 0-4096 (12bit)
  • Supplying over ~3.3v on an ADC input will result in maximum ADC reading being returned.
  • The ADC can be very noisy and may require adding a capacitor to smooth out the readings, refer to the technical documentation for details.
1 Like

I think this is the reason why my 1st ESP32 cannot connect to BLYNK (app) server anymore after 3days . Because I use 5V 2A adapter. My instructor then advise us to use 5V 1A.

Hi good day! I read some topics here and I found a solution of multiple winding wire in sct 013 but my reading is a little bit off. What seems to be the problem??

Reading in digital meter :
10W bulb it is connected to 5V relay.

1bulb on - 0.05A
2bulb on - 0.12A
3buln on - 0.20A

Reading in my serial monitor :
1bulb on - 0.07A
2bulb on - 0.12A
3bulb on - 0.17A

Your SCT-013-030 is only guaranteed accurate between 10% and 120% of rated input current, i.e. 3 A & 36 A.
All c.t’s are inherently inaccurate at low currents (‘low’ relating to the the rated current and the quality of the transformer - “revenue grade” being the most accurate over the widest range). It is the way current transformers work, nobody can ‘cure’ it, only minimise it - and that usually means a lot of money. :wink:

1 Like

I see, thankyou so much for your explanation sir.

Hi, good day, you say you found a solution, what was the solution?
on ESP8266 it works, but on the ESP32 the reading is very inconsistent.

Welcome, @Divino_JunioR to the OEM forum.

We have not seen jhonedward_patromo since a few days after his last post, so it’s unlikely he will respond.

Inconsistent reading can be a result of many things.

Things to check: Are you using the ESP32 input within its linear range? Have you biased your c.t. input correctly? Are you reading the ADC too slowly (or too quickly)? What are you using to convert the ADC readings to a meaningful number?

I don’t use the ESP32, so I cannot help you with specific questions, but someone else here might be able to help. But they will need to know how you are using the ESP32 before they can help you.