AnyScan209 is a professional free Android magnetometer app that transforms your smartphone into a powerful 3D ground scanner. Designed for geophysical surveys, magnetic field visualization, and underground anomaly detection, this app supports both internal smartphone sensors and external Bluetooth modules like HC-05.
With AnyScan209, you can perform 2D and 3D subsurface mapping, export data in OBJ, STL, and CSV formats, and analyze magnetic field variations with precision. Whether you're a researcher, educator, or hobbyist, this free ground scanner app provides professional-grade geophysical analysis tools right on your Android device.
Video: AnyScan209 tutorial β how to use the 3D ground scanner and magnetometer app for Android.
The AnyScan209 3D ground scanner features three main screens. To create a scan file, select the required dimensions using the longitudinal and transverse bars. The supported scan size range is from 8Γ8 up to 100Γ100 points, allowing detailed subsurface mapping and magnetic field analysis.
Enter a file name if required and select the Create Scan option. The top menu includes Open Scan, Export (OBJ, STL, CSV), and Bluetooth transfer options. Long-press the Bluetooth icon to adjust communication speed for external sensors. Use Settings to configure sensors, language, and device connection.
Use the phone back button or the top navigation arrow to enter the scan screen. The menu provides New Scan, 2D/3D mode selection, and scanning direction options for flexible geophysical data collection.
The navigation controls allow movement through grid cells without recording. Press Record to save measurements. Long-press the Record button to enable automatic timed recording β perfect for systematic magnetic field surveys.
After completing a scan, choose Direct Save for original data or Enhanced Save for improved visualization processing.
The 2D menu provides different visualization tools including:
Users can compare different visualization modes to better analyze magnetic field variations and data patterns in their subsurface scans.
The 3D viewer allows:
Long-press the rotation control to enable automatic rotation for dynamic presentations. The viewer supports different presentation modes for easier interpretation of collected magnetic field data.
The settings menu provides:
The Android magnetometer app supports internal smartphone sensors and external Bluetooth sensor modules like HC-05 and other SPP-compatible devices.
For stable scanning movement, a smartphone holder or selfie stick can be used. A Bluetooth remote controller can also help operate the Record function without touching the phone β ideal for maintaining consistent magnetic field measurements.
In External Sensor mode, activate the external option from the Settings page. Using a serial Bluetooth module such as HC-05 or another SPP-compatible device, a microcontroller can send measurement values to AnyScan209.
The communication range is based on values from 0 to 1024. In magnetometer mode, the center balance value is approximately 512. Other sensor types can use the full 0 to 1024 range for various geophysical measurements and magnetic field detection.
$regfile = "m8adef.dat"
$crystal = 8000000
Config Adc = Single , Prescaler = Auto , Reference = Avcc
Enable Interrupts
Config Portc.0 = Input
Config Portc.2 = Output
Dim Insw As Bit
Dim Vale As Word
Do
If Pinc.0 = 0 And Insw = 1 Then
Insw = 0
Portc.2 = 0
End If
If Pinc.0 = 1 And Insw = 0 Then
Portc.2 = 1
Insw = 1
Vale = Getadc(1)
Print Vale
End If
Loop
// BASCOM PortC.0 β Arduino input pin const int switchPin = A1; const int outputPin = 2; bool lastSwitchState = false; int analogValue = 0; void setup() { Serial.begin(9600); pinMode(outputPin, OUTPUT); pinMode(switchPin, INPUT); digitalWrite(outputPin, LOW); } void loop() { bool currentSwitchState = digitalRead(switchPin); if (currentSwitchState == LOW && lastSwitchState == HIGH) { lastSwitchState = LOW; digitalWrite(outputPin, LOW); } if (currentSwitchState == HIGH && lastSwitchState == LOW) { digitalWrite(outputPin, HIGH); lastSwitchState = HIGH; analogValue = analogRead(A1); Serial.println(analogValue); } }
// Arduino code with INPUT_PULLUP enabled const int switchPin = A1; const int outputPin = 2; bool lastSwitchState = false; int analogValue = 0; void setup() { Serial.begin(9600); pinMode(outputPin, OUTPUT); pinMode(switchPin, INPUT_PULLUP); digitalWrite(outputPin, LOW); } void loop() { bool currentSwitchState = digitalRead(switchPin); if (currentSwitchState == LOW && lastSwitchState == HIGH) { lastSwitchState = LOW; digitalWrite(outputPin, LOW); } if (currentSwitchState == HIGH && lastSwitchState == LOW) { digitalWrite(outputPin, HIGH); lastSwitchState = HIGH; analogValue = analogRead(A1); Serial.println(analogValue); } }
This table provides information about smartphone magnetometer sensors and their general characteristics for magnetic field analysis using AnyScan209.
| Manufacturer | Sensor Model | Sampling Rate | Resolution | Noise Level | Example Devices |
|---|---|---|---|---|---|
| MEMSIC | MMC5616WA | 1000 Hz | 0.00625 Β΅T/LSB | Very Low | Check device specifications |
| AKM | AK09973D | Up to 2000 Hz | High sensitivity | Medium | Selected Samsung, Xiaomi and Sony devices |
| Yamaha | YAS537 | 200 Hz | 0.15 Β΅T/LSB | Very Low | Samsung Galaxy S6, S7, Note series |
| Yamaha | YAS539 | ~200 Hz | 0.12 Β΅T/LSB | Very Low | Samsung Galaxy A series devices |
| Alps Alpine | HSCDTD015A | 200 Hz | 0.075 Β΅T/LSB | Low | Used in some modern smartphones |
| STMicroelectronics | LIS3MDL | 1000 Hz | Medium | Medium | Motorola, Nokia and LG devices |
Tip: To view information about your phone's magnetometer sensor, open Settings, go to the Update section, and select Sensor internal : help.
In AnyScan209, switch to Internal Sensor mode. Press and hold the sensor option to open advanced settings, then enable the Graph and Gauge features. Select the Bipolar Gauge display mode for real-time magnetic field visualization.
Return to the scan screen and bring your smartphone close to a device that produces a magnetic field, such as:
The gauge will respond to changes in the surrounding magnetic field. Alternating magnetic fields from AC electrical systems can cause the indicator to move in both directions, allowing visualization of magnetic field changes. DC magnetic fields may cause the indicator to move in one direction depending on the field orientation.
This feature can be useful for:
Note: To locate wiring paths behind the wall, you need a good excitation field. It is recommended to have a high-power loadβsuch as an electric heater or an electric kettleβat the end of the circuit so that a suitable inductive field is generated around the wires.
Please note that Android devices use different magnetometer sensors. The performance of magnetic field measurements depends on the quality and specifications of the sensor installed in each phone.
Yes, AnyScan209 is 100% free to download and use. There are no hidden charges, in-app purchases, or premium versions. The app provides full functionality including 3D ground scanning, magnetic field visualization, and data export without any cost.
Yes! AnyScan209 supports external Bluetooth sensors such as HC-05 modules and other SPP-compatible devices. This makes it ideal for custom geophysical surveys and magnetic field measurements using specialized hardware.
AnyScan209 supports export in three formats: OBJ for 3D models, STL for 3D printing applications, and CSV for data analysis in spreadsheets and scientific software. All formats include magnetic field data and spatial coordinates.
AnyScan209 works on any Android device that has a built-in magnetometer sensor. Most modern smartphones include this sensor. For best results, use devices with high-quality sensors like those listed in the sensor guide above.
Absolutely! AnyScan209 is designed for both educational and professional use. Its 2D/3D visualization, data export, and external sensor support make it suitable for geophysical surveys, subsurface mapping, and magnetic field analysis in various fields.