Date: 201710
Local time of day: 1801-2400
Location: EWR.Tower, NJ
Flight conditions: VMC
Light: Night
Aircraft: Small Aircraft
Operator: Personal
Operating under: Part 91
Flight plan: None
Mission: Personal
Flight phase: Descent
Airspace: Class B EWR
ATC / advisory: Tower EWR
Reporter organization: Personal
Reporter function: Pilot Flying; Single Pilot
Reporter qualification: Flight Crew Instrument; Flight Crew Private
Human factors: Communication Breakdown; Confusion; Situational Awareness
Anomaly: ATC Issue All Types; Deviation / Discrepancy - Procedural Published Material / Policy; Inflight Event / Encounter CFTT / CFIT
Detector: Person Flight Crew
When detected: In-flight
Result: Air Traffic Control Issued New Clearance; Flight Crew Became Reoriented
Contributing factors: Airspace Structure; Human Factors
Primary problem: Human Factors

Narrative: I was flying the Hudson River Skyline route southbound from the Alpine tower (my first time doing so at night). My plan was to fly south to the Statue of Liberty and then make a right turn to the west; crossing over the numbers of runway 22 at Newark; and then back to Caldwell. The initial part of the route while talking to LGA tower was uneventful. The issues began when I reached the Statue of Liberty. It took five attempts for me to reach the Newark tower controller on 127.85. During this time; I was still flying southbound - I was not about to turn towards the arrival path of a Class B airport without explicit permission to do so. I was south of the Verrazano Bridge when I finally got a response from the controller. He instructed me to fly north back to the Statue; then a left turn over the numbers of Runway 22 at 1500 feet. This went fine.Up until now; I could just chalk it up to congestion. But the real problem came after I crossed the numbers and headed back to Caldwell. The controller asked for me on-course heading back to Caldwell. I glanced quickly at my EFB app and estimated 290 degrees. This was my mistake - the heading would have brought me to Morristown; not Caldwell. I mixed up the airports because I wasn't zoomed out enough on my EFB app. After a minute; I realized my mistake and told the controller my heading was closer to 350 to Caldwell. At this point; the controller told me to 'descend and maintain 900 feet'. 900 feet? Confused; I read it back to him and then began a very shallow descent. The controller said he didn't own the airspace in the area to the north; so I had to stay low. Meanwhile I was trying to bring up the profile/obstacle view on my EFB. I knew there were hills between me and Caldwell; I just wasn't sure what their height is; and it was night.Good thing I had a shallow descent. Looking at the VFR chart; there are two antennas in that area - at 928 and 968 - right in my flight path. I only descended to 1275. Around this time; the controller said I could 'maintain present altitude'. I did so; and landed at Caldwell without incident (although I may have been closer to the ground than I should have been).In retrospect; I should have had my flight path planned out better on my EFB app; and then I wouldn't have mixed up Morristown and Caldwell. But more importantly; I should have told the controller 'unable' when he told me to descend to 900 feet. I'm not sure why a controller would give this altitude; as it would have put me well under the 1000 foot AGL requirement; even over flat land (I was preparing to land; but I think this distance from Caldwell would be a stretch to justify). Perhaps the controller was unaware of the obstacles nearby; he was new to the position; or he was distracted. If he didn't own the airspace; then he should have passed me off to whomever does. I just feel that something should be corrected here before something bad happens.




Synopsis: General aviation pilot reported issues with EWR ATC requesting an altitude that may have been below obstacle clearances.