Patent Description:
The present invention relates to a micro puree machine.

Machines for making ice creams, gelatos, frozen yogurts, sorbets and the like are known in the art. Typically, a user adds a series of non-frozen ingredients to a bowl. The ingredients are then churned by a paddle while a refrigeration mechanism simultaneously freezes the ingredients. These devices have known shortcomings, including the amount of time and effort required by the user to complete the ice cream making process. Machines of this nature are also impractical for preparing most non-dessert food products.

An alternative type of machine for making a frozen food product is a micro-puree machine. Typically, machines of this nature spin and plunge a blade into a pre-frozen ingredient or combination of ingredients. While useful for making frozen desserts like ice creams, gelatos, frozen yogurts, sorbets and the like, micro-puree style machines can also prepare non-dessert types of foods such as non-dessert purees and mousses. In addition, the devices can prepare either an entire batch of ingredients to be served or a pre-desired number of servings. Known machines of this nature are generally commercial-grade and therefore exceedingly large and heavy. They usually require complex systems that are difficult to maintain and are typically too expensive, cumbersome and/or impractical for home use by consumers.

Additionally, limited motor capabilities of known machines have not allowed the operator to mix the product with a blade rotating at a variety of speeds, at different depths within the product, and for various amounts of time depending on the product. Moreover, it is sometimes desirable for a user to include solid or semi-solid ingredients in the final product. For example, nuts, granola, chocolate and other chips, foodstuffs, candy bars, cookies, fruits, or other morsels have been used to develop many flavours that are highly desired by users. Mixing can cause the solid or semi-solid ingredients to be ground or reduced in size. With existing micro puree machines, users have limited ability to control operations such as blade and motor rotation speeds depending on the type of food type being processed. Accordingly, there is a need for a micro puree machine capable of more flexibly and precisely processing various food types.

<CIT> describes a frozen drink machine and a method for making frozen drinks from a frozen substance which has been frozen into a cup. According to the method and the machine of the present invention, a cup containing a frozen substance is positioned in a cup support located in the frozen drink machine. A rotatable blade having features for grinding the frozen substance and for aerating the ground frozen substance is lowered into the cup, grinding the frozen substance while a liquid is simultaneously introduced into the cup. In an alternative embodiment, a second blade is provided which incorporates air into the liquid before the liquid is introduced into the cup. <CIT> discloses a cup beverage vending machine capable of surely preventing a dissolution residue of a raw material. When the raw material (<NUM>) is mixed with beverage by a stirrer (<NUM>), a rotation of a stirring member (7a) is stopped temporarily, and then the stirring member (7a) is rotated again. Therefore, the beverage in a cup (<NUM>), which has formed a steady flow by means of a first rotation of the stirring member (7a), forms a turbulent flow by means of a stoppage of the stirring member (7a), so that a raw material (<NUM>) accumulating in a central portion of the cup (<NUM>) without being dissolved is dispersed, and is dissolved completely in the beverage by a second rotation of the stirring member (7a). <CIT> describes a module that includes a housing, a sealing feature, a locking feature, and an agitator. The housing has an opening separating inner and outer surfaces and a boss that extends through the housing such that part of the outer surface forms an inner bore of the boss having a terminus pointing toward the opening. The agitator has a base, a shaft, and a mixing element coupled to the base such that the base, in cooperation with the sealing feature, circumferentially seals the opening of the housing to form a cavity defined by the inner surface. The shaft passes through the inner bore. The locking feature when engaged permits independent or simultaneous translational and rotational movement of the shaft while an area between the terminus of the boss and the shaft remains mechanically sealed during the movement against liquid or powder encroachment into a clean area of the inner bore. <CIT> discloses a blending containment assembly that includes a cover having a first aperture and a cup seal connected to the cover. The cup seal is a flexible material having a second aperture. The cover and the cup seal are configured to receive a spindle of a blending assembly in the first aperture and the second aperture. The cover and the cup seal are movable to engage a cup to create a seal between an inside of the cup and an outside of the cup.

Described herein is a micro puree device in which a blade assembly may be programmably-controlled at different rotational speeds and moved up and down in different patterns and speeds, and for different periods of time, to make different food items, such as frozen purees and desserts.

