AnyScan209 is a professional free Android app that transforms your smartphone into a powerful 4-in-1 sensor visualizer for any sensor data in the 0–1024 range.
Designed for geophysical surveys, magnetic field visualization, subsurface anomaly detection, elevation mapping, illumination analysis, and acoustic noise mapping, this app supports both internal smartphone sensors and external Bluetooth modules like HC-05.
With AnyScan209, you can perform 2D and 3D mapping, export data in OBJ, STL, and CSV formats, and analyze variations with precision. Whether you're a researcher, educator, or hobbyist, this free universal visualizer provides professional-grade analysis tools right on your Android device.
The AnyScan209 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 mapping and data visualization.
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 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 surveys.
After completing a scan, choose Direct Save for original data or Enhanced Save for improved visualization processing.
You can save your scan at any point during data collection using the Save option from the menu. If you make a mistake, simply cancel the save – the app will roll back to the last saved state.
Using the navigation buttons (back/forward), you can jump to any cell and continue scanning from that point.
You can edit any single cell manually, but only in External mode or when Bluetooth is disconnected.
The scan always starts from the bottom‑right corner and moves vertically (bottom to top).
Two scan modes are available:
Use the direction toggle in the scan menu to switch between these modes.
The 2D menu provides different visualization tools including:
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 data.
AnyScan209 supports data export and real-time streaming in multiple formats for maximum compatibility with analysis software:
The settings menu provides:
The 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 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 measurements.
AnyScan209 is not just a magnetometer. It is a universal 2D/3D visualizer that can read from four different internal smartphone sensors. To choose the sensor you want, simply long-press the sensor icon on the Settings page — a sensor selection list will appear, and you can switch between any of the following four sensors at any time.
The magnetometer (compass sensor) is the most powerful mode in AnyScan209 and is designed for serious field work:
This mode is ideal for researchers, geophysicists, treasure hunters, and anyone working with magnetic field analysis.
The barometric pressure sensor (available on many modern smartphones) measures atmospheric pressure and converts it into relative altitude. In AnyScan209 this sensor becomes a powerful elevation mapping tool:
The ambient light sensor measures the intensity of light around the phone. In AnyScan209, this sensor becomes a professional illumination mapping tool:
Perfect for lighting engineers, greenhouse operators, photographers, and anyone who needs to see how light is distributed in a space.
The phone's microphone is used as a professional sound level meter (SPL meter). In AnyScan209 this becomes a powerful acoustic mapping tool:
Ideal for acoustic engineers, safety inspectors, industrial technicians, and researchers studying noise pollution.
With AnyScan209, the same app can be used as a magnetometer, altimeter, light meter, or sound level meter — just switch the sensor and start scanning. All four sensors use the same 0–1024 visualization range, the same 2D/3D viewers, and the same OBJ / STL / CSV export. This makes AnyScan209 a truly universal measurement platform for professionals and hobbyists alike.
Smartphone magnetometers are typically 16‑bit sensors with a raw range of 0 to 65,535. AnyScan209 applies a Gain factor (adjustable from 10 down to 1) to map this raw data into the 0–1024 visualization range.
In External mode, the user is responsible for pre‑scaling their sensor data in hardware or firmware before sending it via Bluetooth. The app expects values in the 0–1024 range and applies no additional gain or scaling internally.
Serial.println().
$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 use with 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 |
Most flagship smartphones use high-quality 16-bit magnetometer sensors with excellent precision and fast sampling rates. However, you may notice that a mid-range or budget device (e.g., Samsung Galaxy A-series) performs more sensitively or responds faster in certain conditions.
The reason is not the sensor chip itself, but its physical installation environment:
Bottom line: The sensor itself is rarely the problem. Installation conditions, nearby magnets (from wireless charging), and metallic components play a much larger role in real-world performance. Always test your device in a magnetically clean environment for the best results.
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.
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.
The method described above works best for cables or wires inside PVC or non-metallic conduits at shallow depths (a few centimeters). Since the magnetic field from AC current can penetrate plastic pipes, your phone's magnetometer can detect the alternating field and help trace the wiring path.
For metal conduits (steel or galvanized):
You do not need any current flowing through the wires inside the pipe. Even with no load at the end and no current passing through, the metal conduit itself creates a detectable magnetic anomaly. Because steel and galvanized pipes are ferromagnetic materials, they disturb the magnetic field around them. When you move your phone over a metal conduit, the magnetometer needle will deflect to one side (a static offset) simply due to the pipe's own magnetic signature.
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 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 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.
Absolutely! AnyScan209 is a universal 2D/3D visualizer with four internal sensors (magnetometer, barometer, light, sound) and support for any external 0–1024 sensor data. Whether you're measuring temperature, pressure, altitude, light, acoustic signals, or custom sensor data, just send values between 0 and 1024 and the app creates stunning visualizations.
No. AnyScan209 is completely free, contains no advertisements, and never sends any data to external servers. All scans, settings, and data stay locally on your device. Your privacy is fully respected.
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 various fields.
Gain adjusts the sensitivity of the internal 16-bit magnetometer (0–65535 raw). Default Gain=10 maps the raw data to the 0–1024 visualization range with neutral point at 512. Lower Gain (9 to 1) reduces sensitivity but covers a wider range. In External mode, you must pre-scale your sensor data before sending via Bluetooth.