AI-driven LoRa & LLM-enabled Drive-through Kiosk & Food Delivery System

HARDWARE LIST
1 LattePanda Mu - A Micro x86 Compute Module (N305 CPU, 16GB RAM, 64GB eMMC)
1 Full-Function Evaluation Carrier Board for LattePanda Mu
1 Aluminum Active Cooler for LattePanda Mu
1 Fermion: 2.0" 320x240 IPS TFT LCD Display
1 ELECROW Custom Regular PCB
1 ELECROW Custom Flex PCB
1 LR1302 LoRaWAN Long Range Gateway Module SPI (EU868 SX1302)
1 LR1302 868M/915M LoRaWAN Hat for RPI (SX1302)
1 RA-08H LoRaWan Node Board with RP2040
1 Crowtail - Serial Camera
1 Raspberry Pi 4 Model B
1 Arduino Nicla Vision
3 Nema 17 (17HS3401) Stepper Motor
3 A4988 Driver Module
2 Limit Switch (KW10-Z2P)
20 Button (6x6)
1 5mm Common Anode RGB LED
3 DC Barrel Female Power Jack
2 DC Barrel to Wire Jack (Male)
1 DC Barrel to Wire Jack (Female)
2 GT2 20T Pulley
4 GT2 Toothless Passive Idler Pulley with Bearing (5mm Bore)
2 GT2 16T Passive Idler Pulley with Bearing (3mm Bore)
1 GT2 Timing Belt (5m)
2 GT2 Aluminium Timing Belt Fixing Piece (Clamp)
2 GT2 Torsion Spring
1 M3 Screws, Nuts, and Washers
1 M3 Brass Threaded Inserts
1 M3 Brass Hex Standoffs
4 20 mm Steel Ball (Bead)
1 ATX Power Supply Unit (PSU)
1 XH-M229 ATX Power Supply Adapter Board (Breakout)
1 Xiaomi 20000 mAh 3 Pro Type-C Powerbank
1 USB Buck-Boost Converter Board
1 Micro SD Card
1 SanDisk Ultra 500GB M.2 NVMe 3D SSD
1 AC8265 Wireless Dual-mode NIC
1 4 Pin Crowtail to Male Jumper Wire
1 Jumper Wires
1 Bambu Lab A1 Combo

After scrutinizing pioneering research papers on AI-powered applications and improvements for restaurant food preparation and delivery, I had become fascinated by the prospects of AI-oriented solutions in the food service industry. Thus, I have started to conceptualize a state-of-the-art restaurant from the ground up to not only employ AI-assisted solutions to enhance a preexisting restaurant workstation in limited aspects to automate food preparation and service procedures, as extensively covered in the aforementioned research papers, but also utilize AI-based algorithms to give customers a considerable degree of autonomy in generating user-specific menus/deals based on their preferences to provide an authentic and personalized customer experience. In other words, I focused on developing a restaurant establishment from scratch, providing AI-assisted features in customer relations, special menu/deal generation, kiosk/web dashboard interactions, order management, food preparation, and food service processes.

 

While conceptualizing all of the AI-assisted features I wanted to implement in my hypothetical restaurant installation, I conducted extensive research about various restaurant types to pinpoint the best establishment layout that would effectively showcase my concepts and solutions. In this regard, I decided to base my restaurant establishment layout on popular drive-through restaurants since their fast-paced service requirements and high customer retention rates provide the ideal conditions to examine and emphasize my AI-assisted solutions as a proof-of-concept research project.

 

Considering a drive-through restaurant's structure and requirements, I started to work on determining my objectives regarding my AI-assisted solutions that would improve customers' overall impression by providing a personalized, attentive, and consistent experience from the restaurant web application (and dashboard) to the kiosk customer endpoint.

 

After considering different networking options between the restaurant web application and the kiosk customer endpoint, I decided to utilize LoRaWAN due to its long-range coverage, low power consumption, and consistency, especially for handling simultaneous and interconnected operations of a fast-paced drive-through restaurant.

 

As opposed to the usual drive-through restaurant customer experience, in accordance with my AI-powered solutions, I concentrated on providing customers with the autonomy to generate user-specific menus/deals based on their preferences by employing different large language models (LLMs) enabled by the restaurant web application. In this regard, the web application allows the selected LLM to access customer preferences, available food item information (name, price, etc.), and food categories from the database to generate user-specific menus/deals. While producing menus/deals, the selected LLM determines the menu theme, description, the offered food item list, and the applied discount percentage.

 

In addition to the LLM-generated user-specific menus/deals, I decided to develop AI-assisted features to recognize registered customer vehicles for account authorization and identify food prep stations for performing the automatic food delivery process precisely in order to provide an outstanding AI-oriented customer experience. Nonetheless, I chose not to implement an involuntary data collection process for customer vehicles since I did not want to build a 1984-esque drive-through restaurant establishment :) In this regard, I developed vehicle image collection and account authorization based on vehicle recognition as opt-in restaurant features.

 

So, my initial objectives became as follows.

 

🤖 Objectives

 

✅ Developing a full-fledged web application to enable customers to create user accounts and provide contact information, payment settings, and menu/deal preferences.

 

✅ Enabling the web application to generate unique 4-digit authentication keys for each customer account.

 

✅ Preparing the available food item list and generic menus/deals offered by the drive-through restaurant.

 

✅ Utilizing the web application as the main drive-through kiosk interface to present generic menus/deals that would be available to customers with or without a user account.

 