This disclosure further describes a micro puree machine with a processing feature that enables more appropriate and automated processing of various food types, resulting in enhanced food preparation. The present disclosure includes a micro puree machine having a controller arranged to operate a motor, mixing shaft and blade according to a routine or processing sequence optimized for processing and/or preparing a particular food type. The micro puree machine includes a mixing or drive shaft coupled to a blade and rotatable via a drive motor and/or gear.

The controller controls a rotation speed of the drive motor and, in turn, the rotation speed of the mixing shaft and blade over one or more periods during a food processing routine and/or sequence depending on the food type that may be selected by a user via a user interface. The controller also controls a position motor arranged to change the position and/or distance that the mixing or drive shaft and blade are extended into or retracted from a mixing container, vessel, or beaker. Advantageously, the processing feature allows the user to conveniently and flexibly process various different food types while the controller is preconfigured with routines and/or recipes of various sequences of drive and/or position motor speeds and/or mixing shaft movement.

According to the invention, a micro puree machine includes a drive motor coupled to a drive shaft via at least one gear. The drive motor is arranged to rotate a drive shaft and blade assembly attached thereto such that a speed of rotation of the drive motor corresponds to a speed of rotation of the drive shaft. A position motor is operable to change a position of the drive shaft via rotation of the position motor such that a speed of rotation of the position motor corresponds to a rate of change of position of the drive shaft. A user interface is arranged to: i) receive a user input to select a first routine associated with processing a first food type of a plurality of routines associated with processing a plurality of food types, and ii) display a status of the processing of the first food type while the first routine is running. A data store is arranged to store a database including configuration data associated with the plurality of routines. A controller is arranged to: i) receive the user input selecting the first routine and retrieve the configuration data associated with the first routine from the data store, ii) control operations of the drive motor based on the configuration data associated with the first routine, and iii) control operations of the position motor based on the configuration data associated with the first routine.

Controlling operations of the drive motor may include controlling activation, deactivation, a direction of rotation, and/or a speed of rotation of the drive motor. Controlling operations of the position motor may include controlling activation, deactivation, a direction of rotation, and a speed of rotation of the position motor. The controller may be arranged to receive timing data from a timer such that the controller controls operations of the drive motor and the position motor based on the configuration data and the timing data. The timer may include a clock operated by a processor associated with the controller.

The configuration data may include a first zone designation of a plurality of zone designations. The first zone designation may be associated with a full volume of a container holding the first food type. A second zone designation may be associated with a top potion of the volume of the container and a third zone designation may be associated with a bottom portion of the volume of the container. The user interface may be configured to receive a user selection of one of a plurality of zones associated with different portions of a container volume holding the first food type.

A food processing routine may include a plurality of phases. The number of phases may be different between the first routine and a second routine. Each phase may correspond to a time period. The time period of at least two phases may be the same. The user interface may display the progress and/or status of processing of the first food type while the first routine is running by displaying a number associated with each phase of the operations of the routine. The value of the number may decrease as the routine enters each phase sequentially in time until the routine is finished.

It is further disclosed a food processor motor control system includes a drive motor coupled to a drive shaft via at least one gear. The drive motor is arranged to rotate a drive shaft and blade assembly attached thereto such that a speed of rotation of the drive motor corresponds to a speed of rotation of the drive shaft. A position motor is operable to change a position of the drive shaft via rotation of the position motor such that a speed of rotation of the position motor corresponds to a rate of change of position of the drive shaft. A user interface is arranged to: i) receive a user input to select a first routine associated with processing a first food type of a plurality of routines associated with processing a plurality of food types, and ii) display a status of the processing of the first food type while the first routine is running. A data store is arranged to store a database including configuration data associated with the plurality of routines. A controller is arranged to: i) receive the user input selecting the first routine and retrieve the configuration data associated with the first routine from the data store, ii) control operations of the drive motor based on the configuration data associated with the first routine, and iii) control operations of the position motor based on the configuration data associated with the first routine.

It is further disclosed a method for manufacturing a motor controller of a food processor device includes mounting in or on a housing of the food processor at least the following:.

A reading of the following description and a review of the associated drawings will make apparent the advantages of these and other features. Both the foregoing general description and the following detailed description serve as an explanation.

