Close
0%
0%

ResQ Search and Rescue Tools

Air and ground-based tools to detect people by using their existing cell phone signature

Similar projects worth following
This open source project uses beacon packet sniffing to locate people such as lost hikers, campers and even poachers in game preserves. This works anywhere- as long as wifi is enabled on the targets phone. The hardware detects the beacon frames from their cellular phone, records the GPS coordinates for use later. 2 flavors are made: one hand-held portable and the other airborne carried by plane or drone.

RESQ:

I was inspired by the constant stream of search and rescue operations on the television show "North Woods Law". Each week they struggled to find lost people in the remote/rugged areas of Maine U.S.A. These areas often have no cellular service but in almost every case the target people had cellphones on them and working. As I live in Canada- we have a surplus of these situations in our vast wilderness as well.  I theorized I could use an external 2.4GHz antenna to receive the beacon frames from those phones ad capture that data. 

This hardware can be embedded in to any very small drone or RC aircraft. It can also be attached to existing manned aircraft already participating in the search. 

Using small drone aircraft (like the Nano Talon I use here) gives all the advantages such as flight condition tolerance, height, terrain, time of day etc that drones have over manned aircraft. They can also be sent on the full way-point mission without human intervention and tracked live from any ground station. 

What it does (both air AND ground units):

  • Detects all Beacons, their RSSI and their MAC addresses 
  • Detects All AP's in range (not needed but log them anyhow)
  • Gets GPS Lat/Long positioning
  • Gets GPS UTC Time
  • Logs all the above to the SD card .csv file every time any device detected changes
  • Displays the number of clients detected, APs detected, time and Lat/Long on the OLED screen live. 
  • Trigger optional camera module to capture image (for aircraft/drone based searches and SENTRY mode)
  • Send Telemetry to ground station via LORA (under final dev currently)

COMMERCIAL OPTIONS 

I have only found this one unit which does a similar task but is handheld only, limited to ~150 feet range and retails for $2400 USD.  Our ResQ project has similar functionality (using 2.4 GHz) for only a small fraction of this cost.  Our air unit is also easily deployed by aircraft or drone. Nice. 

BUILD

The air and ground units both use exactly the same hardware/PCB with the only difference being the power supply on the ground (battery) and larger directional antenna on the ground unit. This keeps the instructions, assembly and BOM very simple.  All the parts (except YAGI) are currently even stocked in my local Amazon warehouse here in Canada - Handy!

I am using the Wemos D1 mini PRO (for both air and ground units) with an external antenna (YAGI or omni/dipole) to receive the beacon frames, log them to SD Card with the MAC address and GPS coordinates to  easily plot with Google Earth/maps. It can also transmit the live data telemetry via LORA or similar module to the ground instantly as well by sending the debug UART via  radio to a simple USB  interfaced ground station.

The electronics are simple enough that anyone with basic soldering skills can assemble their own ResQ from scratch or kit in under an hour.

V3 of the PCB/project will be entirely discreet components and open the door to possibly producing these units at scale for a lower price and MUCH smaller package. 

MEDIA

Build Part:1

Build Part 2:

Part 3:

See YT playlist for existing tutorials in the links (I documented most facets of the build in standalone related videos which when all combines- make this project) Handy eh

Skills Learned

Here's a fun little summary of the things I think this project has directly taught me or drastically improved by doing it. Maybe it might be of interest to you to learn them too if you make this project!

  • PCB/Design in Fritzing- I could do a bit but now its much easier (no longer needed- see below)
  • OpenSCAD- Had never used it before this project. Now it makes total sense (premade items not coding from scratch) and makes customizable files found on Thingiverse WAAAAY easier than their customizer
  • Fusion 360- I had ZERO experience and now I have fully customized enclosures I can use for this and ANY other project. I actually look forward...
Read more »

  • 1 × Updated BOM maintained in Github Repo (with updated links to parts) https://github.com/MKme/ResQ
  • 1 × Wemos D1 Mini Pro ESP8266
  • 1 × SPI SD Card Reader/Card
  • 1 × 0.96" OLED Display
  • 1 × 2.4 GHz Yagi Antenna

