Garry Sherwood Flyte knocked on the door of his Eldred Township neighbor, Jeffery Place at 6:50 p.m. Wednesday.
When Place, 54, answered the door of the enclosed front porch of his home, Flyte told him he "had to kill him," and shot him in the abdomen with a .410 shotgun.
Flyte then opened fire on Place's son, Steven Powell, 30, police say.
As the men lay dying, Flyte searched the mobile home for Place's wife, Wendy, and shot the family's German shepherd.
Flyte walked back over to his house at 428 Meixsell Valley Road, put the shotgun on a couch, and walked back to his neighbors' house.
There, he called 911 and told a dispatcher he had shot three people, state Trooper Nicolas De La Iglesia wrote in an affidavit of probable cause filed with District Judge JoLana Krawitz of Saylorsburg.
De La Iglesia, of the Lehighton barracks, wrote that when he and Trooper Justin Maguilo arrived at the victims' home, they were met by a Jerry Place, 26, who had stopped Flyte from going anywhere else.
De La Iglesia took custody of Flyte, walking him to his cruiser. De La Iglesia started a video camera in the cruiser, and told Flyte he would be recorded. Flyte acknowledged the recording, was given his Miranda rights, and told De La Iglesia he had shot Jeffery Place and his son, Steven Powell.
De La Iglesia saw Jeffery Place, lying dead just inside his front door.
Powell was taken by West End Ambulance to Pocono Medical Center, where he was rushed into surgery for gunshot wounds to his chest and arm, only to die on the operating table.
Troopers took Flyte to the police barracks and De La Iglesia again read him his Miranda rights. Flyte agreed to a recorded interview, and again confessed to shooting Place and Powell, De La Iglesia wrote in the affidavit.
Police charged Flyte, whose only other brush with the law was a charge of driving under the influence in November 2012, with two counts of criminal homicide and cruelty to animals.
Flyte was arraigned at 12:30 a.m. before on-call District Judge Brian Germano, Marshalls Creek, and jailed without bail in Monroe County Correctional facility. A preliminary hearing is scheduled for 10 a.m. March 31 before Krawitz.
The family dog, said Monroe County Coroner Robert Allen, lingered for three and one-half hours, with local veterinarians refusing to come to the scene.
Finally, Allen said, a state trooper called a friend who is a veterinarian, who came to the house to euthanize the pet.