Visual programming portable game machine based on matrix type LED display and knob encoder
By using a portable game console with visual programming based on a matrix LED display and a rotary encoder, the technical barrier of game development tools for children has been solved, enabling drag-and-drop game logic construction and personalized recommendations, thus improving the user's creative experience and interaction efficiency.
Patent Information
- Application Number
- CN202511750431.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-11-26
- Publication Date
- 2026-02-24
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
Existing game development tools pose a high technical barrier for beginners, especially children. The lack of deep integration between hardware input/output devices and visual programming platforms results in complex development processes and abstract operation methods that affect the creative experience and learning interest.
This portable game console, which employs a visual programming approach based on a matrix LED display and a rotary encoder, includes a visual programming module, a server module, and a hardware settings module. It utilizes the OpenBlock graphical programming language and an emulator to enable drag-and-drop game logic construction. Combined with collaborative filtering recommendation algorithms and dynamic power management, it provides instant creative feedback and personalized recommendations.
It reduces the difficulty of programming, improves the feasibility and efficiency of creation for children and groups with no programming background, enhances user interaction experience and stickiness, and promotes the construction of a game development ecosystem for all.
Smart Images

Figure CN121550683A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of video game development technology, and in particular to a visually programmable portable game console based on a matrix LED display and a rotary encoder. Background Technology
[0002] With the rapid development of computer technology and the gaming industry, game development has become an important technical field. Traditional game development typically requires specialized programming knowledge and a complex development environment, which poses a high technical barrier for beginners, especially children.
[0003] Currently, game development tools on the market are mainly divided into two categories: One type is development environments based on text-based programming languages, such as Unity and Unreal Engine. These tools are powerful but have a steep learning curve, requiring developers to have professional programming skills. Another type is visual programming tools for beginners, such as Scratch. Although these tools reduce the difficulty of programming, they cannot well support large-scale project programming.
[0004] Especially for non-professional programming users and children, the complex development process and abstract operation methods seriously affect their creative experience and learning interest. The root cause of these problems is that existing technologies have failed to deeply integrate hardware input and output devices with visual programming platforms, lack simple and intuitive interaction methods, and cannot provide instant creative feedback.
[0005] Therefore, it is necessary to propose a visually programmable portable game console based on matrix LED display and rotary encoder to address the aforementioned problems. Summary of the Invention
[0006] The purpose of this invention is to provide a visually programmable portable game console based on a matrix LED display and a rotary encoder to solve the above-mentioned problems.
[0007] To achieve the above objectives, the present invention adopts the following technical solution: A portable game console based on a matrix LED display and a rotary encoder, which is designed for visual programming, includes an intelligent component comprising the following modules: The visual programming module is configured to include a web-based graphical programming interface for game development. Game logic is built by dragging and dropping graphical modules, and after real-time debugging by the simulator, game logic data is sent to the server module. The server module is configured to receive game logic data upon receiving a request from the web client, automatically compile it into a bin file that can run on the hardware module, and push the file to the user's bound device. The target bin file is stored in the device's external storage and is executed by the firmware running on the microprocessor using its integrated interpreter; The hardware setup module is configured to include an ESP32 chip module, a dual rotary encoder, a matrix module, a display module, and a memory. The chip module connects to the dual rotary encoder and the matrix input / output module via a GPIO interface, connects to the display module via an SPI bus, and has an internal external storage interface connected to the memory. The memory is used to store multiple BIN format game files.
[0008] Preferably, the hardware setting module further includes: The dual-knob encoder detects the rotation direction and angle using phase difference as user input. An 8x8 full-color LED matrix display module is used as the primary output method. A light ring composed of 36 full-color LEDs serves as an auxiliary output method.
[0009] Preferably, in the visual programming module: It uses the OpenBlock graphical programming language and includes a graphical programming interface and simulator; After building the game logic by dragging and dropping graphical modules, the game can be simulated and debugged by a device-based web emulator. After debugging is complete, a request is sent to the server. The server then escapes the OpenBlock code into C code, compiles it into a target bin file, and pushes the file to the user's bound device.
[0010] Preferably, the web application also includes community interaction features, specifically including: User registration and login, browsing game works, liking, commenting, rating, as well as uploading and downloading works.
[0011] Preferably, the dual-knob encoder identifies the rotation direction through the phase difference of two IO pins. If phase A leads phase B, it is forward rotation, and vice versa, it is reverse rotation. Angle measurement is achieved through pulse counting.
[0012] Preferably, the display module has a built-in power management unit that dynamically adjusts the refresh rate and backlight brightness based on the user's operation frequency and game status, specifically: User operation frequency is denoted as Set high frequency threshold Low frequency threshold Game status Based on this, the refresh rate is determined. Backlight brightness Regulation rules: ; in, Indicates that the game is running. This indicates that the game is paused; high frequency , intermediate frequency low frequency ; While the game is running, the refresh rate is dynamically adjusted based on the frequency of gameplay, while the brightness remains constant. If the game is paused, the refresh rate is fixed. And the brightness is uniformly reduced to the preset brightness. .
[0013] Preferably, the server module employs a collaborative filtering recommendation algorithm. By constructing a user-game interaction matrix, reducing its dimensionality using singular value decomposition, and calculating similarity according to a preset formula, personalized game recommendations are generated. Specifically, this includes the following steps: Collect game behavior data from users via their respective game consoles and report it to the server module, including game browsing, downloads, playtime, and ratings; The server module includes a data processing unit, which constructs a user-game interaction matrix based on game behavior data, where the matrix elements are user ratings of the game. After reducing the dimensionality of the matrix using the singular value decomposition algorithm, the cosine similarity between users or games is calculated. Based on the similarity calculation results, a weighted sum is calculated of the games liked by other users similar to the target user to generate a recommendation list.
[0014] Preferably, the server module supports batch processing of compilation requests from multiple devices and adjusts the compilation queue according to the concurrency level.
[0015] In summary, due to the adoption of the above technical solution, the beneficial effects of the present invention are: 1. The visual programming module of this invention is based on the OpenBlock graphical language. Game logic can be built by dragging and dropping modules, without requiring users to have professional coding knowledge, thus eliminating the syntax barriers of traditional programming. The web-based device simulator supports real-time debugging, which can quickly verify the validity of the logic and avoid problems in the later stages of development. It allows children, educators and other groups without programming backgrounds to create games easily, significantly improving the feasibility and efficiency of users participating in game creation, while reducing the cost of development trial and error, and ultimately promoting the construction of a game development ecosystem for all.
[0016] 2. This invention utilizes a focused dynamic auxiliary information display on the screen, combined with matrix LED operation feedback, resulting in more rational allocation of hardware resources. Dynamic power management adjusts the refresh rate and brightness based on operation frequency and game status, balancing user experience and energy saving. This effect enriches user interaction scenarios and significantly improves user stickiness and satisfaction through personalized recommendations and optimized hardware experience. Attached Figure Description
[0017] Further details, features, and advantages of this application are disclosed in the following description of exemplary embodiments in conjunction with the accompanying drawings, in which: Figure 1 This is a system structure diagram of the present invention. Detailed Implementation
[0018] Several embodiments of this application will now be described in more detail with reference to the accompanying drawings to enable those skilled in the art to implement this application. This application may be embodied in many different forms and for various purposes and should not be limited to the embodiments set forth herein. These embodiments are provided to make this application thorough and complete, and to fully convey the scope of this application to those skilled in the art. The embodiments described do not limit this application.
[0019] Unless otherwise defined, all terms used herein (including technical and scientific terms) shall have the same meaning as commonly understood by one of ordinary skill in the art to which this application pertains. It will be further understood that terms such as those defined in commonly used dictionaries shall be interpreted as having a meaning consistent with their meaning in the relevant field and / or the context of this specification, and shall not be interpreted in an idealized or overly formal sense unless expressly defined herein.
[0020] Example 1
[0021] Its specific implementation method is combined with the appendix Figure 1 Please provide a detailed explanation.
[0022] Appendix Figure 1 The diagram below shows the structure of a portable game console based on a matrix LED display and a rotary encoder, which is provided as an embodiment of the present invention. The diagram illustrates the connection between the visual programming module and the hardware setting module, and marks the main functional interaction flow of each module.
[0023] In this embodiment, an intelligent component is included, and the intelligent component includes the following modules: The visual programming module is configured to include a web-based graphical programming interface for game development. Game logic is built by dragging and dropping graphical modules, and after real-time debugging by the simulator, game logic data is sent to the server module. It uses the OpenBlock graphical programming language and includes a graphical programming interface and simulator; After users build game logic by dragging and dropping graphical modules, the game can be simulated and debugged by a device-based web emulator. After the user completes debugging, they can send a request to the server. The server will then escape the OpenBlock code into C code, compile it into a target bin file, and push the file to the user's bound device.
[0024] The web version also includes community interaction features, specifically: The app includes user registration and login, browsing, liking, commenting, and rating games, as well as uploading and downloading games.
[0025] By incorporating community interaction features on the app, an open and vibrant user ecosystem has been built. On the one hand, users can easily showcase their creative achievements (upload their work) and receive feedback from others (likes, comments, ratings), thus stimulating their creative enthusiasm. On the other hand, by browsing and downloading a wealth of games within the community, users can not only access diverse gaming experiences at low cost but also form social connections through interaction, enhancing user stickiness.
[0026] Its core function is to provide users with clear and timely auxiliary information, enhancing the smoothness and strategic depth of the gaming experience. For example, in the game "Tetris," the pre-display of the next block shape helps users plan their layout in advance; real-time updated scores intuitively reflect game progress, increasing the sense of accomplishment; and game prompts (such as operation guides and status warnings) lower the user's operational threshold and ensure efficient interaction. By complementing the pixel-level display of the matrix module, the display module focuses on presenting dynamic data and strategic information, making hardware resource allocation more rational. Users can simultaneously receive operational feedback (matrix LEDs) and auxiliary light ring displays, thereby optimizing the immersive gaming experience.
[0027] The server module is configured to receive game logic data upon receiving a request from the web client, automatically compile it (via an encoder) into a bin file that can run on the hardware settings module, and push the file to the user's bound device. The collaborative filtering recommendation algorithm is used to generate personalized game recommendations by constructing a user-game interaction matrix, reducing its dimensionality using singular value decomposition, and calculating similarity according to a preset formula. The specific steps include: Collect game behavior data from users via their respective game consoles and report it to the server module, including game browsing, downloads, playtime, and ratings; The server module includes a data processing unit, which constructs a user-game interaction matrix based on game behavior data, where the matrix elements are user ratings of the game. To reduce data dimensionality and computational complexity, the singular value decomposition algorithm is used to reduce the dimensionality of the sparse matrix. Based on the dimension-reduced matrix, the cosine similarity between users or games is calculated using the following formula: ,in , users respectively and The rating vector, Indicates user With users Similarity; Based on the similarity calculation results, the games liked by other users similar to the target user are weighted and summed to generate a Top-N recommendation list; The preset recommendation system update frequency combines real-time updates with a full update every morning. Real-time updates are completed within a set time after user interaction, while the full update every morning recalculates the recommendation list for all users to adapt to long-term changes in the game library and user interests.
[0028] The server module employs a collaborative filtering recommendation algorithm. It collects user game behavior data to construct an interaction matrix and performs dimensionality reduction processing. Combined with the cosine similarity formula, it calculates the interest associations between users or games, playing a core role in accurately matching user interests and improving content distribution efficiency.
[0029] Specifically, by analyzing users' browsing, downloading, and rating behaviors, the system can automatically identify similar interest groups and recommend highly rated games to potential interested users (e.g., users who like "Snake" may receive a "Tetris" recommendation). At the same time, it can quickly respond to changes in user preferences through real-time updates (shortly after user actions) to avoid recommendation lag, while daily full updates ensure that the recommendation list is continuously optimized as the game library expands and user interests evolve.
[0030] The server module supports batch processing of compilation requests from multiple devices and adjusts the compilation queue according to the concurrency level.
[0031] The hardware setup module is configured to include an ESP32 chip module, a dual rotary encoder, a matrix module, a display module, and a memory. The chip module connects the dual rotary encoder and the matrix input / output module via a GPIO interface, connects to the display module via an SPI bus, and has an internal external storage interface connected to the memory. The memory is used to store multiple BIN format game files. The dual-knob encoder detects the rotation direction and angle using phase difference as user input. An 8x8 full-color LED matrix display module is used as the primary output method. A light ring composed of 36 full-color LEDs serves as an auxiliary output method.
[0032] The visual programming module uses the OpenBlock graphical programming language and includes a graphical programming interface, simulator, and compiler. After users build game logic by dragging and dropping graphical modules, the simulator verifies the validity of the logic in real time. If the verification is successful, the verified game logic data is automatically sent to the server module. The server module automatically converts the game logic into C language code and compiles it into a bin file that can be directly run on the hardware configuration module. This plays a core role in lowering the technical threshold for game development and simplifying the development process. Users without programming experience (such as children and educators) do not need to master professional coding knowledge to complete game logic design through intuitive modular operations. The platform automatically completes code generation and compilation, realizing a convenient "drag and drop" development experience. At the same time, it ensures that the generated bin file can be directly adapted to the game console hardware, opening up the entire process from creative design to console operation, significantly improving the feasibility and efficiency of user participation in game creation, and promoting the formation of a game development ecosystem for all.
[0033] The target bin file is stored in the device's external memory and is executed by the firmware running on the microprocessor using its integrated interpreter. In this way, the device can implement different functionalities depending on which bin file the interpreter calls, without updating the firmware.
[0034] The dual-knob encoder identifies the rotation direction through the phase difference between two IO pins. When phase A leads phase B, it is forward rotation, and vice versa. Angle measurement is achieved through pulse counting.
[0035] The display module has a built-in power management unit that dynamically adjusts the refresh rate and backlight brightness based on the user's operation frequency and game status. Specifically: User operation frequency is denoted as Set high frequency threshold Low frequency threshold Game status Based on this, the refresh rate is determined. Backlight brightness Regulation rules: ; in, Indicates that the game is running. This indicates that the game is paused; high frequency , intermediate frequency low frequency ; If the game runs ( When operating, the refresh rate is dynamically adjusted according to the operating frequency (high frequency). , intermediate frequency low frequency Brightness maintenance If the game is paused ( When the refresh rate is fixed... And the brightness is uniformly reduced to the preset brightness. .
[0036] The above formulas are all dimensionless calculations. The formulas are derived from software simulations based on a large amount of collected data to obtain the most recent real-world results. The preset parameters in the formulas are set by those skilled in the art according to the actual situation.
[0037] The foregoing has only described certain exemplary embodiments of the present invention by way of illustration. Undoubtedly, those skilled in the art can modify the described embodiments in various ways without departing from the spirit and scope of the present invention. Therefore, the foregoing drawings and descriptions are illustrative in nature and should not be construed as limiting the scope of protection of the claims of the present invention.
[0038] It should be noted that, in this document, the use of relational terms such as "first" and "second" is merely for distinguishing one entity or operation from another, and does not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes the element.
[0039] It should be understood that in the various embodiments of this application, the order of the above-mentioned processes does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.
[0040] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0041] Those skilled in the art will understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.
[0042] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0043] In addition, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.
[0044] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
[0045] The foregoing has only described certain exemplary embodiments of the present invention by way of illustration. Undoubtedly, those skilled in the art can modify the described embodiments in various ways without departing from the spirit and scope of the present invention. Therefore, the foregoing drawings and descriptions are illustrative in nature and should not be construed as limiting the scope of protection of the claims of the present invention.
Claims
1. A portable game console with visual programming based on matrix LED display and rotary encoder, characterized in that, It includes a smart component, and the smart component includes the following modules: The visual programming module is configured to include a web-based graphical programming interface for game development. Game logic is built by dragging and dropping graphical modules, and after real-time debugging by the simulator, game logic data is sent to the server module. The server module is configured to receive game logic data upon receiving a request from the web client, automatically compile it into a bin file that can run on the hardware module, and push the file to the user's bound device. The hardware setup module is configured to include an ESP32 chip module, a dual rotary encoder, a matrix module, a display module, and a memory. The chip module connects to the dual rotary encoder and matrix input / output module via GPIO interface, and to the display module via SPI bus. It has an internal external storage space interface connected to the memory; the memory is used to store multiple bin format game files.
2. The portable game console with visual programming based on matrix LED display and rotary encoder according to claim 1, characterized in that, The hardware setup module also includes: The dual-knob encoder detects the rotation direction and angle using phase difference as user input. An 8x8 full-color LED matrix display module is used as the primary output method. A light ring composed of 36 full-color LEDs serves as an auxiliary output method.
3. The portable game console with visual programming based on matrix LED display and rotary encoder according to claim 1, characterized in that, In the visual programming module: It uses the OpenBlock graphical programming language and includes a graphical programming interface and simulator; After building the game logic by dragging and dropping graphical modules, the game can be simulated and debugged by a device-based web emulator. After debugging is complete, a request is sent to the server. The server will then escape the OpenBlock code into C code, compile it into a target bin file, and push the file to the user's bound device. The target bin file is stored in the device's external storage and is executed by the firmware running on the microprocessor using its integrated interpreter.
4. The portable game console with visual programming based on matrix LED display and rotary encoder according to claim 1, characterized in that, The web version also includes community interaction features, specifically: User registration and login, browsing game works, liking, commenting, rating, as well as uploading and downloading works.
5. The portable game console with visual programming based on matrix LED display and rotary encoder according to claim 2, characterized in that, The dual-knob encoder identifies the rotation direction through the phase difference between two IO pins. When phase A leads phase B, it is forward rotation, and vice versa. Angle measurement is achieved through pulse counting.
6. The portable game console with visual programming based on matrix LED display and rotary encoder according to claim 1, characterized in that, The display module has a built-in power management unit that dynamically adjusts the refresh rate and backlight brightness based on the user's operation frequency and game status. Specifically: User operation frequency is denoted as Set high frequency threshold Low frequency threshold Game status Based on this, the refresh rate is determined. Backlight brightness Regulation rules: ; in, Indicates that the game is running. This indicates that the game is paused; high frequency , intermediate frequency low frequency ; While the game is running, the refresh rate is dynamically adjusted based on the frequency of gameplay, while the brightness remains constant. If the game is paused, the refresh rate is fixed. And the brightness is uniformly reduced to the preset brightness. .
7. The portable game console with visual programming based on matrix LED display and rotary encoder according to claim 1, characterized in that, The server module employs a collaborative filtering recommendation algorithm. By constructing a user-game interaction matrix, reducing dimensionality using singular value decomposition, and calculating similarity according to a preset formula, it generates personalized game recommendations. Specifically, it includes the following steps: Collect game behavior data from users via their respective game consoles and report it to the server module, including game browsing, downloads, playtime, and ratings; The server module includes a data processing unit, which constructs a user-game interaction matrix based on game behavior data, where the matrix elements are user ratings of the game. After reducing the dimensionality of the matrix using the singular value decomposition algorithm, the cosine similarity between users or games is calculated. Based on the similarity calculation results, a weighted sum is calculated of the games liked by other users similar to the target user to generate a recommendation list.
8. The portable game console with visual programming based on matrix LED display and rotary encoder according to claim 7, characterized in that, The server module supports batch processing of compilation requests from multiple devices and adjusts the compilation queue according to the concurrency level.