AnyScan209 – Free 2D/3D Universal Visualizer & Magnetometer App for Android

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.

🔹 AnyScan209 is not just a magnetometer – it's a universal 2D/3D visualizer with four internal sensors and any 0–1024 external data source.
Choose from magnetometer, barometer / altimeter, light sensor, or sound / noise meter — or connect an external sensor (Arduino, ESP, HC-05 via Bluetooth) for temperature, pressure, acoustic, or custom measurements. Just send values between 0 and 1024 – the app handles the rest.

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.

💬 Join the AnyScan209 Community Forum

Ask questions, share your projects, report bugs, and suggest new features. Everyone is welcome, from beginners to experts.

📝 How to post a question
  1. Create a free account at github.com/signup (just an email and password).
  2. Open the forum: github.com/soifgo/AnyScan209/discussions
  3. Click the green New discussion button on the top right.
  4. Choose the category that fits best:
    • Q&A — for questions
    • Ideas — for feature suggestions
    • Show and tell — to share your scans or projects
    • General — for anything else
  5. Write your message and click Start discussion.

Open the Forum →
Uptodown Download on Uptodown

📹 Watch the Tutorial Video

Video: AnyScan209 tutorial – 36 minutes

🎬 Watch on Dedicated Video Page

1. How to Create a Scan File in AnyScan209

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.

AnyScan209 main menu

2. Scan Screen Operations and Data Recording

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.

AnyScan209 scan screen

3. Data Management – Save, Restore, and Edit Cells

Manual Save & Rollback

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.

Editing Individual Cells

You can edit any single cell manually, but only in External mode or when Bluetooth is disconnected.

4. Scan Direction and Navigation

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.

5. 2D Visualization Features

The 2D menu provides different visualization tools including:

AnyScan209 2D visualization

6. 3D View and Advanced Visualization Settings

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 3D viewer

7. Export and Data Transmission Formats

AnyScan209 supports data export and real-time streaming in multiple formats for maximum compatibility with analysis software:

💡 Pro Tip: Long-press the Export Icon to open the advanced baud rate and communication speed configuration menu, allowing you to synchronize the transmission rate with your specific Bluetooth hardware receiver.

8. General Settings and Sensor Configuration

The settings menu provides:

The app supports internal smartphone sensors and external Bluetooth sensor modules like HC-05 and other SPP-compatible devices.

AnyScan209 settings

9. Pro Tip: Enhancing Your Scanning Setup

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.

AnyScan209 scanning setup

10. External Sensor Mode for Advanced Scanning

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 external sensor mode

11. Internal Sensors – Four Powerful Modes in One App

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.

AnyScan209 internal sensor selection list
🧭 How to switch internal sensors:
  1. Open the Settings page.
  2. Long-press the sensor icon at the top of the settings panel.
  3. A list of all available internal sensors appears.
  4. Tap any sensor to activate it.

🧲 1. Magnetometer – For Geophysics, Cavity Detection & Magnetic Field Mapping

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.

⛰️ 2. Barometer / Altimeter – For Elevation Mapping & Surface Topography

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:

⚠️ Note: Not all smartphones are equipped with a barometer. The barometer option may still appear in the sensor list on devices that do not have a physical barometric sensor, but in that case it will not return real pressure or altitude readings. Most flagship and mid-to-high-end devices include a real barometer, while many budget phones do not. If the barometer reading stays constant or does not respond to changes in elevation, your device most likely lacks a physical barometer.

💡 3. Light Sensor – For Illumination Mapping & Environmental Light Analysis

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.

🔊 4. Sound / Noise Meter – For Acoustic Mapping & Industrial Noise Analysis

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.

✅ One app – Four sensors – Unlimited possibilities:

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.

12. Gain and Balance – Understanding the 0–1024 Range

Internal Sensor (Magnetometer)

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.

External Sensor (Bluetooth)

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.

💡 Pro Tip: If your external sensor outputs values outside 0–1024, use a simple division or offset in your Arduino/ESP code before sending via Serial.println().

13. Schematic Diagram – External Sensor Connection

AnyScan209 external sensor schematic

14. Microcontroller Integration: BASCOM to Arduino

📘 Overview: This section demonstrates converting AVR BASCOM code into Arduino C++ code for use with AnyScan209 external sensor mode. The example reads sensor values and transmits them through serial communication using Bluetooth modules such as HC-05 or SPP devices.

Original BASCOM Code

                $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
            

Converted Arduino C++ Code

                // 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);
                }
                }
            

Alternative Version with Pull-up Enabled

                // 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);
                }
                }
            
Uptodown Download on Uptodown

Proteus File Download

📦 Download All Files (Proteus Project)

15. Magnetometer Sensor Guide for AnyScan209

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
MEMSICMMC5616WA1000 Hz0.00625 µT/LSBVery LowCheck device specifications
AKMAK09973DUp to 2000 HzHigh sensitivityMediumSelected Samsung, Xiaomi and Sony devices
YamahaYAS537200 Hz0.15 µT/LSBVery LowSamsung Galaxy S6, S7, Note series
YamahaYAS539~200 Hz0.12 µT/LSBVery LowSamsung Galaxy A series devices
Alps AlpineHSCDTD015A200 Hz0.075 µT/LSBLowUsed in some modern smartphones
STMicroelectronicsLIS3MDL1000 HzMediumMediumMotorola, Nokia and LG devices
Table 1: Magnetometer sensor specifications for smartphones compatible with AnyScan209.

⚠️ Why does my flagship phone have a weaker or slower magnetometer sensor?

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.

16. Use Your Smartphone as a Magnetic Field Detector

How to Use the Gauge and Graph Features

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.

Educational and Practical Applications

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.

17. Practical Tips for Detecting Wires and Conduits Behind Walls

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.

💡 Key takeaway:
AnyScan209 detecting a metal conduit

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.

AnyScan209 sensor settings

18. Frequently Asked Questions About AnyScan209

Is AnyScan209 completely free to download and use?

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.

Does AnyScan209 work with external sensors?

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.

What data formats can I export from AnyScan209?

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.

Can I use AnyScan209 for more than just magnetic field scanning?

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.

Does AnyScan209 contain ads or collect my data?

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.

Which Android devices are compatible with AnyScan209?

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.

Can I use AnyScan209 for professional geophysical surveys?

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.

What is the Gain feature and how does it work?

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.

Saeid Moghadam