As shown in <FIG>, the device <NUM> includes a lower housing or base <NUM> and an upper housing <NUM>. A middle housing <NUM> extends between the lower housing <NUM> and the upper housing <NUM>. The upper housing <NUM> includes an interface <NUM> for receiving user inputs to control the device <NUM> and/or display information, including inputs to select a particular program to control speed of blade rotation, descent speed etc. depending on the desired product. The interface <NUM> may also include a progress bar displaying the progression of the selected program. The device <NUM> includes a removable bowl assembly <NUM> and lid assembly <NUM> on the base <NUM>. The bowl assembly <NUM> receives one or more ingredients for processing. The bowl assembly <NUM> and lid assembly <NUM> are placed on the lower housing <NUM>. The bowl assembly <NUM> and lid assembly <NUM> are rotatable on a lifting platform <NUM> from a down position to an up position, and vice versa.

<FIG> shows the device <NUM> with the bowl assembly <NUM> and lid assembly <NUM> removed.

<FIG> illustrate left side views of the device <NUM> without a bowl assembly <NUM> and lid assembly <NUM>, with the bowl assembly <NUM> and lid assembly <NUM> in an up position, and with the bowl assembly <NUM> and lid assembly <NUM> in a down position, respectively.

<FIG> illustrate right side views of the device <NUM> without a bowl assembly <NUM> and lid assembly <NUM>, with the bowl assembly <NUM> and lid assembly <NUM> in an up position, and with the bowl assembly <NUM> and lid assembly in a down position, respectively. When the bowl assembly <NUM> and lid assembly <NUM> are raised vertically to the up position, a blade assembly <NUM> within the lid assembly <NUM> engages with a power coupling <NUM> at the distal end of power shaft <NUM> extending from the upper housing <NUM>. A rotational force is delivered via the power coupling <NUM> to the blade assembly <NUM> to spin one or more blades as they engage with ingredients inside the bowl assembly <NUM>.

<FIG> is rear view of the device <NUM>, with the bowl assembly <NUM> in the up position, showing a section line A-A. <FIG> is right side cutaway view of the device <NUM> along section A-A.

<FIG> is rear view of the device <NUM>, with the bowl assembly <NUM> in the down position, showing a section line B-B. <FIG> is a left side cutaway view of the device <NUM> along section B-B. The upper housing <NUM> includes gearbox assembly <NUM> and a drive motor assembly <NUM> connected to the gearbox assembly <NUM>. The drive motor assembly <NUM> includes a drive motor housing <NUM> and a drive motor <NUM>. The gearbox assembly <NUM> includes a gearbox housing <NUM> containing a plurality of gears for delivering power from the drive motor <NUM> to a power shaft <NUM>. The power coupling <NUM> is positioned on a distal end of the power shaft <NUM>.

<FIG> is an isometric view of the gearbox assembly <NUM> and drive motor assembly <NUM> of the device <NUM> with surrounding structure. The device <NUM> includes an upper support <NUM> and a lower support <NUM> positioned in the upper housing <NUM>. The gearbox assembly <NUM> and drive motor assembly <NUM> are slidable up and down with respect to the upper and lower supports <NUM>, <NUM> along a plurality of pillars <NUM>, <NUM>, <NUM>, <NUM>. The pillars and supports provide rigidity and concentric alignment. In the illustrative implementation, the gearbox assembly <NUM> and drive motor assembly <NUM> are supported on the pillars via apertures <NUM>, <NUM> in the gearbox housing <NUM>. In other implementations, there may be apertures on the drive motor housing <NUM> in addition to or instead of on the gearbox housing <NUM>.

The device <NUM> includes a position motor <NUM> (e.g., DC motor) which drives a gearbox <NUM>. The gearbox <NUM> is engaged with a vertical threaded rod or worm gear <NUM> extending between the upper and lower supports <NUM>, <NUM>. Actuation of the position motor <NUM>, either manually via the interface <NUM> or automatically, moves the gearbox assembly <NUM> and drive motor assembly <NUM> up and down. The rod pitch of the worm gear <NUM> relate to a vertical decent rate of the device <NUM>. The drive motor assembly <NUM> moves down into a cavity <NUM> in the middle housing <NUM> (see <FIG> and <FIG>).

