u/ffffffrolov

Voxel and Volume creation modes for BoxelXR

Made a few base voxel creation interactions for the BoxelXR VisionOS version.

Unlike the Quest version of the app, which I built with Unity, this one will be developed natively. RealityKit, with its ECS architecture, is quite fun to work with.

The AVP app will be hand-tracking first, but I plan to support accessories and make a few custom controllers (ESP32 is a nice base for this).

u/ffffffrolov — 10 days ago
▲ 95 r/visionosdev+1 crossposts

Custom BLE controller for Apple Vision Pro

Made a custom controller for VisionOS. Uses an M5Atom built-in IMU to drive discrete directional events and BLE to connect to the device.

u/ffffffrolov — 17 days ago
▲ 78 r/M5Stack

Atomic Bulb Controller II

Made a variant of my previous experiment. It uses 4 directions to drive BRIGHTNESS and HUE states. Tap the screen to switch between these two modes.

💡 4 directions are enough to encode 4 main brightness states: ⬆️ Bright | ➡️ Less Bright | ⬇️ Dim | ⬅️ No light. For Hue, I used the most common colors Warn/Cool White and Red/Blue, which are used in domestic agriculture and skincare.

🔬 The state picker/slider follows the physical affordance of the device itself. This is a lovely way to simplify the interaction pattern by leveraging one of the Fundamental Interaction forces.

u/ffffffrolov — 21 days ago
▲ 122 r/M5Stack

Atomic Bulb Brightness Controller

Ported the previous experiment with EPS32 and BLE bulb to M5Atom. The mode selector is IMU-driven: UP increases brightness, DOWN decreases it.

Atom has a nice balanced physical affordance for defining 4 directions. It’s squarish. I guess the next iteration would be to leverage them: stationary orientation triggers the brightness level or hue (if you treat it as a parallelogram, which it is, you get 6 directions to map!). Generalizing this idea: clockwise directional update: i++, anticlockwise one: i--.

u/ffffffrolov — 24 days ago
▲ 27 r/M5Stack

Brightness Controller

Made another experiment using IMU data to drive UI interactions: A bulb brightness controller.

This time I used only three directions. When UP is detected, nothing happens; it’s the idle state. FORWARD/BACKWARD activate increasing/decreasing modes, respectively. Clicking the button applies changes.

On the technical side, the M5Stick directly controls the bulb by broadcasting commands via BLE.

u/ffffffrolov — 1 month ago
▲ 50 r/M5Stack

LIL POMODORO TIMER

Made a lil pomodoro timer for M5StickS3. It uses IMU data to switch between different UI modes and a single button to change settings. I like the implicit modes. It follows the affordance of the physical device.

The main mechanics are inspired by an hourglass-style animation. Tilt the device to control: UP to start, DOWN to reset, flat to pause. Work and Break sessions alternate automatically with sound notifications. Tilt LEFT/RIGHT to adjust durations in settings. No buttons needed. Just flip and focus.

u/ffffffrolov — 1 month ago
▲ 24 r/M5Stack

Direction Controller Prototype

Was playing with IMU data from the M5Stick and LVGL to prototype a custom user input system for my VR voxel editor.

u/ffffffrolov — 2 months ago