ESP8266 into existing alarm DSC System

OK, what happened was that I was commenting out api section in main yaml, then it wouldn’t fetch the api component, and that is why CustomAPIDevice was not found. Rookie mistake.

Thanks.



Hello, I am just sharing my ground isolated version. Thanks @Dilbert66 for the diagram. Works like a charm. I cannot get a PBC impressed, so I had to do it old school. Not the best soldering in the world, but it does the job :slight_smile:

3 Likes

Looks great! i think that it is the best design for low noise comunication. Im lazy to build the traces :sweat_smile: but if you can share an schematic about your prototype based on optocoupler, would be a nice contribution.

Hi,

I am not very familiar with programing so apologies for silly question. However, I am unable to compile the
esp32 project. Got this error when defining the esp32 gpios:

imagen

//dscAlarm.h

//#define dscClockPin D1  // esp8266: D1, D2, D8 (GPIO 5, 4, 15)
//#define dscReadPin D2   // esp8266: D1, D2, D8 (GPIO 5, 4, 15)
//#define dscWritePin D8  // esp8266: D1, D2, D8 (GPIO 5, 4, 15)

#define dscClockPin GPIO22  // esp32: (GPIO 22, 21, 18)
#define dscReadPin GPIO21   // esp32: (GPIO 22, 21, 18)
#define dscWritePin GPIO18  // esp32: (GPIO 22, 21, 18)

Can someone guide me a bit?
Thanks,

Use the actual number such as 22,21,18. I need to fix that in the code.

Iep! worked. Thanks.

I followed the isolated ground version from GitHub - Dilbert66/esphome-dsckeybus: Esphome custom configuration for interfacing to a DSC POWERSERIES alarm system. I kept the suggested pin usage: D1, D2 and D8 and added D7 for the led (I saw it in the source code)

Then I used an Excel :slight_smile: to make my own track diagram, it was the simpler for me, I am not familiar with any related tool and I just wanted a cell grid to emulate the perfboard tracks. My main goal was to have it all without jumping tracks, and I quickly found a way. For sure that is improbable.

About the tracks, I did start using UTP single wires to follow up, gut gave up quickly and realised that with a bit of patient I could do it without it.

Hope this might help someone. Don’t hesitate to ask.

and just for reference, I used a LM2596S step-down, 3x 4n35, 4x 4.7K Ω, 1x 180 Ω, a Nodemcu, 2 jumpers and a lled.

hello, I am trying to copy the pcb that you showed. I ordered the pcb and the parts.

I cant figure out what to set the the voltage regulator to. So im wondering, if the jumper is on the 3.3 then set it to 3.3, and if it is on vin then its ok to set it to 5v?

Hello @spector700
The jumper is a kind of “security” in case you plug the ESP8266 without setting the voltage on the LM2596 module.

I highly recomend to set the LM2596 output to 3.3v and then put the jumper on the 3.3v position. (In that order)
For more information you can check the build steps HERE

Thank you, that help a lot.

Is there different sizes of nodemcus or something, because the
pins are way off?

wow! thats weird. It seems that your ESP8266 board looks different than the standard NodeMCU board.
Can you take a picture on the top of your board?

yeah, here you go. And also the size differences.


Thank you for sharing.
As i can see your board is the NodeMCU V2, and the board that i desing is for NodeMCU V3 wich is a little more bigger.

I dont know if the v3 board is the most popular, but is easy to find on any electronic store (by the name of “lonin” or CH340 driver).

I will search more information and design also a board for V2 NodeMCU.
I could imagine the frustration if you bought the NodeMCU board specially for this project, im sorry for not specify the version, but already i taked the notes to make the respective changes.

Ah, ok. I just ordered the v3 from amazon as I could not find it at the electronic stores that I know of, like mouser and digikey.

And it looks like I got the wrong jumpers as they dont come with the pins that you solder in, only the actual jumper. So do you know what the right one is called?

Also I am very new at this and is my first time soldering. Do you know the best way to solder the LM2596 onto the board? I was using a heat gun to heat solder under it but I dont want to damage the board.

They are just normal jumpers, called as “pin jumper” 2.54mm, like this:
(short jumper)
image

or this (long jumper)
image

Both are the same and do the same function. But that is for stethic, if you can’t get one just solder one line with the other with a piece of wire and you’re done, but have in mind that it also acts as a switch in case you want to power off without unplug the whole device or removing the board.

About the soldering is just an acquired skill, more you solder, best results you will get. It’s hard to explain here, because its more practical than theorical, so i suggest to watch some videos in youtube about how to soldering tht (through hole components) and smd (surface mount components). That will help you to do it like a profesional.
Other suggestions that i can give you and some videos doesn’t even mention is: safety first, have clear what you are doing, work on a clean area and do not inhale toxic vapour from the soldering, some people likes the smell of flux, but what they are doing is to smell heavy metals.

If you are using the soldering iron, use an apropiate tip, keep it clean by cleaning with an sponge (dont forget wet the sponge, but dont use water in excess, when you compress the sponge it should drop at least one drop).

If you are using a heat gun, first all this is the most difficult soldering method but there are the best results if you know how to using, so i’ll give you some tips:

  1. This method is not usefull for tht componets, so use a soldering iron in stead. Do not try it, because the results will not be the best on this kind of componets.
  2. This method is the best for SMD componens, but you need soldering paste (is not flux, soldering paste is a compound of thiny balls of tin element + flux)
  3. if you cant regulate the temperature, do not try it, because heat guns usually does 450-600°C and for sensible components you could burn them if you expose for long periods, usually no more than 10 seconds (more time you will cook the PCB and components and then burn them).

If you can regulate the temperature, you need to know the datasheet of the soldering paste you’re using, most common the range to melt it is arround 280-320°C, you can hold this temperature for arround 1-2minutes, more time you will cook the PCB and components. The procedure is to pre-heat the board, and then apply heat to the zone you want to melt, use a low flow of air and place the tip of the gun closer to that zone 0.5-1 cm depending.

So… back to the question: What is the best way to solder the LM2596 onto the board?

Many methods but i will give you two ways to do it:

  1. And i recomend this: Take a header pin (just remove the plastic holder) or a pice of wire and pass it through the LM2596 and the boards holes. Headers must stand out so you can solder each ends on the top and the bottom with an soldering iron.

image

  1. If you want to use a heat gun, just put soldering paste on the pads, and apply heat with the airgun on the bottom of the board. You will notice that you melt the paste when you see some bubbles on the sides of the pads and also both boards will stick with each other.

image

Hope it helps to you and maybe others

1 Like

Thank you for the fantastic explanation for all of this. I could not have done it without your help. I finished the board and now I can use the sensors for automatons. I have been using it for a few days and it works great.

For the esphome conifg, Can I just remove the unused zones from binary_sensor so I can get rid of the extra sensors? And if I can, Is there a way to update the intergration so I dont have to delete and re add it?

1 Like

I have built the circuit board with an ordered PCB.
Impressive work by everyone involved!

I have a little problem with the programming but have it up and partially working. Now it remains to connect the right sensor to the right entity.
But one question; how do I know which sensor in DSC connects to the correct entity in the dsckeybus interface?
Is it possible to see ESN numbers or triggered sensors in the program code? As in serial monitor in Arduino IDE?

Spector700, You can remove any reference to unused zones in the yaml and this way they won’t show up on home assistant. You can reload the config from home assistant to re-update. The easiest way to hide a sensor from home assistant is to simply comment out the “name:” tag using a # symbol in front. If you instead delete it altogether, you must also remove the case statement before it that references it.