The power shaft <NUM> and power coupling <NUM> move together with the gearbox assembly <NUM> and drive motor assembly <NUM>. Thus, actuation of the position motor <NUM> in turn allows for vertical movement and positioning of a blade assembly <NUM> removably attached to the power coupling <NUM>. In the illustrative implementation, the up and down travel distance is between <NUM> and <NUM>, or between <NUM> and <NUM>, such as about <NUM>. Different programs selected by a user at the interface <NUM> may be used to control the power coupling <NUM>, and therefore the blade assembly <NUM>, at different rotational speeds (e.g., via the drive motor <NUM>) and moved up and down (e.g., via the position motor <NUM>) in different patterns and speeds to make different food items such as frozen purees and desserts.

<FIG> is front view of the gearbox assembly <NUM> and drive motor assembly <NUM> of the device <NUM> of <FIG>. <FIG> is side cutaway view of the assemblies of <FIG> along a section C-C. As discussed above, the gear assembly <NUM> includes a housing <NUM>. In the illustrative implementation, the housing <NUM> includes upper and lower portions removably attached together. A housing <NUM> of the drive motor assembly <NUM> is removably attached to the lower portion of the housing <NUM>. In other implementations, the housing <NUM> is formed together with the housing <NUM> or at least together with the lower portion of the housing <NUM>. In the illustrative implementation, the housing <NUM> includes a plurality of openings <NUM> for ventilation and cooling of the drive motor <NUM>. The device <NUM> may further include a fan <NUM> on the motor <NUM>.

<FIG> is an isometric view of the gearbox assembly <NUM> and drive motor assembly <NUM> with the housings <NUM>, <NUM> removed. In the illustrative implementation, the drive motor <NUM> is rotatably connected to a transmission <NUM>. The transmission <NUM> is connected to a first gear <NUM>. The first gear <NUM> drives a gear <NUM>, either directly or through one or a plurality of intermediate gears <NUM>, <NUM>, which then drives the power shaft <NUM>.

<FIG> is an isometric view of the moving blade assembly <NUM> for processing food and beverage items. Food processing routines and/or sequences may be varied depending the on the size of the blade assembly.

<FIG> is a block diagram of a food processing control system <NUM> including controller <NUM> used to control operations of drive motor <NUM> and position motor <NUM> while various food processing routines are running. System <NUM> includes user interface <NUM>, timer <NUM>, a data store <NUM>, and one or more sensors <NUM>. The drive motor <NUM> may be coupled to a drive and/or power shaft <NUM> via at least one gear. The drive motor <NUM> may be arranged to rotate the drive shaft <NUM> and blade assembly <NUM> attached thereto such that a speed of rotation of the drive motor <NUM> corresponds to a speed of rotation of drive shaft <NUM>. However, the speeds do not have to be the same as the speed of the drive shaft <NUM> will depend on the reduction ratio of the at least one gear. Position motor <NUM> may be operable to change a position of drive shaft <NUM> via rotation of position motor <NUM> such that a speed of rotation of position motor <NUM> corresponds to a rate of change of position of the drive shaft and/or an assembly holding the drive shaft. Position motor <NUM> may change the position of drive shaft <NUM> by changing the position of a housing and/or gear assembly associated with drive motor <NUM>. The direction of rotation of position motor <NUM> may be controlled by controller <NUM> to extend or retract drive shaft <NUM> to or from the micro puree and/or device <NUM> housing.

Controller <NUM> may also control the direction of rotation of drive shaft <NUM> and/or blade assembly <NUM>. User interface <NUM> may be arranged to: i) receive a user input to select a first routine associated with processing a first food type of a plurality of routines associated with processing a plurality of food types, and ii) display a status of the processing of the first food type, via indicator <NUM> of <FIG>, while the first routine is running. A data store <NUM> may be arranged to store a database, such as shown in Tables <NUM> and <NUM>, including configuration data associated with the plurality of routines. A controller <NUM> may be arranged to: i) receive the user input selecting the first routine and retrieve the configuration data associated with the first routine from data store <NUM>, ii) control operations of drive motor <NUM> based on the configuration data associated with the first routine, and iii) control operations of position motor <NUM> based on the configuration data associated with the first routine.