✅ Enabling the web application to employ different LLMs to give customers the autonomy to generate user-specific menus/deals based on their preferences, distinguished by unique order tags.

 

✅ Providing restaurant workers with a real-time order schedule via the web application, including thorough menu information and the requested items per food prep station.

 

✅ Developing the kiosk customer endpoint, which would allow customers to order generic or user-specific menus/deals, collect image samples of their vehicles, and authorize their user accounts on the web application via vehicle detection (opt-in).

 

✅ Enabling the kiosk customer endpoint to communicate with the restaurant web application via LoRaWAN.

 

✅ Building a web-enabled food delivery mechanism to provide customers with the requested food items automatically, which would communicate with the web application to obtain the latest placed order information and update the order status.

 

In accordance with my initial objectives, I started to develop my stated AI-assisted drive-through restaurant features and mechanisms.

 

First, I decided to employ Ollama to enable the restaurant web application to capitalize on various LLMs (large language models) locally without any third-party service or paywall. Since I had been utilizing LattePanda Mu (N305) with its full-function evaluation carrier board, which is a powerful and capable SBC (single-board computer), I was able to generate reliable responses with relatively high speeds by using solely the onboard CPU — octa-core.

 

Then, I started to develop the kiosk customer endpoint, which handles customer-to-kiosk interactions and AI-based vehicle identification. As discussed, I decided to utilize LoRaWAN to establish the workflow between the endpoint and the restaurant web application. Thus, I based the customer endpoint design on the budget-friendly and feature-rich RA-08H LoRaWAN node board. Of course, the kiosk customer endpoint would not be complete without a dedicated LoRaWAN gateway transferring data packets to the web application with optimized configurations. Thus, I decided to utilize the LR1302 LoRaWAN gateway module and its Raspberry Pi-compatible hat. Also, I designed a unique PCB for the kiosk customer endpoint to build a compact and user-friendly device.

 

In order to process the LoRa-transmitted data packets from the customer endpoint, I connected the LoRaWAN gateway to The Things Network. Then, I enabled the restaurant web application to run a PHP-based MQTT client to access the LoRa-transmitted data packets continuously through The Things Stack MQTT server.

 

Finally, I started to develop the automatic food delivery system, which communicates with the web application to obtain the latest order information and collects the requested food items from the food prep stations to serve them to customers. After considering various design approaches, I decided to base my food delivery system on the H-Bot gantry mechanism, which is driven by a single GT2 timing belt and provides a high level of precision for simple sorting and conveyor transfer operations.

 

Since I wanted to make the food delivery system capable of identifying individual food prep stations via object detection, I decided to design unique AprilTag signs for each prep station. Thus, I decided to utilize Arduino Nicla Vision as the processor of my food delivery system, which is an easy-to-use and scalable development board with a built-in camera. Since I designed an H-Bot-inspired mechanism, a regular (Rigid) PCB would not allow me to develop the features I envisioned for the gantry head serving the collected food items. Hence, I decided to design a unique Flex PCB for the food delivery system, which would include stiffeners to enhance mechanical strength.

 

So, my preliminary tasks to complete this research project became as follows.

 

🤖 Preliminary Tasks

 

✅ Establishing Ollama on LattePanda Mu and installing distinct open-source LLMs (large language models).

 

✅ Optimizing, fine-tuning, and testing the available LLMs to pinpoint the most suitable ones for user-specific menu/deal generation.

 

✅ Establishing the LoRaWAN data transfer procedure between the kiosk customer endpoint and The Things Network via the dedicated LoRaWAN gateway.

 

✅ Installing the PHP-MQTT client on LattePanda Mu to enable the restaurant web application to obtain LoRa-transmitted data packets from The Things Network.

 

✅ Enabling the web application to present the latest LoRa transmission logs and the current order status automatically.

 

✅ Prototyping and designing the kiosk customer endpoint PCB.

 

✅ Designing assembly parts for the kiosk customer endpoint and the vehicle platform.

 

✅ Designing assembly parts and AprilTag signs for the food prep stations.

 

✅ Prototyping and designing the food delivery system Flex PCB with stiffeners.

 

✅ Designing assembly and mechanical parts for the automatic food delivery system inspired by the H-Bot kinematic structure.

 

✅ Building a FOMO object detection model with Edge Impulse for recognizing the registered customer vehicles.

 

✅ Building a FOMO object detection model with Edge Impulse for identifying individual food prep stations by their assigned AprilTag signs.

 

After completing the mentioned tasks and rigorously examining various LLMs for user-specific menu/deal generation, I decided to enable these models on the restaurant web application to provide a wide range of options:

 

deepseek-r1:8b

 

deepseek-r1:7b

 

deepseek-r1:1.5b

 

gemma3:4b

 

gemma3:1b

 

llama3.2:3b

 

qwen3:4b

 

phi4-mini 

 

After concluding all design, networking, building, and programming steps that I could not cover in this already long introduction, I finalized my proof-of-concept research project, showcasing a full-fledged drive-through restaurant enhanced with the AI-assisted features I envisioned.

 

By referring to the project Hackster tutorial, you can inspect the in-depth feature, design, and code explanations with the challenges I faced during the overall development process.

 

The project's GitHub repository provides:

 

Drive-restaurant web application

 

Kiosk customer endpoint code files

 

Food delivery system code files

 

Endpoint PCB manufacturing files (Gerber)

 

Delivery system Flex PCB manufacturing files (Gerber)

 

3D part and component design files (STL)

 

Edge Impulse FOMO object detection models (Arduino library)

License
All Rights
Reserved
licensBg
0