justcallmekoko / ESP32Marauder

A suite of WiFi/Bluetooth offensive and defensive tools for the ESP32
5.59k stars 614 forks source link

Documentation inconsistency in re GPS mod on Marauder v6. #436

Open aubreyshomo opened 9 months ago

aubreyshomo commented 9 months ago

Describe the bug Possible documentation inconsistency: Marauder v6 (or maybe v6.1) GPS Mod, referenced at: https://github.com/justcallmekoko/ESP32Marauder/wiki/gps-modification

The pins referenced for TX and RX appear correct, and, of course, Vcc and GND are needed as pictured.

However, the image on the wiki shows the PPS signal connected, as such: image

I note the yellow wire is connected to the solder pad between IO13 and IO34. It looks like IO11, but I'm not sure.

In mine, the pin appears to have a different name, even though I cannot clearly see the name of the pin in the wiki: image

Mine is unambiguously marked IO25. Which I don't think is visually compatible with what I see in the pic.

So, I have a pic that doesn't seem to match my board.

I dug the source, no reference to either pin, and I tried a few for the one I can't see.

So, I took out a logic probe. Low with some sporadic high pulses. Not clear what those are for, but they're not data probably, just quick pulses. If they are data, it goes by too fast for me to hear it with my logic probe.

But the pin is pulled low and pulsing high.

So I did not want to connect PPS to it. Not knowing what it does but seeing something already on the wire.

From what I can tell the PPS signal is unused by the firmware, and the pin is up to something but not referenced in source.

I went ahead and connected everything but PPS. The other GPS chip you recommend doesn't even have this signal and I can't for the life of me find any explicit use of it in the source.

It works fine for me unwired on PPS, other 4 per the source and docs in agreement, ignoring yellow wire on picture.

But, I am unclear. Is PPS meant to be used? Did I miss something with my greps? Is my logic probe lying, or is something connected here but unused?

I think the docs mismatch my board. It may be a v6 vs v6.1 issue. It may be something else.

But I believe the pps signal has a conflict for that hole, even if merely RFU, on my board.

Other sections Omitted, it's a documentation issue, I think. Bug report was best column to file in.

aubreyshomo commented 9 months ago

I mean from the blinking of my probe, I suppose it could be being used as an interrupt line or something. But a call to attachInterrupt does not appear in your codebase from what I can tell, libraries ungrepped. The pin's sure not in configs.h from what I can tell.

But the other unused are dangling per my probe. This one's pulled and pulsing.

aubreyshomo commented 9 months ago

I saw the mini doesn't seem to use PPS at all, or even have a pad for it, which strengthens my belief it's not used.

JustCallMeKoko — Today at 2:25 PM That is correct I do not use PPS

In that case, since there's logic -- I don't know what, but it's there -- on what I see on my board as IO25, but which is definitely the same hole the wiki's pic shows PPS connected to, you may want to update the wiki.

I offer two photos, if they should be of any use:

marauder_gps_v61_pins_closeup

marauder_gps_v61_whole_board

The wire's overgauge and the solder job is crap. (I had trouble getting the 22 AWG solid core hot enough with the tiny tip I was using and decided to power through rather than cool and switch tips.)

So, it's not a great picture. But the electrical connections are all correct with nothing superfluous and possibly problematic.

Not a great pic, but what I have.

aubreyshomo commented 9 months ago

Still no idea what's on IO25, but it's not an interrupt line. I was right, it's just waaay to fast to hear on a logic probe.

Oscilloscope: image

It seems to be 24 cycles of clock, 3 bytes worth, at irregular intervals.

Each cycle of clock is 1.25 microseconds, at 400 ns high, 850 ms low.

SPI/I2C clock line or something?

But I can find tons of pulled pins, high or low, but no data that looks like it goes with the clock.

So, I still don't know what it does, but I'm quite sure PPS wired here like in the doc would mess this up about once a second if the pulse happens at the same time as the 24-bit clock word.

aubreyshomo commented 9 months ago

From old schematic, believe GPIO14 is the pin identified in the picture. The same old schematic listed GPIO25 as not connected out of the core.

https://github.com/justcallmekoko/ESP32Marauder/tree/master/schematics

It appears the breakout header change postdates this schematic, and the wiki.

Still no idea what GPIO25 is up to, but it was not connected out of the core in the old schematic.