System <NUM> may include one or more sensors associated with running a routine. For example, a sensor may be used to monitor the speed of drive motor <NUM>. A sensor may be used to monitor the speed of position motor <NUM>. One or more sensors may be used to monitor the position of drive shaft <NUM>. The sensors may include magnetic or contact switches that detect when drive shaft <NUM> is in its retracted position, an intermediate position, and/or a fully extended position. Controller <NUM> may use timing data from timer <NUM> and sensor speed data associated with the rotation of position motor <NUM> to determine the distance traveled and/or position of drive shaft <NUM>.

Controlling operations of drive motor <NUM> may include controlling activation (e.g., start), deactivation (e.g., stop), a direction of rotation, and/or a speed of rotation drive motor <NUM>. Controlling operations of position motor <NUM> may include controlling activation, deactivation, a direction of rotation, and/or a speed of rotation of position motor <NUM>. Controller <NUM> may be configured to receive timing data from a timer <NUM> and control operations of drive motor <NUM> and position motor <NUM> based on the configuration data and the timing data. The timer <NUM> may be a software program that accesses clock operated by a processor such as computer <NUM> associated with the controller <NUM>.

<FIG> is a block diagram of a computing system <NUM> associated with controller <NUM>. Computer system <NUM> could represent a processing system within a device such as, for example, a micro puree machine, a blender, an ice cream maker, an immersion blender, or an attachment to any of such devices. Computer system <NUM> may include a system-on-a-chip (SoC), a client device, and/or a physical computing device and may include hardware and/or virtual processor(s). In some implementations, computer system <NUM> and its elements as shown in <FIG> each relate to physical hardware and in some implementations one, more, or all of the elements could be implemented using emulators or virtual machines. Regardless, computer system <NUM> may be implemented on physical hardware.

As also shown in <FIG>, computer system <NUM> may include a user interface <NUM> and/or <NUM>, having, for example, a keyboard, keypad, touchpad, or sensor readout (e.g., biometric scanner) and one or more output devices, such as displays, speakers for audio, LED indicators, and/or light indicators. Computer system <NUM> may also include communications interfaces <NUM>, such as a network communication unit that could include a wired communication component and/or a wireless communications component, which may be communicatively coupled to processor <NUM>. The network communication unit may utilize any of a variety of proprietary or standardized network protocols, such as Ethernet, TCP/IP, to name a few of many protocols, to effect communications between processor <NUM> and another device, network, or system. Network communication units may also comprise one or more transceivers that utilize the Ethernet, power line communication (PLC), Wi-Fi, cellular, and/or other communication methods.

Computer system <NUM> includes a processing element, such as processor <NUM>, that contains one or more hardware processors, where each hardware processor may have a single or multiple processor cores. In one implementation, the processor <NUM> includes at least one shared cache that stores data (e.g., computing instructions) that are utilized by one or more other components of processor <NUM>. For example, the shared cache may be a locally cached data stored in a memory for faster access by components of the processing elements that make up processor <NUM>. Examples of processors include, but are not limited to, a central processing unit (CPU) and/or microprocessor. Processor <NUM> may utilize a computer architecture base on, without limitation, the Intel® <NUM> architecture, Motorola® 68HCX, Intel® 80X86, and the like. The processor <NUM> may include, without limitation, an <NUM>-bit, <NUM>-bit, <NUM>-bit, <NUM>-bit, or <NUM>-bit architecture. Although not illustrated in <FIG>, the processing elements that make up processor <NUM> may also include one or more other types of hardware processing components, such as graphics processing units (GPUs), application specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), and/or digital signal processors (DSPs).

<FIG> illustrates that memory <NUM> may be operatively and communicatively coupled to processor <NUM>. Memory <NUM> may be a non-transitory medium configured to store various types of data. System <NUM> may include one or more storage devices <NUM> that include a non-volatile storage device and/or volatile memory. Volatile memory, such as random-access memory (RAM), can be any suitable non-permanent storage device. The non-volatile storage devices <NUM> may include one or more disk drives, optical drives, solid-state drives (SSDs), tape drives, flash memory, read-only memory (ROM), and/or any other type memory designed to maintain data for a duration time after a power loss or shut down operation. In certain configurations, the non-volatile storage devices <NUM> may be used to store overflow data if allocated RAM is not large enough to hold all working data. The non-volatile storage devices <NUM> may also be used to store programs, such as programs that run one or more food processing routines and/or recipes, that are loaded into the RAM when such programs are selected for execution.

