IP Library › Granted Patent US 12,730,496
Granted Patent B2
US 12,730,496 · App. 18/799,959 · Granted Sep 8, 2026

Virtual interfaces for controlling IoT devices

Inventors: Youjean Cho (New York, NY); Lei Zhang (Ann Arbor, MI); Daekun Kim (Santa Monica, CA); Ava Robinson (Solana Beach, CA); Yu Jiang Tham (Seattle, WA); Rajan Vaish (Beverly Hills, CA); Andrés Monroy-Hernández (Seattle, WA)
Assignee: Snap Inc.
G06F3/011G06F3/017G06F3/0334G06V10/255G06V40/20G16Y20/40H04N13/111
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,730,496
App. No.
18/799,959
Granted
Sep 8, 2026
Kind
B2
Abstract

A virtual interface application presented in augmented reality (AR) is described for controlling Internet of Things (IoT) products. The virtual interface application enables a user of a portable electronic device to activate a virtual control interface overlay on a display, receive a selection from the user using her hands or feet, and send a control signal to a nearby IoT product which executes an action in accordance with the selection. The virtual control interface is presented on the display as a virtual object in an AR environment. The virtual interface application includes a foot tracking tool for detecting an intersection between the foot location (in the physical environment) and the virtual surface position (in the AR environment). When an intersection is detected, the virtual interface application sends a control signal with instructions to the IoT product.

Claims (78)

1 . A method of controlling an Internet of Things (IoT) product using an electronic eyewear device comprising a camera and a display, the method comprising:

capturing frames of video data using the camera;

detecting the IoT product at an IoT product location in a physical environment based on the frames of video data;

estimating a current eyewear device location relative to the IoT product location;

detecting a foot shape at a foot location relative to the physical environment based on the frames of video data;

establishing a virtual plane relative to the display based on the foot location and the current eyewear device location;

presenting on the display a virtual control interface along the virtual plane according to the IoT product location;

detecting the foot shape performing a foot action relative to the virtual control interface; and

sending a control signal to the IoT product in accordance with the foot action, wherein the control signal comprises instructions associated with an IoT action.

2 . The method of claim 1 , wherein presenting the virtual control interface comprises presenting a virtual surface on the display at a surface position, such that the virtual surface appears to support the virtual control interface, and

wherein detecting the foot shape comprises detecting an intersection between the foot location and the virtual surface.

3 . The method of claim 1 , further comprising:

pairing the IoT product with the electronic eyewear device using a product API, wherein the product API comprises a product type and a controllable feature;

associating the foot action with the controllable feature; and

adjusting the controllable feature in accordance with the foot action and the control signal.

4 . The method of claim 1 , wherein the IoT product is associated with a controllable feature comprising a set of selectable options,

wherein presenting the virtual control interface comprises presenting along the virtual control interface a plurality of indicia, each associated with an option from the set of selectable options, and

wherein sending the control signal comprises generating an instruction based on the foot action relative to at least one of the plurality of indicia.

5 . The method of claim 1 , wherein establishing the virtual plane comprises:

establishing the virtual plane at a background location relative to the foot location, such that the foot location lies between the virtual plane and the current eyewear device location.

6 . The method of claim 1 , wherein the physical environment is characterized by a reference plane, and wherein the method comprises:

establishing the virtual plane at a foreground location relative to the reference plane, such that the virtual plane lies between the reference plane and the current eyewear device location.

7 . The method of claim 1 , wherein the IoT product is associated with a plurality of controllable features, and wherein presenting the virtual control interface comprises:

presenting along the virtual control interface a plurality of other virtual surfaces;

associating each of the other virtual surfaces with each of the plurality of controllable features; and

generating an instruction based on the foot action relative to at least one of the plurality of virtual surfaces.

8 . The method of claim 1 , wherein detecting the foot shape performing the foot action comprises:

detecting a foot motion relative to the virtual control interface, wherein the foot motion is selected from a group consisting of touching, hovering above, tapping and lifting, tapping and holding, sliding and stopping, and sliding.

9 . A product control system, comprising:

an electronic eyewear device comprising a processor, a memory, a camera, and a display;

programming in the memory, wherein execution of the programming by the processor configures the electronic eyewear device to perform functions, including functions to:

capture frames of video data using the camera;

detect an Internet of Things (IoT) product at an IoT product location in a physical environment based on the frames of video data;

estimate a current eyewear device location relative to the IoT product location;

detect a foot shape at a foot location relative to the physical environment based on the frames of video data;

establish a virtual plane relative to the display based on the foot location and the current eyewear device location;

present on the display a virtual control interface along the virtual plane according to the IoT product location;

detect the foot shape performing a foot action relative to the virtual control interface; and

send a control signal to the IoT product in accordance with the foot action, wherein the control signal comprises instructions associated with an IoT action.

10 . The product control system of claim 9 , wherein the execution of the programming by the processor configures the electronic eyewear device to perform functions, including functions to:

present a virtual surface on the display at a surface position, such that the virtual surface appears to support the virtual control interface; and

detect an intersection between the foot location and the virtual surface.

11 . The product control system of claim 9 , wherein the execution of the programming by the processor configures the electronic eyewear device to perform functions, including functions to:

pair the IoT product with the electronic eyewear device using a product API, wherein the product API comprises a product type and a controllable feature;

associate the foot action with the controllable feature; and

adjust the controllable feature in accordance with the foot action and the control signal.

12 . The product control system of claim 9 , wherein the IoT product is associated with a controllable feature comprising a set of selectable options, and wherein the execution of the programming by the processor configures the electronic eyewear device to perform functions, including functions to:

present along the virtual control interface a plurality of indicia, each associated with an option from the set of selectable options; and

generate an instruction based on the foot action relative to at least one of the plurality of indicia.

13 . The product control system of claim 9 , wherein the execution of the programming by the processor configures the electronic eyewear device to perform functions, including functions to:

establish the virtual plane at a background location relative to the foot location, such that the foot location lies between the virtual plane and the current eyewear device location.

14 . The product control system of claim 9 , wherein the execution of the programming by the processor configures the electronic eyewear device to perform functions, including functions to:

establish the virtual plane at a foreground location relative to a reference plane associated with the physical environment, such that the virtual plane lies between the reference plane and the current eyewear device location.

15 . The product control system of claim 9 , wherein the IoT product is associated with a plurality of controllable features, and wherein the execution of the programming by the processor configures the electronic eyewear device to perform functions, including functions to:

present along the virtual control interface a plurality of other virtual surfaces;

associate each of the other virtual surfaces with each of the plurality of controllable features; and

generate an instruction based on the foot action relative to at least one of the plurality of virtual surfaces.

16 . The product control system of claim 9 , wherein the foot action comprises a foot motion relative to the virtual control interface, wherein the foot motion is selected from a group consisting of touching, hovering above, tapping and lifting, tapping and holding, sliding and stopping, and sliding.

17 . A non-transitory computer-readable medium storing program code which, when executed, is operative to cause an electronic processor to perform the steps of:

capturing frames of video data using a camera, wherein the camera is coupled to an electronic eyewear device comprising the electronic processor, a memory, and a display;

detect an Internet of Things (IoT) product at an IoT product location in a physical environment based on the frames of video data;

estimating a current eyewear device location relative to the IoT product location;

detecting a foot shape at a foot location relative to the physical environment based on the frames of video data;

establishing a virtual plane relative to the display based on the foot location and the current eyewear device location;

presenting on the display a virtual control interface along the virtual plane according to the IoT product location;

detecting the foot shape performing a foot action relative to the virtual control interface; and

sending a control signal to the IoT product in accordance with the foot action, wherein the control signal comprises instructions associated with an IoT action.

18 . The non-transitory computer-readable medium storing program code of claim 17 , wherein the program code, when executed, is operative to cause the electronic processor to perform the further steps of:

presenting a virtual surface on the display at a surface position, such that the virtual surface appears to support the virtual control interface, wherein detecting the foot shape comprises detecting an intersection between the foot location and the virtual surface;

establishing the virtual plane at a background location relative to the foot location, such that the foot location lies between the virtual plane and the current eyewear device location; and

establishing the virtual plane at a foreground location relative to a reference plane associated with the physical environment, such that the virtual plane lies between the reference plane and the current eyewear device location.

19 . The non-transitory computer-readable medium storing program code of claim 17 , wherein the program code, when executed, is operative to cause the electronic processor to perform the further steps of:

pairing the IoT product with the electronic eyewear device using a product API, wherein the product API comprises a product type and a controllable feature;

associating the foot action with the controllable feature; and

adjusting the controllable feature in accordance with the foot action and the control signal.

20 . The non-transitory computer-readable medium storing program code of claim 17 , wherein the IoT product is associated with a controllable feature comprising a set of selectable options, and wherein the program code, when executed, is operative to cause the electronic processor to perform the further steps of:

presenting along the virtual control interface a plurality of indicia, each associated with an option from the set of selectable options; and

generating an instruction based on the foot action relative to at least one of the plurality of indicia.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 30, 2025
From: KIM, DAEKUN; ZHANG, LEI; CHO, YOUJEAN; ROBINSON, AVA; THAM, YU JIANG; VAISH, RAJAN; MONROY-HERNÁNDEZ, ANDRÉS
To: SNAP INC.
Reel/Frame 073340/0455 →
Continuity (2)
Continuation 17901630 · Sep 1, 2022
Related Publication 20240402796A1 · Dec 5, 2024
References Cited (82)
US 10025407B2 · Jayaraj et al. · 2018 [cited by applicant]
US 10031581B1 · Raman et al. · 2018 [cited by applicant]
US 10110678B2 · Hebsur et al. · 2018 [cited by applicant]
US 10496253B2 · Keller · 2019 [cited by applicant]
US 10551993B1 · Sanocki et al. · 2020 [cited by applicant]
US 10739861B2 · Kin et al. · 2020 [cited by applicant]
US 10831267B1 · Golard et al. · 2020 [cited by applicant]
US 10921764B2 · Mao et al. · 2021 [cited by applicant]
US 10936280B2 · Lin · 2021 [cited by applicant]
US 11406896B1 · Cheung et al. · 2022 [cited by applicant]
US 12073011B2 · Cho et al. · 2024 [cited by applicant]
US 12307877B2 · Dadhich · 2025 [cited by examiner]
US 20040091848A1 · Nemitz · 2004 [cited by applicant]
US 20060003824A1 · Kobayashi et al. · 2006 [cited by applicant]
US 20060041546A1 · Ahn · 2006 [cited by applicant]
US 20070124507A1 · Gurram et al. · 2007 [cited by applicant]
US 20090300676A1 · Harter, Jr. · 2009 [cited by applicant]
US 20100092930A1 · Fletcher et al. · 2010 [cited by applicant]
US 20110165939A1 · Borst et al. · 2011 [cited by applicant]
US 20110314381A1 · Fuller et al. · 2011 [cited by applicant]
US 20120284426A1 · Smith et al. · 2012 [cited by applicant]
US 20130307855A1 · Lamb et al. · 2013 [cited by applicant]
US 20130307856A1 · Keane et al. · 2013 [cited by applicant]
US 20140080109A1 · Haseltine et al. · 2014 [cited by applicant]
US 20140282013A1 · Amijee · 2014 [cited by applicant]
US 20140282162A1 · Fein et al. · 2014 [cited by applicant]
US 20140368533A1 · Salter et al. · 2014 [cited by applicant]
US 20150072330A1 · Rosenberg · 2015 [cited by applicant]
US 20150165310A1 · Rebh et al. · 2015 [cited by applicant]
US 20150347114A1 · Yoon · 2015 [cited by applicant]
US 20160005207A1 · Jeon · 2016 [cited by applicant]
US 20160136524A1 · Leites et al. · 2016 [cited by applicant]
US 20160225187A1 · Knipp et al. · 2016 [cited by applicant]
US 20160274705A1 · Kapadia et al. · 2016 [cited by applicant]
US 20160274765A1 · Rainisto · 2016 [cited by applicant]
US 20170142324A1 · Jost et al. · 2017 [cited by applicant]
US 20170206902A1 · Parkinson · 2017 [cited by applicant]
US 20170220134A1 · Burns et al. · 2017 [cited by applicant]
US 20170337164A1 · Longdale et al. · 2017 [cited by applicant]
US 20180047396A1 · Forutanpour et al. · 2018 [cited by applicant]
US 20180053351A1 · Anderson · 2018 [cited by applicant]
US 20180276185A1 · Kaldma et al. · 2018 [cited by applicant]
US 20190066387A1 · Grossmann et al. · 2019 [cited by applicant]
US 20190107927A1 · Schriber et al. · 2019 [cited by applicant]
US 20190114061A1 · Daniels et al. · 2019 [cited by applicant]
US 20190188917A1 · Cho et al. · 2019 [cited by applicant]
US 20190244427A1 · Sun et al. · 2019 [cited by applicant]
US 20190361575A1 · Ni et al. · 2019 [cited by applicant]
US 20190371002A1 · Hwang et al. · 2019 [cited by applicant]
US 20190371071A1 · Lyons · 2019 [cited by applicant]
US 20200026362A1 · Kim et al. · 2020 [cited by applicant]
US 20200042286A1 · Bui et al. · 2020 [cited by applicant]
US 20200051302A1 · Subramonyam et al. · 2020 [cited by applicant]
US 20200118343A1 · Koblin et al. · 2020 [cited by applicant]
US 20200326831A1 · Marr · 2020 [cited by applicant]
US 20200326837A1 · Ni · 2020 [cited by applicant]
US 20200334463A1 · Shapira · 2020 [cited by applicant]
US 20200338451A1 · Wang · 2020 [cited by applicant]
US 20200387289A1 · Dunn et al. · 2020 [cited by applicant]
US 20210052976A1 · Anderson et al. · 2021 [cited by applicant]
US 20210084233A1 · Faaborg et al. · 2021 [cited by applicant]
US 20210183158A1 · Korngold et al. · 2021 [cited by applicant]
US 20210196174A1 · Tarnanas et al. · 2021 [cited by applicant]
US 20210216145A1 · Monge Nunez et al. · 2021 [cited by applicant]
US 20210256865A1 · Koshiba et al. · 2021 [cited by applicant]
US 20210342047A1 · Badr et al. · 2021 [cited by applicant]
US 20220057922A1 · Wang et al. · 2022 [cited by applicant]
US 20220083198A1 · Kaehler et al. · 2022 [cited by applicant]
US 20220253808A1 · Ferguson et al. · 2022 [cited by applicant]
US 20220258056A1 · Jiang · 2022 [cited by applicant]
US 20220398798A1 · Baradaran · 2022 [cited by applicant]
US 20230120437A1 · Simic et al. · 2023 [cited by applicant]
KR 20170108285A · 2017 [cited by applicant]
WO 2016153628A2 · 2016 [cited by applicant]
WO 2018102615A1 · 2018 [cited by applicant]
International Search Report and Written Opinion for International Application No. PCT/US2023/028720, dated Nov. 7, 2023 (Nov. 7, 2023)—10 pages. [cited by applicant]
International Search Report and Written Opinion for International Application No. PCT/US2023/028776, dated Nov. 15, 2023 (Nov. 15, 2023)—10 pages. [cited by applicant]
International Search Report and Written Opinion for International Application No. PCT/US2023/028788, dated Nov. 8, 2023 (Nov. 8, 2023)—10 pages. [cited by applicant]
International Search Report and Written Opinion for International Application No. PCT/US2023/028882, dated Nov. 15, 2023 (Nov. 15, 2023)—8 pages. [cited by applicant]
International Search Report and Written Opinion for International Application No. PCT/US2023/028885, dated Nov. 13, 2023 (Nov. 13, 2023)—10 pages. [cited by applicant]
Extended European search report for EP Application No. 23861069.5 dated Jul. 8, 2026, 15 pages. [cited by applicant]
Extended European Search Report for EP Application No. 23861075.2 dated Jul. 8, 2026, 9 pages. [cited by applicant]