.NET MAUI Development
Xamarin Application Development
React Native App Development
iOS Application Development
Android Application Development
Android Wear App Development
Ionic Development
Universal Windows Platform (UWP)
Kotlin Application Development
Swift Application Development
Flutter Application Development
PWA Application Development
Hire Flutter Developers
Hire Certified React Native Developers
Flutter Health Tech & Wearable App Development Company
React Native Health Tech Wearable App Development
Offshore Software Development
Custom Application Development
Front-End Development
Full Stack Development
AI & Machine Learning
Custom CRM Solutions
Flask Software Development
Electron JS Development
ChatGPT Development
.NET Application Development
.NET Nuke Development
Microsoft Dynamics CRM
Microsoft Small Business Solution
VB .NET Development
C# Development
Sharepoint Migration
Sharepoint Development
ASP.NET Core Development
ASP.NET Development
ASP.NET MVC Development
Kentico CMS
Umbraco CMS
AJAX Development
Agile Development
Microsoft Bot
Microsoft Blazor
Microsoft Azure Cognitive
.Net Maui Healthcare Wearable App
Nuki Smart Lock
Salto Smart Lock
TTlock Smart Lock
NFC App Development
Smart Locker Solutions
Hospital Smart Lock Systems
Hotel Smart Lock Systems
Smart Home & Office Locks
Smart Access for Schools & Colleges
Unloc Smart Lock Integration
Yale & August Smart Lock Integration
Populife Smart Lock Integration
Smart Lock Hardware Development
RaspBerry Pi
Firmware Software Development
ESP 32 Software Development
Embedded Development
Internet of Things
IoT Sensor Integration & Development Solutions
Azure IOT Integration
Tuya IoT App Development
Particle IoT SDK
Hire IoT & Embedded Developers
STM32 Firmware & Hardware Development
IoT Development with AI
Dairy GPS Tracking Solutions
GPS Fleet Management Software
Car Rental & Subscription Solutions
Car Buy & Sell Marketplace Development
AI-Powered Car Wash App Development
PCB Design & Fabrication
IoT AC Automation
AI–IoT Painting Solutions
IoT Wearable Hardware & App Development
HVAC Automation & AI Control Systems
Smart Home IoT Engineering
AI Embedded Systems
AI Hardware Design Service
Advanced IoT Hardware & Firmware Development
Device Driver Development Services
Microchip PIC & AVR Development
Hire IoT Architects
IoT Cloud & Infrastructure Solutions
Infineon XMC / AURIX Development Services
Matter & Thread IoT Services
IoT Wearable Device Development
Native IoT Mobile App Development (BLE & Wi-Fi)
Snapdragon IoT Firmware Development
Renesas RA/RX Firmware Services
Smart Wearable App Development
Smart IoT Meters
Smart Healthcare Wearable App Development
Health Care Monitoring System
Fitness Tracking App Development
Smart Home Automation Apps
nRF PCB Design
ESP32 PCB Design
STM32 PCB Design
Embedded Wearables Engineers
Rental Property Management System
Smart Lighting Development
Infineon Semiconductor Firmware Development Services
Custom Camera Development: Hardware, Firmware & PCB Prototyping
The Vacuum Cleaner Robot is an open-source DIY robotic vacuum cleaner developed by the IoT App Development Company, representing a departure from the drone platforms previously explored in this series.
The Vacuum Cleaner Robot is an open-source DIY robotic vacuum cleaner developed by the IoT App Development Company, representing a departure from the drone platforms previously explored in this series.
This project recognized the market potential of home service robotics and decided to work with the autonomous robot vacuum cleaner, arguably already one of the most established consumer robotics products.
The project had both practical and educational aims, as although robotic vacuum cleaners by providers like Xiaomi and iRobot are available on the market, making such a machine from scratch provides invaluable knowledge regarding the entire set of technologies that are relevant to creating autonomous mobile systems, from motor system to navigation algorithms and power supply.
The robot has a shape of 385 × 99 mm and a weight of about 3 kg, it is equipped with two side and one main brush working for approximately half an hour, the robot is both Wi-Fi and Bluetooth enabled.
This platform uses hybrid architecture, i.e. the working principle of this robot is based on the use of both Arduino Mega 2560 for managing hardware in real time and Raspberry Pi Zero W for controlling navigation and communication in order to combine the reliability of microcontrollers with versatility of single board computers.
The entire structure was developed utilizing Autodesk Fusion 360 for parametric designing and subsequently sliced using Cura for FDM printing, with all components manufactured with PLA plastic material. It focuses on serviceability and modular assembly, enabling the interchange of specific parts without the disassembly of the entire robot.
The rounded shape ensures both functionality and practicality, preventing the robot getting stuck in corners and providing a sleek and easy shape that can be manufactured through FDM printing processes.
The design of the mechanical system embodies several intentional technical decisions. Its rounded dimensions of 385 × 99 mm yield a small but stable form suitable for cleaning smaller environments like flats. A total weight of 3 kg ensures that traction on the driven wheels is achieved without making the system too heavy for the motors.
The cleaning system utilizes a set of three brushes, of which two are side brushes delivering cleaning of corners and borders, while one is the main brush responsible for removing debris from the cleaning area, with each brush controlled by its own motor. The airframe is 3D-printed, enabling rapid iteration and adaptation of the system should any modifications in the specifications, such as motor sizes, power packs, or sensor capabilities arise.
The electrical subsystem revolves around two printed circuit boards made for a specific purpose, which are the power controller and the motherboard.
By separating the tasks performed by each of the boards, the electrical management functions remain in operation even when the core computing units are turned off, which is crucial from the safety point of view for equipment relying on lithium-ion batteries.
The motherboard is the central electronics board, integrating both the A1 hardware controller and the Core processing unit while serving as the primary communication hub for all sensors, actuators, motors, and peripheral modules.
The system architecture follows a layered hierarchy: the Raspberry Pi Zero 2 W (Core) communicates with the Arduino Mega 2560 (A1) over a serial interface, sending high-level movement commands and receiving sensor data in real time.
The A1 module handles all time-critical hardware operations requiring deterministic performance: drive motor control, vacuum motor control, brush motor control, encoder processing, sensor acquisition, battery monitoring, power management, and hardware diagnostics.
The Core module, based on the Raspberry Pi Zero 2 W, gets its power from the software that plays a significant role in robot navigation, cleaning operations, behavior controls, communication processes, and application interface.
The Core consists of the independent firmware projects, Arduino firmware employed for the A1 system and Pi programming for the Core, meaning that any software system could be programmed and redesigned without creating any issues for the other system.
The Power Controller is an independent board controlled by a microcontroller that monitors the power system of the robot and interacts with the A1 controller through I²C.
One of its main aims is to make safe disconnection possible. When the user hits the power button, the Power Controller sends a signal to the A1 controller, and the A1 controller sends a signal to the Raspberry Pi that it should disconnect the main power supply only after performing a standard termination of the Linux operating system.
This sequence prevents filesystem corruption and protects the SD card from unexpected power loss. The Power Controller also continuously monitors total battery voltage, individual cell voltages, charging state, charger health, and power state, making these values available to the A1 via I²C requests.
The power system is a 4-cell (4S) lithium-ion battery pack built using high-capacity 18650 cells with a built-in Battery Management System (BMS). With a nominal voltage of 14.8 V and a capacity of about 5 Ah, the battery is well-suited for supplying the current needed for drive motors, vacuum motors, onboard electronics, and wireless communications.
The BMS provides cell balancing, over-charge protection, over-discharge protection, short-circuit protection, over-current protection, and battery monitoring. The voltage of the individual cells is measured through the analog inputs connected to the balance connector while the microcontroller calculates the individual voltages using the adjacent cumulative measurements.
The firmware continuously monitors total battery voltage, individual cell voltages, low battery conditions, critical battery levels, charging state, and battery health, enabling low battery warnings, deep discharge prevention, automatic shutdown, and battery lifespan improvement.
In order to achieve quick development without losing reliability, we have opted for the wheel assemblies of the Xiaomi Mijia 1T (STYTJ02HZM) robot vacuum cleaner to be used as part of our drive assembly. These units are made up of a DC motor, a high-torque gearbox, and a dual Hall-effect encoder in a compact OEM package suitable for differential drive robots.
On account of the integrated encoders, closed-loop control of the motor is now possible, which allows the robot to keep track of wheel speed and travel distance as well as the direction of movement for correct navigation.
The wheel module was reverse-engineered to identify the various pin connections such as MA, MA for the motor terminals, VCC for the Hall sensor power supply, GND for ground, H1 and H2 for the outputs from the quadrature encoder.
The signals from H1 and H2 are the quadrature encoder signals that are used for determining the speed of the wheel, its rotation direction, and the distance traveled. Testing confirmed that one rotation of the wheel produces about 237 pulses, which is the ideal number of pulses needed for accurate odometry.
Pulses from the encoder are read by the Arduino through external interrupts, which allow the A1 module to know the position of the robot via dead reckoning.
Instead of utilizing a standard vacuum assembly, the project proposes the use of an almost fully custom centrifugal blower driven by a brushed DC motor.
The vacuum system has been developed with the following criteria: compact size, high suction capacity, low power consumption, lightweight design, use of 3D printed elements, easy maintenance requirements, low production cost, and modular approach for future upgrades to the system.
The first version of the prototype comprised six important parts, most of which were made using a 3D printer. It used a 12 volt brushed direct current motor with a speed of 12000 revolutions per minute and torque of 0.425 kg•cm.
Despite having a simple mechanical design and good suction power, testing unveiled a number of weak aspects of this prototype; in particular, it turned out to be about 130 mm long and consumes about 3.9 amps at 12 volts, too heavy for the robot in focus, and lacked speed feedback.
The focus of the second version of the design was on accomplishing efficiency improvements and, at the same time, considerable decrease of its size.
Key changes included reducing the turbine diameter from 80 mm to 55 mm, reducing the clearance between the turbine and housing from 10 mm to 5 mm, relocating the outlet port closer to the housing corner, reducing the turbine hub diameter from 29 mm to 25 mm, and increasing housing wall thickness to 2 mm for improved rigidity.
The redesigned blower reduced overall height from 130 mm to approximately 75 mm and decreased current consumption from approximately 3.9 A to 2.4 A at 12 V while maintaining satisfactory suction performance.
Bluetooth is mainly used in the initial setup of devices, configuration, diagnostic tests, and short-range communication of devices when they are not connected to a wireless signal.
The communication between the Android app and the Raspberry Pi Zero W uses JSON encoded message via a Bluetooth serial connection to send and receive requests and responses. Each packet consists of a type field such as REQUEST or RESPONSE and a content object.
The REQUEST packet contains the request_name which is different for each request, generates the request_id that is unique to each request and other additional parameters. The RESPONSE packet returns the original request_name along with the request_id, status, and sometimes the error message.
The core has built in Bluetooth API that can receive commands such as test packets, configuration changes, and status requests.
Wi-Fi connection allows for manual operation and tracking of cleaning history. Android Native App (SDK level ≥ 22) manages many configurations and functions, such as analysis and manual operation.
The app communicates with the Core through Bluetooth (for configuration and setup) and Wi-Fi (for controlling the operation and monitoring the data).
The greatest difficulty in executing this project was merging two completely different computing environments based on different operational approaches.
While the Arduino Mega 2560 runs on bare-metal technology and has deterministic timing, the Raspberry Pi Zero W works with a full-fledged Linux operating system based on non-deterministic scheduling.
The two platforms needed careful protocol setup for there to be reliable command transmitting and sensor data transmitting via serial communication interface.
The power system design was a challenge and not only a trivial battery choice. The graceful shutdown process, which guarantees that the Raspberry Pi goes through file system-compatible shutdown before breaking the power supply, requires cooperation of three independent processors, namely the Power Controller, the A1 module, and the Core.
The I²C command interface with explicit state machine transitions (TURN_ON, SHUTTING_DOWN, TURNED_OFF) was essential for preventing race conditions and ensuring reliable operation.
The process of iteratively developing the vacuum with the inherent pitfalls of current technologies was demonstrated in this scenario.
While the first prototype showed a satisfactory performance in suction, it did not meet the size or energy consumption requirements of the robot.
The second prototype demonstrated a reduction in energy consumption (38%) and height (42%) via systematic development based on performance data.
The prototype of the vacuum cleaner robot shows that it is possible to create a complicated autonomous mobile robot from accessible components through systematic and modular engineering.
By separating real-time hardware control from high-level navigation and communication functions, the design ensures deterministic motor control and flexibility of software enhancement.
The development of the custom PCB architecture, that includes a specially designed motherboard and power controller boards, guarantees reliable functioning and battery safety.
The iterative creation of the vacuuming mechanism relates to the necessity to collect the relevant performance data that can help in the improvement of the design.
Above all, the project is a good educational tool, as it showcases all the essential aspects of embedded system and robotics technology and proves that the boundary between DIY projects and commercial products can be overcome through careful engineering and testing.
Project Repository: github.com/IoT-App-Development-Company/vacuum-cleaner-robot
Client satisfaction is our ultimate goal. Here are some kind words of our precious clients they have used to express their satisfaction with our service.
I came across Adequate Infosoft while searching for an IT company to design a virtual platform for my Telemedicine business. AI helped me to make my dream project a reality.
Frederick Hess
The price and professionalism of Adequate Infosoft's project team are the most appealing aspects of working with them. The team provides weekly progress reports and responds quickly to the concerns I have.
Kim Jespersen
My team is very satisfied with the professionalism shown by the Adequate Infosoft team during the project. We are looking forward to working with them again.
Óli Freysson
I contacted AI for an Android and iOS application and I am completely satisfied with their service.
Thomas Cheah
I am very satisfied with Adequate Infosoft. very helpful, positive, and quick communication so far. I am looking forward to further cooperation.
Great experience hiring them, understood the requirements very well, and were very effective and efficient in delivering the project. I will hire them for my next project as well and also recommend them to others.
Adequate Infosoft lead development team is efficient and provides the best IT solutions. If you're looking for quick and affordable software development, Adequate Infosoft is your go-to guru!
Adequate Infosoft has stood out to be the best company for providing IT services at affordable prices. Their rapid development approach works in line with our iterative process.
David Kattah
We have worked with Adequate Infosoft for 4 years and it has been a positive experience for me and my company.
Frank Eson
Adequate Infosoft has set a benchmark with its robust product development services. Their development team is highly professional that understands the value of time.
Exceptional service! The AI team guided me through the entire procedure and made it an enjoyable experience.
Kim Jespersen
As a small business, we were most attracted to Adequate Infosoft's competitive pricing and the ability to quickly scale up or down the number of developers supporting the application.
Mr. Aaron
It was a pleasure to collaborate with Adequate Infosoft. Their development team is comprised of true experts.
Adequate Infosoft helped us get the most from Ceraphi, with smooth setup, responsive support, and practical, effective solutions.
Adequate Infosoft helped us develop our smart lock solution, including both the mobile app and web app
The Adequate Infosoft team helped us deliver a custom IoT solution for our European customers very efficiently
Smart Controls
Adequate Infosoft did a great job, helping us implement energy-efficient solutions smoothly.
Australia Health Pty Ltd
The team understood our needs and delivered quality health tech solutions on time.
Adequate Infosoft felt like a true partner, very supportive team, clear communication, on-time delivery, and quality work we genuinely trust.
With a physical presence in over 15 countries and a global footprint spanning 25+ countries, we are ready to serve you anywhere. Location, language, or culture is never a barrier, because our global team can work with you in your language. Our strong international team ensures seamless collaboration across borders We have a strong tech team, highly recognized in their domains, with extensive technical expertise.
Architect & Solution-Level Expert | Recognized Thought Leader with 8k+ LinkedIn Followers
Certified Developer | Driving AI, ML & Data Science Solutions
17+ Years in AI & IoT | 7,000+ Followers | Recognized Technology Leader
20+ Years in Tech | AI & Cloud Architect | HealthTech Innovator | 3,000+ Followers
IoT4All | IoT & Hardware Expert | Established Reputation in Europe
Technology Director at AOTC Limited, certified in CISSP, TOGAF, and SAFe. Leading technical operations across UK, Australia & New Zealand. Former Principal Integration Architect at Vodafone. Available on WhatsApp: +44 7563 407814, +61 458 765 85.
Helping SMEs Overcome Digitalization Challenges | Startup Tech Expert
AI, Life Sciences, HealthTech & Robotics Expert | 8,000+ Followers
25+ Years in Tech | Cloud Consultant | Lead Developer
SFMC Consultant & Developer
Cloud & AI Consultant
Tech Consultant • Sr. Application Developer • IoT & Hardware Expert
AI, IoT & Cloud Expert | Software Consultant
SAP Developer • Technical Consultant | ERP Solutions Specialist
Database & Network Expert • Mobile & Web Architect
Java Developer | Backend & Application Specialist
Engineer & Technology Consultant
Developer • Technical Consultant | Solutions & Strategy Expert
Technical Consultant | IT Strategy & Solutions Specialist
Technical Consultant & Developer
Cloud Solutions Expert with 17+ Years of Experience | HBIT Graduate | AI, IoT & Scalable Architecture Specialist
Lead Architect, Java Developer specializing in RESTful Services & Mobile Applications
Technical Consulting & Speaking | ANZ Region
Product Leadership & AI Architecture
Product Engineer (Python, C#, JavaScript, SQL) | Software Engineer & Speaker
Specializing in servers, virtualization, and network infrastructure
IoT Leadership | Global Operations | Digital Transformation
PMP-Certified Expert in IoT, AMI & Smart Metering
Send your message in the form below and we will get back to you as early as possible.
Your request has been sent successfully!