Persons of ordinary skill in the art are aware that software programs may be developed, encoded, and compiled in a variety of computing languages for a variety of software platforms and/or operating systems and subsequently loaded and executed by processor <NUM>. In one implementation, the compiling process of the software program may transform program code written in a programming language to another computer language such that the processor <NUM> is able to execute the programming code. For example, the compiling process of the software program may generate an executable program that provides encoded instructions (e.g., machine code instructions) for processor <NUM> to accomplish specific, non-generic, particular computing functions.

After the compiling process, the encoded instructions may be loaded as computer executable instructions or process steps to processor <NUM> from storage <NUM>, from memory <NUM>, and/or embedded within processor <NUM> (e.g., via a cache or on-board ROM). Processor <NUM> may be configured to execute the stored instructions or process steps in order to perform instructions or process steps to transform the computing device into a non-generic, particular, specially programmed machine or apparatus. Stored data, e.g., data stored by a storage device <NUM>, may be accessed by processor <NUM> during the execution of computer executable instructions or process steps to instruct one or more components within computing system <NUM> and/or other components or devices external to system <NUM>.

User interface <NUM> can include a display, positional input device (such as a mouse, touchpad, touchscreen, or the like), keyboard, keypad, one or more buttons, or other forms of user input and output devices. The user interface components may be communicatively coupled to processor <NUM> and/or controller <NUM>. When the user interface output device is or includes a display, the display can be implemented in various ways, including by a liquid crystal display (LCD) or a cathode-ray tube (CRT) or light emitting diode (LED) display, such as an OLED display. Input/Output Interface <NUM> may interface with one or more sensors, e.g., sensors <NUM>, that detect and/or monitor environmental conditions within or surrounding system <NUM>. Environmental conditions may include, without limitation, magnetic field level, rotation and/or movement of a device or component, temperature, pressure, acceleration, vibration, motion, radiation level, position or the device or component, and/or the presence of a device or component. Persons of ordinary skill in the art are aware that computer system <NUM> may include other components well known in the art, such as power sources and/or analog-to-digital converters, not explicitly shown in <FIG>.

In some implementations, computing system <NUM> and/or processor <NUM> includes an SoC having multiple hardware components, including but not limited to:.

A SoC includes both the hardware, described above, and software controlling the microcontroller, microprocessor and/or DSP cores, peripherals and interfaces. Most SoCs are developed from pre-qualified hardware blocks for the hardware elements (e.g., referred to as modules or components which represent an IP core or IP block), together with software drivers that control their operation. The above listing of hardware elements is not exhaustive. A SoC may include protocol stacks that drive industry-standard interfaces like a universal serial bus (USB).

Once the overall architecture of the SoC has been defined, individual hardware elements may be described in an abstract language called RTL which stands for register-transfer level. RTL is used to define the circuit behavior. Hardware elements are connected together in the same RTL language to create the full SoC design. In digital circuit design, RTL is a design abstraction which models a synchronous digital circuit in terms of the flow of digital signals (data) between hardware registers, and the logical operations performed on those signals. RTL abstraction is used in hardware description languages (HDLs) like Verilog and VHDL to create high-level representations of a circuit, from which lower-level representations and ultimately actual wiring can be derived. Design at the RTL level is typical practice in modern digital design. Verilog is standardized as Institute of Electrical and Electronic Engineers (IEEE) <NUM> and is an HDL used to model electronic systems. Verilog is most commonly used in the design and verification of digital circuits at the RTL level of abstraction. Verilog may also be used in the verification of analog circuits and mixed-signal circuits, as well as in the design of genetic circuits. In some implementations, some or all of the components of computer system <NUM> are implemented on a printed circuit board (PCB). One or more features of system <NUM> may be implemented within the systems and processors described with respect to <FIG>.

