Dr. Péter Galambos

Founder and CTO

Posts from this author

Categories list

The new MaxWhere 8 is now available! MaxWhere team is proud to say that users come from various industries and backgrounds, but all are looking for better ways to work, educate or present ideas. Now we bring you a new feature to unleash your creativity – a new SmartBoard type called “Banner Widget”. This widget makes importing and modifying SVG files in MaxWhere easy. 

We also made it easier to sign in to MaxWhere by implementing social login for the web portal.

Learn more about the Banner Widget:

• You can access it in the SmartBoard settings by selecting it from the drop-down menu.

• Import SVG files and a transparent display is also available.

• It keeps the aspect ratio automatically after resizing.

• It keeps the SVG centred in the SmartBoard.

• Use the embedded SVG editor to modify its content.

The embedded SVG editor:

• Opens a canvas inside the SmartBoard

• You can draw & colour different shapes or choose from templates

• Type & format text with the textbox feature

• Import other SVG files in the editor

Faster login:

• Now you can log in to the web portal with your Google, Facebook or Apple account.

• And you can log in faster in the desktop version using the new “Sign in with MaxWhere portal” button.

You can use your previous projects and spaces immediately after downloading and logging in to MaxWhere 8.

Hope you make exciting new projects in MaxWhere. Our team is here to help you if you need assistance.

Categories list

Rainwater tank monitoring without coding

During a MAXWHERE demo, a potential customer asked me how complicated integrating an Industrial IoT device into a MAXWHERE digital twin is. I frankly answered that it could not be more than half an hour from scratch. He smiled widely….

I knew the truth about that because recently, we have integrated a whole bunch of P+F IO-Link sensors through MQTT, so I was pretty confident. To present a double proof, last weekend, I made a quick sprint on my kitchen table and put together a perfect justification: I modeled the IoT monitoring system to my rainwater collector tank using a $20 kit.

Let's see the details…

System architecture

The setup should represent the easiest way of implementing the monitoring. The goal is clear: sampling the water level with some electronics and sending the measurements to a messaging server on an interval basis. In the monitoring app, we then subscribe to the measurements and handle the visualization as we need it.

Regarding the messaging, the way to go (at least for our purpose) is MQTT. This is the quickest possible and lightweight enough IoT messaging platform that can serve a vast majority of use cases even in industrial environment.

Hardware components

For my home projects, I usually use the products of M5 Stack. This company is a rising star from China with supercool components to build almost anything. Since I order M5 Stack stuff regularly, picking all the necessary components from my inventory was easy.