View all 9 components

  • Bluetooth Integration Complete!

    Eric Wiiliam3 days ago 0 comments

    If you have been following this project you will have seen in PCB 2.1 I added support for UART telemetry radio directly on the board here: 

    Located here: 

    This allows for a long range telemetry radio (for ResQ Air Drone use) but ALSO allows us to easily add a Bluetooth radio which you can use to see the information live from your phone/tablet. 

    This is intended to be used when ResQ is utilized from a light aircraft or helicopter- you can mount the ResQ ground unit (or air module) OUTSIDE the aircraft fuselage and wirelessly get the data/targets right on your phone.  Handy eh! No running wires or messing around with the aircraft structure- just jump in any Cessna- attach ResQ to the wing strut or wherever- point it downward  and go search :)

    Lat night I updated the code and live tested an HC05 with the ResQ 2.1 PCB system

    After some learning to AT command program - Sure enough it works great!  It happily yaps out all the data over Bluetooth no problem:

    Sometime downrange I will try to make an APP which will graphically display the data on a map- should be easy as I am already providing GPS Lat/Long and the target info. Just need to plot it to make it nice and friendly to human eyes. For now though- it can work- it shows you when a target is detected and where in text form. 

    I've added all the instructions to my user and assembly manual (FYI ALWAYS update your manuals RIGHT when you finish a task- otherwise it is very hard to go back and get motivated to write documentation). It will be published here soon once I clean it up and make it really good for people to make this project.  Snippet:

    Since AT programming the module via a serial programmer (needs to have baud rate changed to match ResQ)  isn't the easiest thing- I went ahead and made these available pre-programmed alongside the ResQ kits on my website http://store.mkme.org/product-category/custom/

    They are even programmed as ResQ name and PIN is easy at 1234

    Next update here should be a HUGE one as soon as I finish it :)

  • Kanban Time

    Eric Wiiliam4 days ago 0 comments

    I use Kanban and Scrum a fair bit in my day job and occasionally use it in my projects/videos as well.  It just helps me focus on what I really need to be doing right now, what can wait and what I want to do long term in any project. 

    I decided others might benefit from seeing this too so I took a few minutes and visualized my current whiteboard in a Kanban format. I will update it periodically on GIT as we keep moving in to the final phases of this project. 

    In reading the above you will get a sneak-peek of the pretty huge announcement coming up soon here :)  

    I am super happy with the modular approach I took with this project whereby I can re-use the hardware and software for MULTIPLE different uses.  And now I will soon be adding one more, then some weeks from now- yet another big one.  

    This is getting fun now...

  • Camera Integration Complete!

    Eric Wiiliam09/21/2020 at 14:32 0 comments

    This weekend I completed the camera module integration,  tested and pushed the code to GIT. I was also able to design and manufacture a 2D version of the case (3D printable one was already done) and made a few prototypes. The camera module (if connected) is triggered by ResQ to wake up from deep sleep, take a still image of the area when a new MAC address target appears, store the image as a jpg to sd card then go back to deep sleep and wait for a new target.  Nice eh?

    How I did it:

    I took the existing ResQ which has always lived on a breadboard (it's a good idea to keep a breadboard version of any project so you can quickly test any changes you like). I took the ESP32-CAM module we had previously tested the code on and added a wire to the RST line. 

    I connected this RST line to the CAM Output on ResQ (D0 pin broken out on the PCB and schematic) Shared a ground between the boards (also broken out on the PCB). 

    Then updated the code. I knew the design was solid and SHOULD work but real hardware testing is the only way to know for certain how it will truly function.

    I updated the ResQ code to trigger this output pin low any time a new MAC address is written to the SD card.  This means that you will catch an image of the area any time a new target is detected.  Later I'll put options in the code to catch a series of images at set intervals which will cover more area. This should work great when carried by a drone/UAV since you will have images of the area from above EXACTLY where your target is located. Nifty. 

    I then designed and laser cut the 2D case models out of 3mm plywood and acrylic.  

    They turned out great and are big enough that users don't have to remove the camera board pins as seemingly every one of them found online comes pre-soldered.  Desoldering headers is a pain so lets avoid that and make it easy for people...

    Super happy with the code, design and function. 

    We now have a full family of case options for the Air, Ground AND Camera modules. 

    Now this seals the deal for yet ANOTHER use for ResQ coming soon- with ZERO code or hardware modifications we can use this system in a pretty cool application I will show in an update soon. 

    Stay Tuned :)

  • The Future Is Bright!

    Eric Wiiliam09/18/2020 at 23:06 0 comments

    It was Christmas again for me this week. V2.1 PCBs arrived from PCBWay and I have to say- I love them. 

    I went with white mask this time and I'm really happy I did. Not only do they look cool but they make it VERY easy to tell them apart from V1's in my workshop (V1 is black mask).  This time I let the board house do the penalization and the V-grooves are waaaay nicer than the mousebites.  

    I got one out and started adding components right away...

    It works! 

    I still need to check the expansion connectors but so far things are working great.  As before- users can decide which side of the board they want to mount the components on by simply soldering the headers to the side that suits their preferred "stack".  It is best to have the old not firmly mounted and instead use wires or ribbon.  For my tests here I like it stacked for ease of testing.  

    This will all be shown in the assembly an user manual as well as videos.  I just finished editing video Part 3 today and it will go live next Friday on YouTube (editing takes forever).

    Now to start on the design for an all-in-one board solution that could be manufactured with discreet components.  Of course it will still be the same base design so it can be used in both the air and ground versions- Handy!  One ResQ board to rule them all! 

    I still have a pretty big announcement coming on a NEW ResQ application I am finalizing- just when you thought ResQ could do all the things- but wait... THERE'S MORE!

    I ween.

  • Cameras are hard...

    Eric Wiiliam09/13/2020 at 20:04 0 comments

    I had some time last night I really wanted to finalize the camera expansion module.  I have never had such a difficult time programming any board as I did with the ESP32-CAM. 

    I was able to talk to it and program it just fine but every time although successful- just resulted in gibberish and errors via serial after. Tonnes of posts online reference this problem and almost ALL blame it on too little power (brownout) or bad USB cable. Odd

    After over 2 hours of annoying failure I found a couple posts referencing changing the settings as well as wiping the flash with a python tool. I wasnt able to wipe the flash and I had to change the board type and then alter a few settings to match the info one person recommended. Here are the settings I used:

    And it WORKED! I was finally able to capture images to the SD card when the ESP32 boots up them puts itself back in to deep sleep waiting for another boot.  Perfect.  

    I have no idea why the pictures are so green but I'll work on that :)  

    I think I will supply some of the camera modules as part of kits since they are a royal pain in the %$@& to program. No wonder so many people reported giving up and blaming the hardware in all the posts I read.  They are tricky but...

    I ween. 

  • Camera Expansion Module is Born!

    Eric Wiiliam09/10/2020 at 12:47 0 comments

    Last night I made some time to do the development on the camera module. Although this is a totally optional expansion on the project- I did design this output in to the Gen2 PCBs. This module is actually key in a pretty huge possibility for the project as well (stay tuned for that this fall). Long story short:

    ESP32 Cam boards are very cheap and will be triggered to capture a still image when a new MAC address (search target) is detected. This is pretty handy for an aerial search as you can have a downward facing still image of the area of interest to send ground teams to directly. Handy. This is the board:

    Since all of them from eBay and Amazon seem to come with the pins already soldered I had to make my own case design so people dont have to desolder headers if they build this project- just drop it in the case.  In Fusion 360 I simply scaled the air/ground unit files again with the user parameters , added a couple holes and BAM:

    So cool I learned how to do this from the adafruit tutorial. i did exactly ONE iteration to adjust the camera hole and add the SD card slot and this was the result 

    Sooo happy!  The files are in Git but not added to the manuals/docs yet as I want to finalize the use case and hardware tests. I dont see any issues except maybe power supply.  Although this is strictly and optional expansion for ResQ- I think it will add a significant bit of functionality and under $15 USD cost. 

    I even assembled my first kits to help others make this project

    You can find them here: http://store.mkme.org/product-category/custom/

    I ween. 

  • Generation 2 PCB is born...

    Eric Wiiliam09/07/2020 at 00:04 0 comments

    Since it is a long weekend I decided to make some time to learn again and KiCad was on the menu.  I already had the basic schematic made for version 2.xx of the ResQ PCB so I made a few changes this morning and ended up with something I am fairly confident in 

    I watched a few YouTube tutorials then just started pushing traces around the board :)  I found routing to be very intuitive and had little problems until it came to the silkscreen stage but all was smoothed out  in no time.  

    I know I could do a bit better on the copper fills but I didn't want to waste the whole day in front of my PC so once I got to this stage I uploaded them to PCBWay for production.  

    Top:

    Bottom:

    The primary changes are called out in the schematic and readme files but now I have the extra expansion I/O (all 3) broken out and the OLED connection changed to match the more common units available. 

    I also made a bit of time to whip up a new logo/stickers just for fun. I printed them out for cutting on the Cricut Maker.  

    I posted the photoshop source file and print files in a new folder in the Git Repo in case others want to print their own too.  I'll try to make some kits this week and of course will include some stickers with them.  

    Every day I get to post updates with new things I've learned it really gives me a sense of accomplishment. What a fun project. 

    I ween.

  • Build Video Part 2 is Up

    Eric Wiiliam09/05/2020 at 23:36 0 comments

    Yesterday part 2 of the build series finally went live. There is a several week lag due to shooting, editing and publishing.  All while I am also doing the builds and documenting it all here too :)

    I have already been working on Part 3 which includes the ground unit assembly, another prototype and the final testing already posted in build logs here. The videos should help show a lot more of the details and information. 

    Enjoy!

  • Success!!! It works well indeed

    Eric Wiiliam09/03/2020 at 20:19 0 comments

    After the rain passed on Sunday I was able to get out and run another proper field test with the ground unit.  Video of this test and all the case builds should be live in a few weeks (part 2 only airs tomorrow on YouTube) so here is the text version...

    I set the unit on my dashboard and went for a drive- sure enough lots of hits

    I headed over to my spot above the cove beach. Same as last time- I'm about ~200 m (I think) above the beach and there are also plenty of trees between me and my test subjects.  There were a few people around me but the majority are far down below:

    Again the YAGI didn't disappoint and the MAC count rose above 100 in no time

    Since the rolling shutter effect only lets let me photograph half the display- here is a video https://photos.app.goo.gl/TTCBib6QPf9TkPNYA

    It's a bit crazy how well this works since I'm not even at the edge of the cliff/bluff so the ground and trees are definitely attenuating most of the signals from below.  Neat

    It works so GOOD!  I couldn't be happier. 

    When I got home I started to write the instructions for how to plot the GPS locations on a map.  It is no problem to upload the .csv file to Google Maps and plot up to 2000 hits at a time.  It is limited to 2000 so you just have to copy/paste if your file has more than that (hopefully not if you are doing a search )

    I added the instructions to the readme on GIT and have updated the user manual which I will release in some weeks (it is over 40 pages now but needs more to make this project even easier for anyone)

    Last night I pushed a new code release to GIT which removed the logging of AP's to the SD card. This just added noise to the dataset that had to be removed before Google Maps can easily take the file.  They are still logged to the display and serial though because- why not. 

    Here is the serial communication currently (note this is in my basement so no GPS location fix but it gets time no problem)

    And here is the data file from the SD card. Nice and simple .csv which Google maps accepts directly (good idea to add column headers as I instruct in the readme)

    So at this point I see no need to add any amplification to the RF circuit. Because we are not dealing with any data transfer- just getting the ID, it seems as though the system is pretty robust and can pull MAC addresses and RSSI right out of the noise floor :)  So it seems anyhow.  

    We will know more once some others play around and test this out for themselves. So far- I think I can move on to finalizing V2.xxx of the PCB and make some kits available to people who might want one.  Will see how it goes. 

    I ween. 

  • Case conundrum...

    Eric Wiiliam08/30/2020 at 19:45 0 comments

    The weather started out horrible this weekend (kept my test subjects away from the beach) so I decided to tackle the case problem.  I really like the state of my 3D printed cases:

    But there are 2 fairly serious issues:

    1. Not everyone has access to a 3D printer
    2. 3D printed cases would cost a lot for me to ship in kits

    Since I really would like to do some kits to possibly bootstrap some funds for the project I really need to solve these.  I decided to make a 2D design that can be laser-cut, CNC machined or even cut by hand.  

    I made this design and modified it in Inkscape to cut on my laser cutter:

    It came out pretty great but I had some issues. As usual, I spent the entire weekend iterating the design with dimensional and format tweaks. Cutting them and trying the assembly over and over again. 

    Getting there:

    In the end- I now have SVG and DXF files in my GitHub Repo covering an easy to make case for the air unit. I have also added a readme with assembly instructions just for the cases/enclosures and the various methods of making them HERE

    Pretty happy with how it came out!

    Being flat 3mm thick material- I can now ship a case with component kits when/if the time comes I actually find some people who actually want to buy a kit 🙂 Both 3mm birch plywood and 3mm acrylic seem to work nicely but the acrylic looks waaaay nicer.  

    I even went ahead and tackled the ground unit enclosure too.  The SVG file was pretty easy since my hardware is the same between air and ground: 

    It cut out great on the K40:

    Then one big happy family was together at last :)

    Key takeaway:  However long you think it will take to make a simple enclosure- double it... then double it again ;)

    Pretty happy with these as the open the door to anyone to make this now without a 3D printer (or with one too)

    I ween! 

View all 28 project logs

Enjoy this project?

Share

Discussions

Andrei wrote 07/29/2020 at 13:48 point

we have 99% cell network coverage in our country. how it will work here? maybe directional antenna can be used? 

  Are you sure? yes | no

ris wrote 07/10/2020 at 23:45 point

My guess is you'd get even better results if you listened for signals on the cell frequencies. The phones may be out of range but they'll still be probing at full power for a cell station.

  Are you sure? yes | no

Eric Wiiliam wrote 07/13/2020 at 20:43 point

Surely but that would require a specialty radio that I do not have I'm afraid. Hence 2.4

  Are you sure? yes | no

ris wrote 07/13/2020 at 21:15 point

You could do it with a low-end SDR.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates