Specialty coffee making is a subtle art. A careful fine-tuning of one or more different types of parameters such as coffee grind, brewing temperature, amount of coffee, amount of water, brewing time, etc. is required to get a desired taste. Furthermore, coffee roasters may create recipes based on, for example, the type of coffee beans, the roast, and the roasters' own experience. However, it is difficult to recreate these recipes at a home or commercial environment because users (i) may have different types of coffee machines with different types of configurable parameters, and (ii) lack the knowledge/expertise to adjust parameters based on, for example, the bean and/or roast. Therefore, there is a gap between a roaster's recipe and the coffee brewed by individual coffee machines at homes (or at businesses).
Other objects and advantages of the present disclosure will become apparent to those skilled in the art upon reading the following detailed description of exemplary embodiments and appended claims, in conjunction with the accompanying drawings, in which like reference numerals have been used to designate like elements, and in which:
The figures are for purposes of illustrating example embodiments, but it is understood that the present disclosure is not limited to the arrangements and instrumentality shown in the drawings. In the figures, identical reference numbers identify at least generally similar elements.
Wired and/or wireless networks can be used to connect brew machines (e.g., coffee machines) with devices to enhance the brewing experience. Certain examples provide automatic configuration of drink recipes (including, for example, brewing parameters targeted to a specific machine) on a connected brew machine upon selection of a coffee or tea that is to be used with a brew machine. Recipes can be generated by remote experts (e.g., specialty coffee roasters, baristas, etc.) and downloaded to a connected brew machine for a brew to be optimized (e.g., for the bean, roast, drink selected, etc.) for a specific bean and/or roast as well as the brewing machine to produce a consistent (or nearly consistent) beverage.
Certain embodiments include a new roaster application (e.g., configured to be executed by a processing device) that allows a roaster (or otherwise recipe creator) to create and customize brew recipes (e.g., coffee/tea drink recipes tailored to a specific brew machine or a type of brew machine) that can be accessed by connected brew machines and/or connected grinder machines. In some embodiments, the roaster application may transmit the recipes to a connected brew machine and/or to a connected server so that other devices (e.g., connected brew machines, processing devices, etc.) can access the recipes. In some embodiments, the roaster application may instruct a connected brew machine to upload the recipes to a server so that other devices (e.g., connected brew machines, processing devices, etc.) can access the recipes. In other embodiments, the connected brew machine may provide the recipes directly to other devices (e.g., connected brew machines, processing devices, etc.) so they can access the recipes.
In some embodiments, the roaster application, which may execute on a processing device, provides an interface for the roaster (or otherwise recipe creator) to interact with a brew machine, a grinder machine and/or a connected server. For example, a communication may be established between the roaster application and the brew machine (and/or the grinder machine) through the server (although a direct, local communication between the roaster application and the brew machine is also considered within the scope of this disclosure). To generate a coffee recipe, for example, the roaster application provides an interface for the roaster (or otherwise recipe creator) to enter one or more parameters associated with the coffee beans (e.g., type, color, roast level, etc.). In some embodiments, once the beans are in a hopper that is associated with the brew machine, the brew machine may perform a grind calibration using, for example, a two-stage process. In the first grinding stage, the brew machine initiates grinding of the beans using a default calibration grind setting (e.g., a grind setting established at the factory) that can be used to characterize the beans with respect to a reference bean that was used for initial calibration (e.g., a reference bean used at the factory with a grind setting established at the factory). The beans are then evaluated to determine one or more parameters associated with the first grinding stage. For example, one parameter may be the amount (e.g., weight) of ground beans produced during the first grinding stage. The one or more parameters for the first grinding stage may be uploaded, by the roasting app, the brew machine, and/or the grinder machine, to the server and used to determine one or more initial brew parameters for the recipe associated with the beans. In the second grinding stage, the brew machine (and/or the grinder machine) initiates grinding of the beans until an amount of ground coffee in the brewer assembly is maximized (e.g., as measured by a sensor in the brew machine or the grinder machine). This may be used to determine, for these beans, the maximum amount of beans that can be input into the machine. This can be reflected, for example, as a parameter limit in a user interface for customizing drink recipes with these beans. The initial brew parameters for the recipe may be updated to reflect additional information gathered from the second grinding stage. The roaster (or otherwise recipe creator) can modify the recipes, e.g., by using sliders or other tools in a graphical user interface (GUI), to further customize the recipes to the roaster's particular taste and/or preference. Once modified, the recipes may be stored by the server and associated with the roaster and/or bean type for connected brew machines to download and replicate the recipes.
In some embodiments, a connected brew machine may be connected via a wired or wireless data network to the server to access and download the recipes. The brew machine may include an interface for a user to select a drink recipe such as, for example, an americano, an espresso, a hot tea, a cold brew, etc. Once a recipe is selected, the brew machine can start brewing the drink. In some examples, when a drink recipe is selected, the brew machine downloads the recipe from the server, adjusts the brew parameters according to the recipe, and starts brewing the drink. Some example brew parameters include, amount of coffee to be used, grind size, amount of water to be used, ratio of coffee to water, soak time of the coffee grounds, coffee cake density, target brew temperature, etc.
Certain embodiments include a brewer application that allows a user to interact with the brew machine to select the bean type, customize recipes, and create drinks, among other things. For example, a communication may be established between the brewer application and the brew machine through a server (although a direct, local communication between the brewer application and the brew machine is also considered within the scope of this disclosure). The brewer application may present a user interface (e.g., GUI, voice interface, etc.) for interacting with the brew machine. The user interface may include multiple sliders, buttons, selectable objects, etc. such that interacting with the sliders, buttons, selectable objects, etc. may enable a user to customize drink recipes by adjusting brew parameters. Additionally, the brewer application may be used by the user to provide feedback on, for example, drink selections, customized parameters, etc. that can be accessed by the roasters (or otherwise recipe creators) to better understand how users are using their beans and/or recipes. The feedback may also include user input such as, for example, “thumbs up/thumbs down,” “burnt taste,” “too watery,” “too tepid,” etc. The feedback may be used, for example, to automatically modify a recipe (e.g., if the feedback is consistent for one particular brew parameter, that parameter may be automatically modified), and/or to provide feedback to the roasters (or otherwise recipe creators). Therefore, two-way communication may be established between the roasters (or otherwise recipe creators) and the users to share and fine tune different coffee recipes.
Embodiments disclosed herein allow developing hot and cold brew drinks in a single connected brew machine, while conventional brewing devices may be inadequate for that purpose. Conventionally, two separate brewing devices are maintained for hot brew and cold brew beverages because of the competing requirements of cooling and heating mechanisms. A separate cold brew device may include cooling components (e.g., heat exchangers) to get to a cold brew temperature. Because the heating and cooling generally involve separate, non-compatible technologies; the conventional practice has been therefore to maintain two different devices. The embodiments disclosed herein attempt to overcome these and other shortcomings of conventional brewing devices.
In an embodiment, a single brew machine may be used to generate both hot brew and cold brew beverages. For example, in a hot brew mode, heating elements are typically enabled to heat the different brewing components to a target hot brew temperature. Alternatively, in a cold brew mode, it is desirable to cool the brewing components to a target cold brew temperature that is less than the target hot brew temperature. For the cold brew mode, the heating elements may be disabled and different mechanisms (e.g., mechanical actuation) may be used for the brewing components to meet a target cold brew temperature. For example, a centrifugal brewer assembly may be rotated at a high rpm (revolutions per minute) before adding coffee grinds to the brewer assembly to pull hot air away from the brew machine and cool the brewing components. Additionally or alternatively, cold water may be run through the brewing components prior to brewing to cool the brew components to a target cold brew temperature. In some environments, cooling the brew components may involve cooling the cold water through mechanisms such as ice cubes placed in the water tank, etc. to reach the desired temperature. The switching between the hot brew and cold brew modes introduces new design challenges for a single brew machine (e.g., single centrifugal brewer, single water reservoir, etc.). For instance, to achieve such switching between hot and cold brew modes, heaters may be turned on (or enabled) for the hot brew mode and turned off (or disabled) for the cold brew mode, concomitantly with other cooling mechanisms such as, for example, blowing or pulling air through the machine and/or spraying cold water onto components to help cool them down.
Combining a hot brew mode and cold brew mode introduces additional design considerations. For example, a hot brew machine can automatically implement cleaning procedures to eliminate bacteria and mold from forming in the machine by heating the machine to temperatures that may kill bacteria and sanitize the machine. However, these procedures oppose the cold temperature that may be used by a cold brew machine. In some embodiments, the brew machine may provide a cleaning mode that works for both hot brew and cold brew modes. For example, a cleaning mode (e.g., to preempt bacteria and mold growth in the brew machine due to the cold brew process) may include heating components in the brewer and passing hot water through the system and out through a drain. However, consideration must be made when these procedures are enacted to avoid unnecessarily heating a brew machine that is being used for brewing cold brew beverages. The cleaning procedures may be invoked after a timer duration to avoid unnecessarily heating the machine when making several cold brew drinks. For example, a timer may be set such that the duration is a pre-determined time value since the last beverage was brewed.
In an embodiment, a beverage machine configured to selectively operate in a brew mode selected from a hot brew mode and a cold brew mode is provided. The beverage machine may include a temperature sensor; a brewing component; a processor; and a tangible, non-transitory computer readable medium storing computer program instructions, that when executed by the processor, cause the beverage machine to perform operations, in the cold brew mode, comprising: detecting, via the temperature sensor, a temperature of the brewing component; determining that the temperature is above a cold brew target temperature; causing a fluid circulation adjacent to the brewing component until the temperature reaches the cold brew target temperature; and after the temperature reaches the cold brew target temperature, cold brewing a beverage using the brewing component at the cold brew target temperature.
In another embodiment, a computer implemented method is provided. The method may include receiving, by a computing device, at least one roast parameter of coffee beans to be processed at a first brewing machine, the first brewing machine includes a grinding process to grind coffee beans for brewing; transmitting, by the computing device, the received at least one roast parameter to the first brewing machine; receiving, by the computing device, at least one grinder parameter for the coffee beans, the at least one grinder parameter being generated by the first brewing machine based on one or more grinding cycles; displaying, by the computing device in a graphical user interface, at least one customizable recipe parameter for a drink associated with the coffee beans, the at least one customizable recipe parameter based on the at least one grinder parameter; receiving, by the computing device through the graphical user interface, an adjustment to the customizable recipe parameters; generating, by the computing device, a recipe for the drink, the recipe based on the adjustment to the at least one customizable recipe parameter; transmitting, by the computing device, the recipe for the drink to a second brewing machine; and instructing, by the computing device, the second brewing machine to brew the drink.
In another embodiment, a system is provided. The system may include a temperature sensor; a brewing component configured to selectively operate in a brew mode selected from a hot brew mode and a cold brew mode; a processor; and a tangible, non-transitory computer readable medium storing computer program instructions, that when executed by the processor, cause the system to perform operations, in the cold brew mode, comprising: detecting, via the temperature sensor, a temperature of the brewing component; determining that the temperature is above a cold brew target temperature; causing a fluid circulation adjacent to the brewing component until the temperature reaches the cold brew target temperature; and after the temperature reaches the cold brew target temperature, cold brewing a beverage using the brewing component at the cold brew target temperature. The system may further include a grinder machine configured to grind beans for the beverage responsive to receiving a message from the processor.
In yet another embodiment, a method implemented on a beverage machine is provided. The method may include in a cold brew mode, selected from a hot brew mode and the cold brew mode: detecting, via a temperature sensor of the beverage machine, a temperature of a brewing component of the beverage machine; determining that the temperature is above a cold brew target temperature; causing a fluid circulation adjacent to the brewing component until the temperature reaches the cold brew target temperature; and after the temperature reaches the cold brew target temperature, cold brewing a beverage using the brewing component at the cold brew target temperature.
These are all but a few technical advantages of the several embodiments described herein. Other advantages may be apparent upon reading of the detailed description and related drawings. Furthermore, it should also be understood that although the examples described herein pertain to coffee machines and specific reference to coffee is described, these examples may apply to other beverages as well, such as tea or other brewed drinks. It should also be understood that examples described herein reference a roaster and/or roaster app, these examples may apply to other users that desire to share drink recipes and are not limited to roasters.
While some examples described herein may refer to functions performed by given actors such as “users” and/or other entities, it should be understood that this is for purposes of explanation only. The claims should not be interpreted to require action by any such example actor unless explicitly required by the language of the claims itself
1. Example Network Environment
The network 102 may include any type of network that may facilitate communication between devices of the network environment. The network 102 may include wired communication links, wireless communication links, and/or networking components such as switches, routers, and repeaters. It should therefore be generally understood that the network 102 may include a combination of a plurality of packet switching networks and/or a plurality of circuit switching networks. For instance, the network 102 may include local area network (LAN), metropolitan area network (MAN), and/or wide area network (WAN) such as the Internet.
The file storage 104 may include any type of database that may store files (e.g., recipe files, user/roaster information, bean information, brew machine information, etc.) and/or any other type of data in the network environment 100. The file storage 104 therefore should be understood as including hardware components (e.g., hard drives, solid state drives) and software components (e.g., data storage schemas). Although the file storage 104 is shown as a single device, it should be understood that the file storage 104 may represent multiple, geographically distributed devices. In other words, the file storage 104 may have multiple hardware and software components distributed throughout the network environment 100.
The remote processing device 106 may be any kind of computing device that may operate as a server for facilitating client-server relationships with the processing devices 108, 120, and 126, brew machines 112, 116 and 122, and/or grinder machine 128. Non-limiting examples of the remote processing device 106 may include server computing devices, desktop computing devices, laptop computing devices, mobile computing devices, and/or cloud computing devices. As with the file storage 104, the remote processing device 106 may represent multiple devices distributed throughout the network environment 100. At minimum, the remote processing device 106 may include a memory that may store computer program instructions and a processor coupled to the memory that may execute the computer program instructions to realize, at least partially, the functionality described herein.
The brew machines 112, 116, and 122 may include any kind of brew machine that may generate a drink using a brewing process such as, for example, coffee machine, espresso machine, etc. An example brew machine is described below and shown in
In the example network environment 100, the brew machine 112 may be used by a roaster 110. The roaster 110 may use the processing device 108 to interact with and control the brew machine 112. In some embodiments, the roaster 110 may use the processing device 108 to interact with and control a grinder machine. The processing device 108 may execute a roaster application assisting the roaster 110 to create and customize various drink recipes.
In the example network environment 100, the brew machines 116 and 122 may be used by users 114, 118, and 124. The users 114 and 118 may interact directly with the brew machines using an interface on the brew machine (see, for example, the user interface shown in
In operation, the roaster 110 may generate a recipe using the brew machine 112 and the roaster application running on the processing device 108. The brew machine 112 may generate, for example, for a particular bean and roast, drink recipes including parameters associated with the bean grind, ratio of coffee to water, etc. The roaster 110 may use the interface of the roaster application to determine the drink recipes. The drink recipes may be uploaded to the remote processing device 106, which may store the recipes in the file storage 104. Other brew machines 116 and 122 may download the stored recipes via the remote processing device 106 and implement the recipes.
2. Example Brew Machine
With regards to the example components shown in
The hot or cold brew beverage is created by the brewing assembly 201 and delivered to an awaiting vessel (e.g., cup) via the spout 228. After the brewing is complete, the residue (e.g., coffee or tea) particles are expelled from the brewer 224 into the residue container 204. The drip tray 208 is used to catch any excess liquid generated when the brewed drink is being dispensed. The drip tray 208 is also used to catch other fluids, e.g., cold/hot water used for cooling/heating the brew machine 200 and/or hot water used for cleansing the brew machine 200. In some embodiments, sensors are used on and/or around the drip tray to detect that a vessel (e.g., cup) is present for brewing and avoid starting a brew if a vessel is not present. For example, a pressure sensor may be used to determine if a vessel is placed on the drip tray. The interface 210 may allow a user to communicate with the brew machine, for example, to select a drink to be brewed, start a brew, etc. The interface 210 may also provide a status indication of a drink and/or of the brew machine 200. The brewer assembly 201 may include components that may receive ground beans and water to generate a drink through any kind of brewing mechanism, e.g., centrifugal brewing.
The aforementioned description includes a few examples of components of a brew machine 200. Additional, alternate, or fewer number of components should also be considered within the scope of this disclosure.
Although
In one example, the processor 402 may be a clock-driven computing component configured to process input data according to instructions stored in the memory 406. The memory 406 may be a tangible computer-readable medium configured to store instructions executable by the processor 402. For instance, the memory 406 may be data storage that can be loaded with one or more of the software components 404 executable by the processor 402 to achieve certain functions, e.g., the several functions disclosed herein. In one example, the functions may involve the brew machine 400 retrieving data (e.g., recipes, bean/roast information, user information, etc.) from a server, a processing device, and/or another brewing machine. In another example, the functions may involve the brew machine 400 sending data (e.g., recipes, usage data, etc.) to a server, a processing device, and/or another brewing machine. In yet another example, the functions may involve pairing of the brew machine 400 with one or more other network connected devices (e.g., an external grinder, an external milk frothing device, etc.).
In some examples, specialized processor hardware and/or specialized software modules may be used to support voice interactions/experiences with the brew machine. Voice capture (e.g., microphone) and response (e.g., speaker) are supported within the architecture of the brew machine within the block's sensor(s) 422 and user interface 412. Additionally, voice detection and/or user intent may be processed locally on the brew machine using processor 402 and software components 404 and/or transmitted/received over the network interface 414 to/from a remote processing device for remote processing.
The memory 406 may further be configured to store data associated with the brew machine 400, such as user information, recipe information, bean/roast information, etc. The data may be stored as one or more state variables that are periodically updated and used to describe the state of the brew machine 400. The memory 406 may also include the data associated with the state of the other devices (e.g., a second brew machine, grinder device, milk frothing device, etc.) of the network environment 100, and shared from time to time among the devices so that one or more of the devices have the most recent data associated with the system. The types of data described herein are a few examples, and any type of data stored by the memory 406 should be considered within the scope of this disclosure.
The user interface 412 (which may be, for example, similar/identical to the interface 300) of the brew machine 200) may be configured to facilitate user access and control of the brew machine 400. The user interface 412 may include sliders, buttons, selectable objects, etc. such that interacting with the sliders, buttons, selectable objects, etc. may enable a user to initiate a brew, customize drink recipes by adjusting brew parameters, configure a user profile, configure the brew machine, send feedback, etc. Other user interfaces of varying formats, styles, and interactive sequences may alternatively be implemented on one or more brew machines to provide comparable control.
The one or more sensors 422 may comprise temperature sensor(s), a microphone, a measurement scale, and/or other sensors that can assist with the brewing process (including grinding beans), the user interface, troubleshooting, etc. of the brew machine 200.
The brewer assembly 410 may use any number of technologies for brewing such as, for example, centrifugal brewing, pressure-based brewing, percolate brewing, etc. Example centrifugal brewing machines include those described in U.S. Pat. Nos. 8,039,033, 10,863,855, and U.S. patent application Ser. No. 16/636,841, all of which are incorporated herein by reference.
The grinder assembly 408 may include, for example, a burr grinder that takes coffee beans as input from a bean hopper (e.g., bean hopper 202 of brew machine 200) and outputs ground coffee beans into a brewer assembly 410. Alternatively, an external grinder may be used to grind coffee beans which can be input into the brewer assembly 410.
The network interface 414 may be configured to facilitate a data flow between the brew machine 400 and one or more other devices on a data network. As such, the brew machine 400 may be configured to receive recipes over the data network from one or more other brew machines and/or processing devices in communication with the brew machine 400, a brew machine and/or processing device within a local area network, or a brew machine and/or processing device over a wide area network such as the Internet. In one example, the recipes and other signals transmitted and received by the brew machine 400 may be transmitted in the form of digital packet data containing an Internet Protocol (IP)-based source address and IP-based destination addresses. In such a case, the network interface 414 may be configured to parse the digital packet data such that the data destined for the brew machine 400 is properly received and processed by the brew machine 400.
As shown, the network interface 414 may include wireless interface(s) 416 and wired interface(s) 418. The wireless interface(s) 416 may provide network interface functions for the brew machine 400 to wirelessly communicate with other devices (e.g., other brew machine(s), external grinder(s), milk frothing component(s), processing devices(s), network storage device(s) within a data network the brew machine 200 is associated with) in accordance with a communication protocol (e.g., any wireless standard including IEEE 802.11a, 802.11b, 802.11g, 802.11n, 802.11ac, 802.15, 4G, 5G mobile communication standard, and so on). The wired interface(s) 418 may provide network interface functions for the brew machine 400 to communicate over a wired connection with other devices in accordance with a communication protocol (e.g., IEEE 802.3). While the network interface 414 shown in
3. Example Control of the Brew Machine
A brew machine (e.g., the brew machine 200 that may be configured to be one or more of the brew machines 112, 116, 122 of the example network environment 100 of
As an example, with reference to the network environment 100 of
The user 118 may further identify a coffee bean/roast to be used for brewing in the brew machine 122. For example, a user may identify the coffee bean/roast by selecting the coffee bean/roast from among a list of supported coffee bean/roast descriptors. In another example, the coffee bean/roast may be identified based on a purchased history of the user 118. The purchase history may be available remotely in the file storage 104 and/or may be available locally on the processing device 120. In another example, the user 118 may capture an image of a coffee bag and/or other identifying information of the bean/roast, e.g., using an imaging sensor (e.g., camera on the processing device 120) and/or a photo or video of the coffee bag or other identifying information together with an application running on the processing device 120 to identify the coffee bean/roast being used. In yet another example, the user 118 can manually enter (e.g., using the brewing application executed on the processing device 120) the information identifying the coffee bean/roast.
After the identification of the coffee bean/roast, drink recipes associated with the coffee bean/roast can be downloaded onto the brew machine 122 based on the identified coffee bean/roast. An example process flow may include: (i) the brewer application running on the processing device 120 transmitting a message to the remote processing device 106, the message including the identification of the coffee bean/roast and brew machine 122 to the remote processing device 106; (ii) the remote processing device 106 determining the one or more recipes using the identification of the coffee bean/roast and the brew machine 122; and (iii) the remote processing device 106 providing the recipes to the brew machine 122. In one example, the brew parameters can be determined using a classification of the beans such as a bean color (e.g., light, medium light, medium, medium dark, dark, etc.) and/or a bean size (e.g., small bean, medium bean, large bean, etc.). In another example, the brew parameters can be determined using the identified bean/roast (with potentially additional information such as the roast date, etc.).
As discussed above, the drink recipe may include parameters including the coffee bean, the roast, and specific details of the brew machine. Additionally, the recipe may consider location information of the brew machine which may be determined, for example, via user registration, reverse IP address look-up procedures, etc. For example, coffee drinks in Italy may vary from those served in the United States. The variations may be on the type of coffee drinks offered, ratio of water to coffee, amount of coffee, etc. The selectable drink options and corresponding recipes may therefore be different for different regions to accommodate these variations. For example, upon identification of the location information of the brew machine, a server (e.g., remote processing device) providing recipes to a brewing machine may select recipes (e.g., including drink options) associated with the identified location to provide to the brew machine. The recipes may also be based on the roaster. For example, roasters may have fine-tuned the brew parameters to emphasize particular flavors of specific coffee beans and/or coffee roasts, and/or the roasters may have their own specialty drinks. For example, upon identification of a particular roast/bean being used in a brew machine and/or the identification of a particular roaster the brew machine is identified with, a server (e.g., remote processing device) providing recipes to a brewing machine may select and provide recipes (e.g., including drink options) associated with the identified roast/bean and/or roaster to the brew machine. Therefore, the selectable drink options and corresponding recipes may be customized based on the roaster. The selectable drink options and corresponding recipes may also be based on coffee houses and/or other drink establishments and/or specialty baristas, which may have their own custom drinks and/or drink recipes. For example, a specialty barista may be selected as a recipe creator for a brew machine, and as a result of the selection, the default recipes and/or drinks provided on the brewing application for the brew machine are associated with the specialty barista. This enables users all over the world to connect and share recipes.
As an example, with reference to the network environment 100 of
Referring back to
In another example embodiment, a user may share (e.g., in a social network fashion) their customized settings for other users to download for their connected brewing machines. For example, a link that points to a file including the user's brewing settings may be provided. This can be used to share recipes, promote users as recipe creators, promote beans/roasts, among other things.
4. Example Brew Flow
In block 602 a drink is selected for brewing. For example, the drink may be selected using either (i) a brewer application that is executing on a processing device, which may further communicate with a brew machine to make the drink, or (ii) using an interface (e.g., interface 300 shown in
In block 604, a determination is made whether the recipe corresponding to the drink selection is already on the brew machine or if the brew machine needs to download the recipe. For example, if the drink selection was made using an application (e.g., brewing application) on a processing device, then the recipe may need to be downloaded onto the brew machine prior to brewing. If however, the drink selection was made using an interface on the brew machine (e.g., using interface 300 of
In block 606, a recipe is downloaded onto the brew machine. In one example, the brewer application executing on a processing device transmits a message to a remote processing device, the message including a drink selection, a bean selection, a brew machine identifier (e.g., the brew machine identifier may be used to determine the make, model, revision, configuration and/or calibration parameters, etc.), configuration and/or calibration parameters, and the like. After receiving the message from the processing device, the remote processing device determines a recipe corresponding to the drink selection, the bean selection, the brew machine, configuration and/or calibration parameters, and the like. The recipe may be further modified based on parameters further configured by the user (e.g., through the sliders 542 as shown in
In block 608, the brew status may be verified (e.g., by the brew machine). The verification of brew status may include several different checks and operations. For example, the brew machine may verify there is enough water in the water reservoir tank to make the selected drink. A sensor on the brew machine can be used to detect the water level; based on the recipe of the drink selected (and taking into account the amount of water for cleaning), the brew machine may determine if there is enough water to make the drink. In some embodiments, there may be two or more sensors used to measure various water levels in the water reservoir tank. For example, when the water tank is filled, a HIGH level sensor is activated. A counter may then be used to determine how many big and small drinks may be made using the water level detected by the HIGH level sensor. When the water level reaches a LOW level sensor, the counter may be updated and a correction to the counter may be made (e.g., the number of drinks that may be made be significantly lower).
The verification of the brew status may further include verifying if there are enough coffee beans in the hopper to make the selected drink. For example, a sensor (e.g., infrared sensor, weight sensor/scale, optical camera, etc.) may be used to determine if there are enough beans to make the selected drink. For the sensors using mechanisms other than weight to make the sufficiency determination, a calculation may be made to approximate the amount of beans (e.g., in weight, volume, or count) that may be desired for the drink. This calculation may consider characteristics (e.g., water absorption, etc.) of the specific bean/roast.
The verification of the brew status may also include verifying that the drip tray has sufficient room to make the selected drink and/or is not full. In an embodiment, a drink counter may be used to estimate if the drip tray is full. The drink counter can be reset each time the drip tray is removed and reinserted. The drink counter may count each drink made and concomitantly estimate how much water is used for pre-heat, serving, post-flushing, cleaning, etc. for each drink made. Using the drink counter may therefore provide an estimate of the amount of water in the drip tray. Therefore, prior to starting a new drink, the drink counter may be checked to determine if there is enough room for the new drink. In another embodiment, a sensor located in/around the drip tray may be used to determine the water level in the drip tray. Based on the water level, a determination may be made whether there is enough room in the drip tray to make the selected drink, including the post-flushing and cleaning steps.
The verification of the brew status may further include verifying whether the residue container (that may store the spent coffee grounds) has enough room to make the selected drink and/or is not full. A sensor such as a weight sensor/scale measuring the calibrated residue container, an infrared sensor measuring the height of the spent coffee grounds, internal optical camera visually detecting the amount of spent coffee grounds may be used to determine if there is sufficient room in the residue container for the spent coffee grounds from the new drink after it is made.
The verification of the brew status may further include verifying whether there is a vessel (e.g., cup) located under the spout to receive the brewed drink. One or more sensors such as weight sensors, infrared sensors, camera sensors, etc. may be used to determine whether a vessel is present.
In block 610, a determination is made whether the selected drink will be brewed cold or hot. For example, the determination may be based on user input that is, for example, explicit (e.g., user selects “hot drink” vs “cold drink”) or implicit (e.g., user selects “cold brew” vs. “americano” or “espresso”), etc. In one example, the user input may be through a user interface on a processing device that is associated with (or connected to) the connected brew machine. In another example, the user input may be through an interface directly on the brew machine. If the selected drink is brewed cold, then block 612 is executed; else block 616 is executed.
In block 612, a determination is made if the temperature of the brewing system (e.g., temperature of components in the brewer assembly, ambient internal temperature of the brew machine, etc.) meets a target cold brew temperature. The target temperature for cold brew may be significantly below the target temperature for hot brew. In other words, there may be no overlap in target temperatures between the hot brew mode and the cold brew mode. If, in block 612, it is determined that the temperature of the brewing system is warmer than the target cold brew temperature, then a cooling procedure is invoked in block 614. Otherwise, the brewing system prepares to brew.
In block 616, a determination is made if the brewing system (e.g., temperature of components in the brewer assembly, ambient internal temperature of the brew machine, etc.) meets a target hot brew temperature. The target temperature for hot brew may be significantly above the target temperature for cold brew. In other words, there may be no overlap in target temperatures between the hot brew mode and the cold brew mode. If in block 616, it is determined that the temperature of the brewing system is cooler than the target hot brew temperature, then a heating procedure is invoked in block 618. Otherwise, the system prepares to brew.
In example embodiments, one or more temperature sensors in the brew machine (e.g., temperature sensors positioned on or near the gutter heating element, the water heating element, and/or top plate of the brewer assembly) are used to measure the temperature of the brewing components (e.g., gutter heating element, water heating element, etc.) and also to measure the ambient/internal temperature of the brew machine. These temperature measurements are performed in block 612 (for cold brew) and block 616 (for hot brew).
In an embodiment, a temperature sensor may be positioned on, inside, or near the flow-through heater to determine the approximate temperature of the brewer assembly. The sensor values measured by the temperature sensor may be stored in the firmware and may be used to determine if the brewer assembly needs to be heated or cooled. Additionally, the firmware may determine a target brew temperature based on the drink type and the temperature from the one or more temperature sensors. Other parameters may be modified based on the measured temperature(s). For example, depending on the temperature measurements, a higher/lower flow rate may be used (e.g., water at 10 degrees Celsius may need a lower flow rate than water at 24 degree Celsius).
In block 614, a cooling procedure is invoked to cool the brew machine until the brewing system is measured to be below the target cold brew temperature. For example, a target cold brew temperature for ambient temperature inside the brew machine is typically less than 75° C. However, it may not be uncommon for the internal ambient temperature inside the brew machine to be much higher than 75° C. when the machine is used for both hot and cold brew. In fact, cooling the brew machine down after a hot brew may take several hours without proper cooling procedures. In some examples, the target cold brew temperature is a brew parameter that is provided in the recipe.
Different types of cooling procedures may be used to cool the brew machine. For example, heating elements and/or other elements of the brew machine that generate heat may be turned off. Additionally one or more internal fans may be used to pull heat away from the machine. Additionally or alternatively, a brew machine using a centrifugal brewer assembly may be air cooled by spinning the brewer assembly while empty to pull air away from the brewing system. The brew machine may also use a water cooling procedure, by adding cold (i.e., unheated or chilled) water to the brewer assembly and spinning the centrifugal brewer assembly at a high rpm to spray the cold water to the different components. For hot environments, users may be asked to put ice water inside the water reservoir tank. The excess water may then be drained to the drip tray prior to brewing the cold brew.
In some embodiments, both water and air cooling may be applied simultaneously. For example, with reference to the brew machine in
In block 616, a heating procedure is invoked to heat the brew machine until the brewing system is measured to be above the target hot brew temperature. For example, to achieve a preferred first-cup temperature between 75-80° C., the impact surfaces of the brewing system may be heated above that temperature.
In an example pre-heating procedure, the gutter heating element temperature may be determined using a temperature sensor placed at or around the gutter heating element. If, for example, the temperature of the gutter heating element is determined to be below 60° C., the gutter heating element can be operated in a BOOST mode by activating a 400 W heating element. If, however, the temperature of the gutter heating element is determined to be above 60° C. (which may be a standby temperature for hot drinks), the brew machine may be heated to a target hot brew temperature without the BOOST mode. In some examples, the target hot brew temperature is a brew parameter that is provided in the recipe.
In another example pre-heating procedure, the brew machine temperature may be determined using one or more temperature sensors described above. If, for example, the temperature of the brewing system is determined to be below the target hot brew temperature, water may be heated and passed through the empty brewer assembly to heat the system. For example, with reference to the brew machine in
In block 620, after the measured temperature meets the target hot/cold brew temperature, a preparation may be made (e.g., by the brew machine) for brewing. The preparation procedures may be specific to the selected drink recipe. In one example, the preparation procedures may include grinding coffee beans. Depending on the selected recipe, a different measure (or weight) of ground beans may be desired. Once the beans are ground, they may be moved into the brewer assembly and pre-moistened. For cold brews, the water used for the pre-moisten process is cold, and a finer grind (compared to traditional non-espresso hot brew drinks) may be desired. For example, using a burr-grinder and centrifugal brewer assembly, the coffee beans may be ground to approximately 200-400 microns for a cold brew (similar to espresso), compared to a spectrum of approximately 400-1200 microns for hot brews. This is because cold water may need a larger surface area to extract the coffee flavor and therefore finer grounds are more suitable for cold brew. This unusually-small particle size would not be compatible with filters traditionally used for cold brew. The ground coffee may be tamped against a filter (e.g., with ˜200 micron holes) in the brewer (e.g., with centrifugal force of spin 4000 rpm), wherein the tamping pressure may be specific to the drink and/or coffee beans/roast, and may be dictated by the brew parameters in the recipe.
In block 622, the drink may be brewed (e.g., by the brew machine). Based on the recipe, a measured amount of hot/cold water is used for a specified duration of time for proper coffee extraction. For a hot brewed beverage, the water supplied to the brewing chamber and elements of the brewing assembly are heated during the brewing process (e.g., as described in U.S. patent application Ser. No. 16/636,841 which is incorporated herein by reference in its entirety). For example, with reference to the brew machine in
In block 624, an indication may be provided (e.g., by the brew machine) that the drink is ready. The indication may be visual (e.g., through an LED light) or audio (e.g., through a beep or voice notification).
In block 626, the brew machine is cleansed. Once the coffee extraction is complete in block 622, the coffee grounds are dried and expelled to the residue container. A cone heater may be used to heat the machine to expel the grinds. The lines may be cleaned, and the waste water may be drained to the drip tray.
For cold brews, additional cleaning procedures may be performed in the cleansing block 626. The cleaning procedures may be desired to add hot water and steam to the various parts of the brew machine to keep it mold free. However, the cleaning procedures may be invoked after a timer duration to avoid unnecessarily heating the machine when making several cold brew drinks. For example, 15 minutes after a cold brew, the gutter heating element can be turned on and the water is heated to 95° C. The heated water is flushed through the brewer assembly. A background drying mode may also be turned on and the brewer is rotated at a low rpm. The cleansing mode may be delayed so that it does not interfere with additional cold brews as the cleansing process involves heating steps that are counter to the cold brew process.
An optional block (not shown) allows a user to provide feedback on the drink. The feedback may be provided through the brewing application on a processing device (such as, for example, as simple as “thumbs up” or “thumbs down” or more complex such as “too watery,” “burnt flavor,” etc.) and/or using an interface on the brew machine. Depending on the feedback, the recipe may be changed (e.g., automatically by the remote computing device) and/or the feedback may be provided to the roaster.
The aforementioned cooling processes 700A and 700B are just but a few examples of cooling the internal components of a brew machine. It should be understood that any kind of cooling mechanism, e.g., through mechanical actuation or chemical process, should be considered within the scope of this disclosure.
5. Example Roaster Flow
In block 802, the roaster application executing on a processing device may be associated with a brew machine. In some embodiments, the roaster application communicates with a remote processing device, which in turn communicates with the brew machine. In other embodiments, the roaster application may communicate directly with the brew machine through local wireless communication protocols such as, for example, Bluetooth, Wi-Fi, and/or Zigbee®.
In block 804, bean/roast parameters are input using the roaster application. For example, the roaster application may render an interface to receive the roaster parameters.
In block 806, a special task may be run to calibrate the grinder assembly for the corresponding bean/roast and produce a set of grinder parameters that characterize the bean/roast and can be used as input to recipes. An illustrative method incorporating the special task is shown in
In block 808, drink recipes are updated with the grinder parameters determined during the special task. The grinder parameters are associated with the bean/roast name 902, photo 904, vintage 953, and other identifying information provided by the roaster. Once the grinder parameters are determined and the recipes are updated to reflect the parameters, the grinder parameters, recipes, and identifying information for each bean/roast may be sent from the brew machine to a remote processing device so they can be distributed to connected brew machines and/or connected grinder machines. It is also conceived that the grinder parameters, recipes, and/or identifying information for each bean/roast may be sent from the brew machine to another brew machine directly and/or to a grinder machine directly.
In block 810, a check is done whether the roaster wants to further customize any of the drink parameters. If the roaster does not want to further customize any drink parameters, block 818 is executed to conclude the method 800. If however, the roaster wants to further customize one or more drink parameters, block 812 is executed.
In block 812, the roaster application provides one or more interfaces for the user to customize the drink parameters.
The display 1030 may be generated, for example, if the roaster selects the option 1026 for customizing the recipe in display 1020. The display 1030 may allow a customization of drink parameters. In an embodiment, the drink parameters that may be customized include but are not limited to: drink type 1031, grind size 1032, temperature 1033, grind volume 1034, tamping speed 1035, water volume 1036, etc. Additional drink parameters that may be customized (not shown in the screen 1030) may include cup size, pre-moist water volume, water volume after tamping, brew speed welling, welling time, extraction volume, extraction speed, amount of water added to the drink (e.g., for an Americano), ratio of water to coffee (e.g., in an Americano), etc. Once a recipe is modified using the roaster app (e.g., through the screen 1030) and/or any other type of mechanism, the recipe is sent from the roaster app to the brew machine to be brewed and analyzed. For example, the roaster may select a “make recipe” button on the display 1030.
In block 814, the brew machine brews a drink with the modified recipe that was customized in block 812 and the resulting drink is analyzed. In some embodiments, the drink analysis includes subjective analysis by the roaster and/or objective analysis by the brew machine. For example, the roaster may evaluate the drink by taste, color, texture, temperature, etc. In another example, the brew machine may evaluate the drink using various sensors included in the brew machine. For example, temperature sensors may be used to determine if the brew was too hot/cold. In another example, image sensors using image processing may be used to determine the color and/or texture of the drink. The process of modifying the parameters (block 814) and evaluating the results (block 816) may be repeated until a satisfactory recipe is created.
In block 818, the drink recipe is updated with the modified parameters. The updated recipe may be finalized and uploaded to the remote processing device, for example, by the roaster selecting the “publish” button 1038 in the display 1030 shown in
In block 1104, the grinder assembly conditions are verified for the brew machine. This verification may include, for example, verifying that there are enough coffee beans in the hopper for a standard calibration grind. For example, a sensor (e.g., an infrared sensor, a weight sensor/scale, an internal optical camera, etc.) may be used to determine if there are enough beans in the hopper for calibration purposes.
In block 1106, the first grinding stage is used to determine, for a particular bean/roast, the yield or amount (e.g., weight) of beans that are ground based on a default yield calibration of the grinder assembly (e.g., using a reference bean and a grind setting established at the factory). For example, the brew machine grinds the coffee beans using default yield calibration parameters of the grinder assembly, which includes a grinder assembly distance (e.g., distance between two burrs in a burr grinder) and grinding time. The default yield calibration parameters may be established for each brew machine in a controlled environment (such as, for example, at the brew machine manufacturing facility) and using reference beans to calibrate the default yield. Once determined, the default yield calibration parameters for a machine can be stored in memory on the machine and/or on a remote processing device with a reference to the machine. When the first grinding stage is complete, the amount of coffee that was ground may be measured (e.g., weighed) and compared with the default yield to determine the grind parameters for the particular bean/roast. For example, if the grind yield was greater than the default yield, then the grinder parameter corresponding to the distance between the two burr grinders may be decreased. An example of the first grinding stage based on the default yield calibration may include the following operations: (i) the residue container may be calibrated by measuring the weight before the process begins; (ii) beans may be ground as part of the special task; (iii) the weight of the residue container may be measured after the grounds have been expelled into the residue container; (iv) the yield may be determined as the difference between the measured weight of the residue container after the calibration grind subtracting the measured weight before the calibration grind; and (v) the yield may be stored for the particular bean/roast. Another example of the first grinding stage based on the default yield calibration may include the following operations executed by a processor on the brewing device such as processor 402 on brew machine 400 in
In block 1108, based on the grinder yield, a grind recipe may be determined for the particular bean/roast. In other words, grinding parameters for the recipe may be determined by the brew machine. For example, by comparing the grinder yield for the particular bean/roast with the default yield of a reference bean/roast that was previously calibrated at the factory, new grinder parameters can be determined for the particular bean/roast. For instance, the grind recipe may be based on the default yield calibration performed in step 1106. The default yield may correspond to other drink parameters, e.g., a temperature, ratio of coffee to water, and these parameters may be downloaded from a remote processing device to determine the grind recipe. This recipe may be modified during and after the second grinding stage, as described below.
In block 1110, the brew machine and/or grinder machine may enter a second grinding stage, using the updated grinder parameters. The second grinding stage is used to determine the grinder assembly parameters (e.g., electric pulses of a stepper motor, grind time, etc.) for the particular bean/roast to produce a fixed amount of ground coffee. These parameters can be used to determine the maximum amount (i.e., weight) of coffee that can be used with the machine. In this step, the grinder assembly grinds the beans until an internal fill mark is reached. In one example embodiment, the determination of when the ground beans have reached the fixed amount may be determined using a sensor in the brewer assembly. For example, a resistance measurement inside the brewer (e.g., brewer 224 of
In block 1112, it may be determined that the internal fill mark is reached. For instance, the sensor may determine that the internal fill mark is reached, thereby indicating a maximum volume of the brew machine.
In block 1114, the grinder assembly stops grinding beans, in response to determining that the internal fill mark has been reached in block 1112.
At block 1116, the brew machine determines one or more updated grind parameters based on the time taken to grind the beans to the fill mark, and based on the updated grind parameters, the brew machine may calculate updated recipes for the beans. The updated recipes may be stored, for example, in a remote server/database, in association with the particular bean/roast such that the parameters may be downloaded to other brew machines that use these beans.
Once the grind parameters are determined for a bean, the maximum amount of coffee that can be supported in the brew machine can be determined, and can be used to auto-configure customizable values for the maximum coffee that can be used for all drinks using this bean/roast.
6. Example Processing Device
In some examples, the one or more processors 1210 include one or more clock-driven computing components configured to process input data according to instructions stored in the memory 1230. The memory 1230 may be a tangible, non-transitory computer-readable medium configured to store instructions executable by the one or more processors 1210. For instance, the memory 1230 may be data storage that can be loaded with one or more of the software components 1220 executable by the one or more processors 1210 to achieve certain functions. In one example, the functions may involve the processing device 1200 retrieving recipes from a brew machine or another processing device. In another example, the functions may involve the processing device 1200 sending recipes to another device or a brew machine on a network.
The network interface 1270 may be configured to facilitate a data flow between the processing device 1200 and one or more other devices on a data network, including but not limited to data to/from other processing devices, brew machines, storage devices, and the like. As such, the processing device 1200 may be configured to transmit and receive recipes over the data network from one or more other devices in communication with the processing device 1200, network devices within a local area network (LAN), or brew machines over a wide area network (WAN) such as the Internet. The processing device 1200 may also be configured to transmit and receive sensor input over the data network from one or more other devices in communication with the processing device 1200, network devices within a LAN or over a WAN such as the Internet.
As shown in
The processing device may include one or more sensor(s) 1240. The sensors 1240 may include, for example, inertial sensors (e.g., accelerometer, gyrometer, and magnetometer), a microphone, a camera, etc.
The user interface 1260 and display 1280 can be configured to facilitate user access and control of the processing device. Example user interface 1260 include a keyboard, touchscreen on a display, navigation device (e.g., mouse), etc.
Additional examples of the presently described method and device embodiments are suggested according to the structures and techniques described herein. Other non-limiting examples may be configured to operate separately or can be combined in any permutation or combination with any one or more of the other examples provided above or throughout the present disclosure.
It will be appreciated by those skilled in the art that the present disclosure can be embodied in other specific forms without departing from the spirit or essential characteristics thereof. The presently disclosed embodiments are therefore considered in all respects to be illustrative and not restricted. The scope of the disclosure is indicated by the appended claims rather than the foregoing description and all changes that come within the meaning and range and equivalence thereof are intended to be embraced therein.
It should be noted that the terms “including” and “comprising” should be interpreted as meaning “including, but not limited to”. If not already set forth explicitly in the claims, the term “a” should be interpreted as “at least one” and “the”, “said”, etc. should be interpreted as “the at least one”, “said at least one”, etc. Furthermore, it is the Applicant's intent that only claims that include the express language “means for” or “step for” be interpreted under 35 U.S.C. 112(f). Claims that do not expressly include the phrase “means for” or “step for” are not to be interpreted under 35 U.S.C. 112(f).
This application is related to U.S. Pat. Nos. 8,039,033, 10,863,855, and U.S. patent application Ser. No. 16/636,841, all of which are incorporated herein by reference.