<FIG> shows a view of a user interface <NUM> of the micro puree machine and/or food processor device <NUM>. User interface <NUM> includes a progress and/or status indicator <NUM>, a vessel and/or container install indicator <NUM>, a finished indicator <NUM>, a processing zone selector and/or indicator <NUM>; a food processing routine selector dial or wheel <NUM>, and power switch and/or indicator <NUM>, a mix-in indicator <NUM>, and a re-spin switch <NUM>. Progress indicator <NUM> may include a number associated with a phase of operation of a routine that is running. In some implementations, the number corresponds approximately to a minute of time. In other implementations, other time periods may be used. For example, <FIG> shows the number "<NUM>" that indicates that the running routine is in the fifth phase and/or time period of operation. As the routine continues to run, the number will progressively decrease to <NUM>, <NUM>, <NUM>, <NUM>, and <NUM> until the routine is finished, which may be indicated via an illuminated light at finished indicator <NUM>. User interface <NUM> may include a mylar panel with tactile switches and dial and/or wheel. Progress indicator <NUM> may be in a different form such as a progress bar including multiple lights that sequentially turn off as a food processing routine runs from start to finish. As the routine runs, the number of lights illuminating progressive turn off until no lights are one when the routine is finished.

The zone indicator and/or selector <NUM> may include multiple zones such as a full zone, top zone, and bottom zone. The full zone may be associated with a full volume of a container holding the first food type such that controller <NUM> extends drive shaft <NUM> and blade assembly <NUM> fully into the container and processes the food type in both the top and bottom portions of the container. Zone indicator and/or selector <NUM> may also include a top zone of the volume of the container and a bottom zone associated with a bottom portion of the volume of the container. When the top zone is selected, controller <NUM> receives the selection and controls position motor <NUM> such that only a portion of the food in the top zone of the container is processed. When the bottom zone is selected, controller <NUM> receives the selection and controls position motor <NUM> such that only a portion of the food in the bottom zone of the container is processed.

Food processing routine selector dial or wheel <NUM> enables a user to select a routine and recipe from multiple routines. The routines may be associated with various food types such as, without limitation, ice cream, lite ice cream, sorbet, gelato, frozen yogurt, ice fusion, ice frost, Italian ice, milkshake, and creamiccino. Each routine may include a plurality of phases. However, the number of phases may be different between different routines based on the different food types being processed. Each phase may correspond to a time period. As previous noted, each time period may be about <NUM> seconds long, but other time periods may be used, and the length of time periods may vary among different phases of a particular routine as illustrated in Tables <NUM> and <NUM> of <FIG> and <FIG> respectively. But, in some implementations, at least two phases have the same time period.

Power button and/or indicator <NUM> may be used by a user to initiate a food processing routine. Power button <NUM> may include a light that is solid to indicate that a process is running. Power button <NUM> may flash on and off repeatedly to indicator a system fault or that the system is not ready to start a routine. Install indicator <NUM> may flash on and off repeatedly to indicator that the vessel and/or container has not been installed for food processing. Mix-in selector and/or indicator <NUM> may enable a user to add ingredients to any food type and have controller <NUM> initiate a mix-in routine to mix the ingredients the vessel. Re-spin button and/or selector <NUM> may be used by a user to initiate a re-spin routine regardless of food type to further process the food in the vessel.

<FIG> includes a table <NUM> of various food processing routines in column <NUM> associated with various food types when processing in all zones of a vessel and/or container, e.g., bowl assembly <NUM>. Column <NUM> includes a list of ten routines associated with food types from ice cream to creamiccino along with a re-spin routine and a mix-in routine. Section <NUM> includes configuration data for controller <NUM> to control operations such as drive motor <NUM> and/or drive shaft <NUM> rotation speed, position motor <NUM> rotation speed and direction of rotation, and position motor <NUM> activation and deactivation. Section <NUM> includes phase time periods associated with each routine and display logic for progress indicator <NUM>.

For example, row <NUM> includes configuration data and phase time period data associated with processing an ice cream food type. Row <NUM> of section <NUM> includes the configuration data used by controller <NUM> to run the food processing routine for ice cream. Configuration data parameters may include: decent blade speed of <NUM> rpm, decent time of <NUM> seconds, Hold at boom speed of <NUM> rpm, hold at bottom time of <NUM> seconds, retraction blade speed of <NUM> rpm, retraction time of <NUM> seconds, hold at the top at <NUM> rpm, and hold at the top for <NUM> seconds. Row <NUM> of section <NUM> shows the overall timing and two phases associated with processing the ice cream food type. Because the total time of the routine is <NUM> seconds, there are only two phases of <NUM> seconds and <NUM> seconds, i.e., about <NUM> minute each. Progress indicator <NUM> will therefore display a "<NUM>" during the first <NUM> seconds (e.g., first phase) and display a "<NUM>" during the next <NUM> seconds (e.g., second phase). Progress indicator <NUM> will then display a "<NUM>" for five second when the ice cream processing routine is finished. Table <NUM> may be stored in data store <NUM>.