The core of the edge system is an M5 Stack Atom Matrix. A simpler Atom would make it, but I had a Matrix at hand. M5 Atom Matrix is a tiny dev unit with a powerful ESP32 chip with everything I need internally (https://shop.m5stack.com/products/atom-matrix-esp32-development-kit). It can be programmed in multiple environments, such as Platform.IO, Arduino, and MicroPython, but I wanted to use only no-code approaches as much as possible this time, so I used the UIFlow block programming environment.

The easiest way to measure the tank's water level is to use an ultrasonic distance sensor. M5 Stack offers a nice little module (https://shop.m5stack.com/products/ultrasonic-distance-unit-i2c-rcwl-9620) with an I2C interface that can be directly connected to the Atom through a Grove cable (https://wiki.seeedstudio.com/Grove_System).

These are all the hardware we need, at least for a test rig. To make it suitable for the real world, I will put it into a sealed box to protect the stuff from the water. In this post, I just omit such details, but anyone can imagine a 3D-printed case filled with electronics and some silicone.


As a quick sprint, I selected the easiest way to make everything up and running without writing code or typing in the console. According to the architectural design, we have three parts: The embedded software, the communication channel, and the PC side software. In this section, I go through the realization of these three components.

MQTT backend

Installing a local Mosquitto server would also be fine, but if you want global access (e.g., to check your water level from the Bahamas), you need a hosted MQTT server. Luckily, some out-of-the-box service providers exist, like HiveMQ, with which we can pull up a globally accessible MQTT backend in a minute free of charge for small projects.  

After signing in, we immediately have an instance ready to use. The host URL, port, and user credentials should be copypasted to the MQTT clients, and everything is ready to go!

Embedded logic

The microcontroller program is created using the block-based development environment of M5 Stack called UI-Flow (https://flow.m5stack.com/). This web application enables hobbyists and kids to quickly drop a few blocks together to get something to work. Under the hood, it utilizes a static code generator that translates the blocks into python code which can run on the device thanks to the MicroPython runtime (https://micropython.org/) available on the ESP32 platform.

To learn more about bootstrapping a UIFlow dev environment for your M5Stack device, visit this page: https://docs.m5stack.com/en/quick_start/atom/uiflow

And now, take a look at our actual program! Simple enough, isn't it? We could go didactically block by block, but the figure is self-explaining. The only place when some lines of code were unavoidable was the MQTT client's creation. Due to some HiveMQ specifics related to SSL, the simple MQTT config block did not make it.  


At MAXWHERE, we continuously work on making digital-twin prototyping as easy as possible. Therefore, the Virtual Operations Center Builder (VoC) was created to give a simple tool to connect MAXWHERE to the outer world. It is built around the Node-Red no-code development tool that offers a wide variety of nodes to make data flows and implement filter/modifier logic between data sources and sinks.

A set of MAXWHERE-specific nodes allow the developer to create and access the objects of the space and manipulate them according to the user input events and inputs from the outer world. The MQTT subscriber and publisher nodes are among the most potent elements in the node-red basic palette.

Since the node-red flow is yet simple, it is not as trivial as the UIFlow stuff we go through the flow, node by node.    

  1. MQTT subscriber connected to the HIVEMQ instance. Its output is the measurement in raw string format.
  1. A "Range" node transforms the raw measurements into the proper range compatible with the virtual counterpart of the water tank.
  1. The set message.topic node is for setting the message's topic according to the conventions of MAXWHERE's vertical tank node. The message topic on which the level is transmitted to the node should be "setLevel".
  1. This node represents the virtual water tank. By modifying its height and width parameters, the cylindrically shaped tank can be configured to have a horizontal or vertical positioning without any coding. A debug node is used to track what is going through the lines.

One unique benefit of the MAXWHERE space is that the 3D digital twin can be extended with any web content via the so-called MAXWHERE projects. Here, I included some online rainfall statistics and historical data sources.


Testing of the model also took place on my dining table. My wife was so kind to provide the test rig in the form of some fought-down plasticware. The fixture that keeps the ultrasonic sensor in place is improvised from my son's LEGO kit. Let's see how it works:

I hope the reader gets an insight into how sensor integrations work in a MAXWHERE digital-twin project. It goes pretty much the same way using industrial-grade devices and IoT backend technologies: Quick and easy.

In complex, industrial digital-twin projects, we usually perform the MAXWHERE-side development in TypeScript using the MAXWHERE APIs. The lower-level development approach allows for implementing any custom logic and even lets us override the standard MAXWHERE UI. This way, a whole industry-specific virtual operation center can be developed with a considerably small team and agile timeframe. In another blog post, we introduce an Intermodal Logistics Terminal Management application which is an illustrative example of how far we can go with the MAXWHERE digital-twin solutions.

Categories list

MaxWhere 7 – The new era of integrated 3D spaces

We're pleased to deliver to you MaxWhere 7 - a revolution in self-created 3D spaces to manage your own journeys, packed with several new features. The latest version includes Demo Spaces for you to sample MaxWhere features, the ability to clone these into your own spaces, brand new subscription packages, appropriate admin roles, and exciting features that make MaxWhere even more efficient and easier to use.  

Revolutionizing self-service 3D spaces

  • Try MaxWhere Self-Service Features: use our Demo Spaces to sample MaxWhere features
  • Create Your Own Spaces: easily clone your Own Spaces from the Demo Spaces to develop your own flows and experiences for your own user groups.
  • Payment Platform Integration: with all sort’s of pay-as-you-go functionality to make sure you only pay for what you use.
  • Project Explorer: enabling you to tailor and customize all your projects, and give access to the right groups so you can share and collaborate on the experience.
  • New SmartBoard Features: use our self-service, editable SmartBoard feature to publish content in various formats and enable a shared experience.
  • Other Technical Innovations: our new deep-tech physics API enables camera movement as close as possible to real life interaction.

We believe our new MaxWhere 7 will meet all your needs. In order to encourage the transition, we will be sunsetting our older versions – sorry to see them go as they were an important milestone in our journey. Please keep in mind the following dates:

  • MaxWhere 5 will be supported until 2022. 11. 18.  
    After this date, the installation of MaxWhere 5 will no longer be possible, and we will discontinue supporting this version.  If you use this version, please let us know by submitting a ticket at https://www.maxwhere.com/support
  • MaxWhere 6 will be supported until 2023. 03. 31.
    You can use your previous projects and spaces immediately after downloading and logging in to MaxWhere 7.

Demo Spaces

One of the most important new features of MaxWhere 7 is the introduction of Demo Spaces – where you can try the extensive feature set of MaxWhere. After playing around in the Demo spaces, use these to clone your Own Space and start your MaxWhere journey for you and your user community.  

Demo spaces can be used for you to try MaxWhere functionality on your own – placing content, making presentations, enabling SmartBoard features. Once you get to know MaxWhere within the Demo space, we are sure you will want your own space, which you can purchase by cloning our ever-growing list of demo spaces.

Do you have your own demo space you want us to include? No problem, feel free to raise a ticket and we will get in touch to integrate your space as soon as possible.

MaxWhere Demo Spaces

Subscriber Packages

Once you decide you want your Own Space, the Space Creator Interface has been developed to manage your own Spaces, assign user access and select the subscription packages you need for your Spaces. This interface allows you to select the Demo Space to start your new space, choose the proper subscription package, and share it with others. The content and pricing of each package have been designed considering the needs of MaxWhere users – making sure you and your user community pay for only what you use.  

There is a limited free version available for micro-communities and non-commercial use, and there are three additional subscription packages to choose from:  

  • Individual package,  
  • Team package,  
  • Business package.  

Buying a package is quick and convenient online, just use a credit card. We have integrated Stripe, one of the most popular online payment platforms.  

The New Project Explorer

Based on user feedback, the Project Explorer menu has been introduced to replace the Project Editor menu (orange menu) in MaxWhere 7. Users with the proper permissions can see the Projects and Selection Panels of a Space, and easily select, load, and rearrange them.  

We hope this feature will significantly increase the clarity of the content in the Spaces. In addition, the quick ("blue") SmartBoard Editor menu will remain available to manage the placement of SmartBoards in the Space.  

The new Project Explorer and Selection Panels in MaxWhere 7

Administrative Roles in Spaces

To achieve more effective everyday use, we have restructured our permissions system. Within each space, user will have

  • Access right within the entire space itself
  • Access rights associated with particular projects

To see a project, a member of the user community will have to be invited within the space – with various access rights granted as described below. Within the space, you and your user community will have the right to set publicly available projects for all to see, and you can also keep projects entirely private while you work on them, or invitation only thereafter.

Space level access will be granted along the following categories of access:  

  • Space Owner: The Space Owner is the user with a linked account to the Space. Purchases are also made from this account, and the user can invite others to join the Space. The Space Owner sees all content uploaded to the Space. In addition, the Space Owner sets the Admins of the Space.  
  • Space Admin: users with the Space Admin rights can also invite other users to the Space and manage all its content.  
  • Space Editor: Space Editors can create new projects in a Space and upload content into them. They can invite other users already added to the Space to edit and view the projects.  
  • Space Viewer: users who can enter the Space and view the projects shared with them. If they have the rights, they can also edit projects, but they cannot create new projects.

We have also restructured the Project-related permissions and created three groups. This allows not just Space-level but Project-level user management as well.  

  • Project Creator: The Project Creator is the user who created the project. They can be the owners, administrators, or editors of the Space (users with Owner and Admin rights in the Space will automatically obtain Project Creator status for the project). They can modify projects and invite or delete other users as well.  
  • Project Editor: This group of users can edit the content of an existing project and can invite Project Viewers to that project.  
  • Project Viewer: users with whom a project is shared with; they can view but cannot edit the project.  

Additionally, in MaxWhere 7 desktop client (and in future versions), only registered and logged-in users can open Spaces.  

However, no worries if you want to share your Space with someone outside of MaxWhere: no registration is needed to open a Space in our web application. This allows MaxWhere content and Demo Spaces to be easily shared with new users.  

Demo Space for Education

Project-based Daily Operations

As most companies and individual users work on a project basis, MaxWhere 7 has been designed to enable project-based operations. To make this easier for you, accessing and organizing content in MaxWhere 7 is done via projects. Each SmartBoard that is added to the Space must belong to a project. You can add Selection Panels to any project to organize, display, and load projects into the Space enabling you and your team to present content assembled in the most appropriate manner for various user personas.  

Two new features are available in the project settings: autoload and hide. Projects set to autoload in a Space will load by default every time that Space is launched, ensuring that the visitor encounters the specific content and user journey that the space editors envisioned.  

Projects set to hide will not be visible in the Project Explorer. This enables items – that do not belong to any specific projects - to be placed on the SmartBoards (e.g.: company logo) making them appear as default part of the Space.  

Project-based operations will also play an essential role in the future. Projects will also control the permissions of any new, dynamic, user-editable elements.  

SmartBoard Features

SmartBoards are the windows to content and collaboration within MaxWhere – therefore we take development and enhancement of SmartBoard features very seriously. We enhanced SmartBoards with more configuration options. They will be more convenient to use and offer more flexibility in editing Spaces. New SmartBoard settings are:  

  • SmartBoards set to Image frame can display an image file or static web content while requiring fewer resources, allowing you to place a lot of them in your space.  
  • Sleepy SmartBoards are SmartBoards with content that does not need to be changed frequently. These SmartBoards can be put into sleep mode during operation: their content would remain visible, but their resource consumption is significantly reduced, allowing MaxWhere to operate faster.  
  • A Billboard is a type of SmartBoard designed to display static information material to the viewers of the Space, be it a logo, a poster, or any document. This SmartBoard type is not interactive.  

In addition, we also added new properties that make working with SmartBoards more efficient. Just use checkboxes to switch between them:

  • Transparent display  
  • Automatic shutdown to reduce resource consumption (Fall asleep)  
  • Hide the URL bar to prevent changes to SmartBoard content  
  • Hide capsule so that you are not distracted when opening it (only the content is visible)  
  • Hide SmartBoard when it is not needed  
  • "Never wake up,"i.e., content is displayed (e.g., company logo), but no interaction is possible.

Technical Improvements

There are two major technological innovations in MaxWhere 7. We created the possibility of physics-integrated camera movement. This will soon allow us to introduce the ability to avoid "passing through" elements in space and thus providing a better experience when using MaxWhere. Additionally, we implemented a new physics API that will enable more realistic physics simulation for different MaxWhere applications in the future.  

What will you create in MaxWhere? Get MaxWhere 7 here.