A macOS app that wraps the Android emulator for Pikmin Bloom walk simulation. Install the app, point it at your Android SDK, and start walking — no Android Studio knowledge required.
Apple Silicon (M1+) only. macOS 14 Sonoma or later.
- Detects your existing Android SDK installation (Android Studio or Homebrew)
- Creates and manages an Android emulator (Pixel 7, Play Store enabled)
- Simulates realistic walking with GPS movement and step detection sensors
- Live dashboard showing step count, progress, GPS coordinates, and walk log
Option A: Android Studio (recommended)
Download from developer.android.com/studio. Open it once to complete setup, then install a system image via SDK Manager:
- SDK Platforms > Android 16.0 (Baklava) or Android 15.0 (API 35)
- Make sure "Google Play ARM 64 v8a System Image" is checked
Option B: Homebrew
brew install --cask android-commandlinetools
sdkmanager "platform-tools" "emulator" \
"system-images;android-36.0-Baklava;google_apis_playstore;arm64-v8a"Download Pikimin.dmg from Releases, open it, and drag Pikimin.app into your Applications folder. This is important — if you run the app directly from the DMG, it will disappear when you eject the disk image. Always copy it to Applications first.
Since the app is ad-hoc signed (not from the App Store), macOS will block it on first launch. To allow it:
- Double-click
Pikimin.app— macOS will show a warning that it can't be opened - Go to System Settings > Privacy & Security
- Scroll down to the Security section — you'll see a message about Pikimin being blocked
- Click Open Anyway
- Confirm in the dialog that appears
Important: Log out of Pikmin Bloom on your phone before logging in on the emulator. It is unknown what happens if multiple devices are logged in simultaneously — to be safe, only use one device at a time.
- Open Pikimin — it detects your SDK automatically
- Click Start Emulator — wait for it to boot
- In the emulator, open Play Store and install Pikmin Bloom
- Log in with your Pikmin Bloom account
- Set a GPS location (see below)
- Click Start Walk — watch the steps roll in
Before starting a walk, you need to set a starting location in the emulator:
Step 1. Click the ... (three dots) button on the emulator toolbar to open Extended Controls
Step 2. Click Location in the left sidebar
Step 3. Enter latitude and longitude (or click on the map), then click Set Location
Tip: You can click SAVE POINT to save frequently used locations for quick access later.
The walk simulation will read this location as the starting point and walk outward from it, then return in the second half.
Pikmin Bloom uses a custom keyboard for the date of birth field. The standard keyboard (both physical and on-screen) will not work on this screen — you'll see a black/invisible keyboard.
To solve this, first disable ADB Keyboard in the emulator settings:
Step 1. Open Settings > System in the emulator
Step 2. Go to Keyboard
Step 3. Tap On-screen keyboard
Step 4. Turn off ADB Keyboard (keep Gboard enabled)
Then go back to Pikmin Bloom:
- Tap the date field — a numpad should appear
- In the Pikimin control panel, enter your date as digits (e.g.
01011990for 01/01/1990) in the "Type into emulator" field - Click Send
- SDK Detection — automatically finds Android SDK at
~/Library/Android/sdk(Android Studio) or/opt/homebrew/share/android-commandlinetools(Homebrew) - Emulator Management — start/stop with one click, auto-detects already-running emulators
- Walk Simulation — three walk modes:
- Random Walk — wander randomly, return to start in second half
- Fixed Direction — walk in a chosen compass direction (N, NE, E, SE, S, SW, W, NW)
- Walk to Destination — enter coordinates and walk straight there, with ETA and distance display
- Walk Speed — four speed options:
- Slow (3 km/h), Normal (8 km/h), Fast (12 km/h), Sprint (15 km/h)
- Saved Locations — save, edit, and delete favorite GPS coordinates for quick reuse
- Live Dashboard — real-time step count, progress bar, phase indicator, GPS coordinates, elapsed time
- Walk Log — timestamped entries every 50 steps
- Text Input Helper — send text to the emulator for fields that don't accept keyboard input (e.g. Pikmin Bloom's date of birth)
- DNS Fix — emulator launches with
-dns-server 8.8.8.8to avoid connectivity issues
cd Pikimin
swift build
./scripts/dev-run.sh # build + launch as .app bundle
./scripts/create-dmg.sh # build release DMGEach step cycle (~500ms) sends 7 sensor updates via adb emu sensor set:
- Swing — Z-axis drops below gravity
- Heel strike — Z-axis spike to 22 m/s² (the key trigger for step detection)
- Peak impact — Z-axis at 25 m/s²
- Settling — deceleration back toward gravity
- Midstance — gravity baseline (step detector needs this valley)
- Toe off — smaller secondary spike
- Rest — return to 9.8 m/s²
GPS coordinates update each step (~1.5m per step) following a random walk pattern that returns to the starting point in the second half.
MIT