As another example, row <NUM> includes configuration data and phase time period data associated with processing a frozen yogurt food type. Row <NUM> of section <NUM> includes the configuration data used by controller <NUM> to run the food processing routine for frozen yogurt. Configuration data parameters may include: decent blade speed of <NUM> rpm, decent time of <NUM> seconds, hold at boom speed of <NUM> rpm, hold at bottom time of <NUM> seconds, retraction blade speed of <NUM> rpm, retraction time of <NUM> seconds, hold at the top at <NUM> rpm, and hold at the top for <NUM> seconds. Row <NUM> of section <NUM> shows the overall timing and five phases associated with processing the frozen yogurt food type. Because the total time of the routine is <NUM> seconds, there are five phases of <NUM>, <NUM>, <NUM>, <NUM>, and <NUM> seconds, i.e., about <NUM> minute each. Progress indicator <NUM> will therefore display a "<NUM>" during the first <NUM> second phase, display a "<NUM>" during a second <NUM> second phase, display a "<NUM>" during a third <NUM> second phase, display a "<NUM>" during a fourth <NUM> second phase, and display a "<NUM>" during a last <NUM> second phase. Progress indicator <NUM> will then display a "<NUM>" for five second when the ice cream processing routine is finished. Hence, each row of Table <NUM> includes configuration data used by controller <NUM> to control operations accordingly for a food processing routine of a particular food type. As previous noted, the configuration data may be based on the size of the blade and/or blade assembly. The configuration data of Table <NUM> is based on a blade size of <NUM>. Data store <NUM> may include multiple tables of food processor routines like Table <NUM>, but with different configuration data base on the size of the blade and/or blade assembly.

<FIG> shows a table <NUM> of various food processing routines in column <NUM> associated with various food types when processing a food type in the top zone of a container. Column <NUM> includes a list of five routines associated with food types from ice cream to frozen yogurt along with a re-spin routine and a mix-in routine. Section <NUM> includes configuration data for controller <NUM> to control operations such as drive motor <NUM> and/or drive shaft <NUM> rotation speed, position motor <NUM> rotation speed and direction of rotation, and position motor <NUM> activation and deactivation, when top zone processing has been designated. Section <NUM> includes phase time periods associated with each routine. Similar to Table <NUM>, Table <NUM> includes configuration data for each food type in each row associated with that food type.

<FIG> shows a process <NUM> for manufacturing a motor controller for micro puree and/or food processor device <NUM> arranged to perform various food processing routines such as described in Tables <NUM> and <NUM> of <FIG> and <FIG>. Process <NUM> may include mounting in or on a housing <NUM> and/or <NUM> of a micro puree device <NUM> and/or food processor device at least the following:.

Claim 1:
A micro puree machine comprising:
a drive motor (<NUM>) coupled to a drive shaft (<NUM>), the drive motor (<NUM>) arranged to rotate a drive shaft (<NUM>) and blade assembly (<NUM>) attached thereto, a speed of rotation of the drive motor (<NUM>) corresponding to a speed of rotation of the drive shaft (<NUM>);
a position motor (<NUM>) operable to change a position of the drive shaft (<NUM>) via rotation of the position motor (<NUM>), a speed of rotation of the position motor (<NUM>) corresponding to a rate of change of position of the drive shaft (<NUM>);
a user interface (<NUM>, <NUM>, <NUM>) arranged to receive a user input to select a first routine associated with processing a first food type of a plurality of routines associated with processing a plurality of food types;
a data store (<NUM>) arranged to store a database including configuration data associated with the plurality of routines; and
a controller (<NUM>) arranged to: i) receive the user input selecting the first routine and retrieve the configuration data associated with the first routine from the data store (<NUM>), ii) control operations of the drive motor (<NUM>) based on the configuration data associated with the first routine, and iii) control operations of the position motor (<NUM>) based on the configuration data associated with the first routine;
characterised in that
the drive motor (<NUM>) is coupled to the drive shaft (<NUM>) via at least one gear (<NUM>), and
the blade assembly (<NUM>) is selectively controllable to rotate at different rotational speeds and to move up and down in different patterns and speeds.