.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
Adequate Infosoft provides end-to-end ESP32 kiosk development services for quick-service restaurants and retail businesses.
This project demonstrates our mastery of creating connected self-service kiosks through the use of various components like ESP32 firmware, as well as embedded and IoT expertise.
Check out the project to see how our knowledge of embedded systems and IoT can produce reliable and scalable kiosk solutions.
The fast-food chain BurgerNation has been facing a reduction in customers as a result of long queues during busy hours. Traditional POS systems needed staff assistance, and self-service kiosks would cost close to €3,000 to €5,000. EmbeddedWorks Lab suggested a completely new solution: low-cost kiosks built on an ESP32 microcontroller costing about €150 per unit.
The result, codenamed McOrder, is a touchscreen-based ordering system that connects to the restaurant's existing order management backend via Wi-Fi.
This case study details the design, development, and deployment of the McOrder kiosk, referencing the open-source repository that contains the complete firmware and hardware design files.
The overall achievement of the project includes a 70% decrease in the kiosk hardware cost, and a 30% reduction in the average order time, along with the successful pilot testing of the project in five locations of BurgerNation.
All the technologies that were used in the project including the ESP32, the LVGL graphics library, the MQTT communication protocol, and Node-RED backend are explained in greater detail.
BurgerNation operated traditional cashier-based ordering. During lunch and dinner rushes, queues exceeded 15 minutes, causing customer drop-off.
They explored commercial kiosk solutions but found them too expensive and inflexible. Their requirements were:
The esp32-mcdonalds-kiosk repository offered the ideal solution. In this repository, a fully operational ordering kiosk has been presented, using ESP32, a 3.5 inches TFT touchscreen and the LVGL graphics library.
EmbeddedWorks Lab adjusted and amended this codebase for the demands of BurgerNation.
The McOrder kiosk is an edge device in a classic IoT architecture. It operates autonomously for user interaction but relies on Wi-Fi to communicate with a central backend for order processing and menu updates.
The layered architecture is what makes this kiosk simple, resilient, and easily scalable.
The repository specifies the following hardware, which we adopted with minor modifications:
| Component | Model / Specification | Role |
|---|---|---|
| Microcontroller | ESP32-WROOM-32 DevKitC | Main processing unit, Wi-Fi, GPIO control |
| Display | 3.5-inch TFT LCD with ILI9488 driver | Visual output for menu and buttons |
| Touchscreen | XPT2046 resistive touch controller | User input via taps |
| SD Card Module | SPI microSD breakout | Stores menu images and UI assets |
| Power Supply | 5V/2A USB adapter or PoE (optional) | Powers the ESP32 and display |
| Enclosure | Custom 3D-printed ABS case | Protects electronics and provides mounting |
The ESP32 is selected owing to its dual-core 240 MHz processor, a 520 KB SRAM, and wireless functionality for an attractive price, below $5. It has enough capability to support a fluid graphical user interface with use of LVGL.
The ILI9488 display has a resolution of 480×320 pixels and a color resolution of 16 bits - clearly sufficient for enticing food photos. The XPT2046 touch controller uses SPI for communication and it is adequately supported by the LVGL library.
The data for restaurant items is stored in JPEG format on the microSD card. This means less flash memory used on the ESP32 when images are loaded when certain menu pages are opened.
The firmware is programmed in C++ based on the Arduino environment with PlatformIO. The directory structure includes:
The interface utilizes LVGL (Light and Versatile Graphics Library) version 8.3. LVGL is an open-source embedded GUI library with multiple widgets, animations, and themes. Thus, it operates not requiring an operating system which is great for the ESP32 limited RAM usage.
The notable features of LVGL used are:
The UI flow is:
All screens are defined in C++ code, making it easy for BurgerNation's staff to modify the menu by editing a single header file.
The ILI9488 display is driven by the TFT_eSPI library created by Bodmer, which has been optimized for the ESP32 device with support for high-speed SPI communication. User_Setup.h (the configuration file for the library) has been modified in this project to match our connections and display configurations. The TFT_eSPI library also allows communication with LVGL through its display driver registration.
The ESP32 is connected to the restaurant's Wi-Fi using the onboard WiFi library. The credentials are saved in the config.h file, but for production purposes, they could be transmitted via the captive portal or BLE.
As for the order communication, it is performed via the use of MQTT used through the PubSubClient library. MQTT is used instead of HTTP because:
The kiosk publishes a JSON payload to the topic restaurant/order/new. An example payload:
{
"kiosk_id": "BK-01",
"timestamp": 1715234567,
"items": [
{"id": 101, "name": "Cheeseburger", "qty": 2, "price": 3.99},
{"id": 202, "name": "Large Fries", "qty": 1, "price": 2.49}
],
"total": 10.47
}
The backend subscribes to this topic, processes the order, and sends it to the kitchen display. The kiosk also subscribes to restaurant/kiosk/BK-01/cmd for remote commands (e.g., "restart", "update menu", "display message").
JSON payloads are created and interpreted by employing the ArduinoJson library. The library is efficient and helps prevent dynamic memory fragmentation which is a problem commonly seen in embedded systems. The order object uses a StaticJsonDocument with a fixed capacity so that heaps are not exhausted.
The SPIFFS file system serves for keeping configuration files and small UI components in the internal flash of the ESP32 microcontroller.
In addition, the microSD card, which can be connected by the SD library module contains larger images, which may be also replaced by the personnel, after which the menu will be updated automatically without any programming.
The backend is intentionally simple and low-cost. It runs on a Raspberry Pi 4 located in the restaurant's back office.
The SPIFFS file system serves for keeping configuration files and small UI components in the internal flash of the ESP32 microcontroller.
In addition, the microSD card, which can be connected by the SD library module contains larger images, which may be also replaced by the personnel, after which the menu will be updated automatically without any programming.
The hardware prototype was first assembled into a prototype system on a breadboard and the code was compiled after the platform was set up. The LVGL demo screens provided the basis for testing the functionality of display and touchscreen.
The most difficult part of our project was completing the UI design in accordance with the requirements set by our client BurgerNation. The default LVGL UI theme was replaced with a custom dark red theme and new graphics were created for different buttons.
We set up the Mosquitto broker and Node-RED on a Raspberry Pi. Initially, the kiosk had intermittent MQTT disconnects due to Wi-Fi power saving.
We resolved this by calling WiFi.setSleep(false) to keep the radio active during operation.
We also implemented MQTT auto-reconnect logic and a local order queue: if the connection is lost, orders are stored in SPIFFS and sent when the connection returns.
A 3D printed enclosure was made along with a tilt stand and a slot for the SD card. Initially five units were deployed in a pilot BurgerNation restaurant. Feedback indicated that some users found the resistive touchscreen to require more pressure.
We adjusted the sensitivity of the touchscreen to make it easier for customers to use.
During this phase, we made 20 systems for initial five restaurant customers. We also created a provisioning script that burns the firmware and loads the default SPIFFS image, as well as sending kiosk_id over a serial command. This way, the newly purchased units could be installed and activated very quickly without any technical help.
After three months of full operation, BurgerNation reported:
The price of each kiosk amounted to €145 for materials (ESP32, display, SD card, power supply, and casing) compared to €3,500 for a commercial unit. This implies a 95.8% reduction in costs.
The average order process dropped from 4 minutes (waiting + ordering) to 1.5 minutes. This gave the opportunity to serve more customers with the same number of employees and increased sales by 12% during peak hours.
Kiosks operated 24/7 with a 99.3% uptime. The only failures were due to power outages, which the system handled gracefully by rebooting into the idle screen.
In the Maintenance section, it could be stated that menu adjustments (such as introducing a new burger) could be implemented by making changes in a JSON file on the SD card and restarting the kiosk without any need for firmware recompilation. The total time taken for this modification didn't exceed five minutes per kiosk.
The Open Source Pros section could say that by utilizing the existing GitHub repo, we were able to save about 200+ man-hours of development. The source code was correctly organized and easily modifiable so that the focus could be on customization.
While the project was a success, several areas could be improved:
As a cost-effective solution, resistive touchscreens have limitations in terms of responsiveness. Going forward, future designs will involve making use of a capacitive touch panel.
At the moment, the present solution needs users to connect via USB in order to carry out firmware updates. In the future, we want to implement OTA updates using the ArduinoOTA library to update via Wi-Fi.
MQTT communication is currently unencrypted within the local network. For production hardening, we will enable TLS and certificate-based authentication.
The current kiosk simulates payment (just displays total). We are working on integrating a low-cost NFC reader to accept contactless payments.
The next version will publish telemetry data (temperature, uptime, free heap) to the MQTT broker so that staff can monitor kiosk health remotely.
The ESP32 McDonald's Kiosk project is an excellent example of how inexpensive hardware can take the place of costly commercial options without losing the capacity to perform the same operations. By using ESP32, LVGL, TFT_eSPI, and MQTT, EmbeddedWorks Lab provided an operational e-ordering kiosk to BurgerNation at a fraction of the cost.
The open-source nature of the repository accelerated development and provided a solid foundation that could be easily adapted to a real-world quick-service restaurant environment.
This case study proves that with the right technology choices and a modular architecture, even small businesses can benefit from IoT-powered automation.
Client: BurgerNation (A regional fast-food chain)
Project Repository: github.com/mmm1712/esp32-mcdonalds-kiosk
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!