The ESP32 microcontroller stands out in the IoT realm with its dual-core 240MHz CPU, integrated WiFi, and extensive GPIOs. The low-cost and breadboard-friendly ESP32 development boards facilitate easy prototyping, allowing seamless integration with many sensors.
However, the true magic unfolds with the Xedge32 IoT platform, which opens up the opportunity to program the ESP32 using the incredibly intuitive Lua programming language. The Xedge32 targets a broad spectrum of users, including those without C code experience.
Making Secure Embedded Development Easier Than Ever!
With the Xedge32, programming embedded systems becomes accessible to everyone, not just embedded C/C++ experts. It's designed to simplify the development of robust, commercial IoT products, making advanced programming more approachable and affordable.
Xedge32 expands microcontroller-based IoT programming to a much wider audience, from seasoned developers to novices. The simplicity and accessibility of Lua make getting started easy and fun, while professional OEM developers will appreciate that Xedge32 is specifically designed for easy OEM integration, providing cost-effective, fast, efficient, and secure IoT and web development.
Xedge32: A💯percent self-contained ESP32 development environment, empowering you to code directly from any browser.
To install Xedge32 on your ESP32-S3 or ESP32-WROVER, first connect the ESP32's USB cable to your computer. Then, simply click the 'Install Xedge32' button below:
Upon clicking the above button, a list of devices will appear. Select the device that includes 'serial' in its name. Proceed with the installation wizard. Once installation is complete, reboot the ESP32 by unplugging and then replugging the USB cable. Your ESP32 will now be in access point mode. For guidance on configuring and using Xedge32 in this mode, refer to the ESP32 Access Point Mode documentation. Note: Certain ESP32 models require entering boot mode (Firmware Installation Mode) for proper firmware installation operation. This can be achieved by pressing and holding the boot button while connecting the USB cable. The initial 40 seconds of this video show the exact process for entering boot mode.
Advanced users can install Xedge32 directly via the command line or compile the Xedge32 source code for a customized build. While Xedge32 is designed for professional use and seamless OEM integration, it is equally suitable for hobbyists and developers who want to leverage its powerful features right out of the box without requiring OEM customization.
Xedge32 is a development platform for the ESP32 microcontroller built upon Xedge, which constitutes 90% of Xedge32's functionality and offers a wide range of IT and OT protocols - referred to as the north bridge. Xedge32 extends the Xedge's Lua APIs and provides a comprehensive interface to the ESP32's GPIOs, referred to as the south bridge.
With Xedge32, you can develop a full-fledged solution without diving into C programming. Device-specific code can be written in the user-friendly Lua language, significantly reducing development time. However, OEM integrators can easily extend its functionality, allowing them to add additional features and tailor the solution to their specific needs.
Xedge32 goes beyond simple GPIO sampling by fully integrating with ESP32's interrupts, leading to powerful implications for various applications:
Augmenting the ESP32 with Ethernet capabilities is seamless with the W5500 chip, a simple, compact, and low-power Ethernet module. The amalgamation of these components creates a dynamic, networked communication platform that enhances ESP32 beyond its standard Wi-Fi capabilities. But the highlight is that Ethernet capabilities can be effortlessly enabled using the Lua language using the stock firmware.
The Xedge32 Development Environment serves as an integral platform for an array of Internet of Things (IoT) protocols. This comprehensive suite is tailored for industrial edge devices, integrating advanced protocols such as MQTT, OPC UA, and Modbus. Additionally, Xedge32 facilitates the creation of web-based device management applications, significantly elevating the standards of device interaction and control. See the IoT Toolkit's Reference Manual for details.
In conclusion, the Xedge32 development environment is a significant step forward in providing easy-to-use tools for developing secure, efficient, cost-effective IoT products. Its integration with Lua and ESP32, ease of use, and focus on security make it a compelling choice for IoT developers aiming to meet the growing demands of the IoT market.
While NodeMCU has been a go-to option for hobbyists diving into embedded systems using Lua, Xedge32 takes it a step further by catering to both professionals and hobbyists alike. Xedge32 is specifically designed for the ESP32 and offers a robust set of features and protocols, making it suitable for both simple and complex enterprise-level projects.
Arduino has long been the go-to platform for hobbyists due to its simplicity and vast community support. Xedge32, on the other hand, builds on the ESP32's capabilities with a Lua-based, non-blocking framework suited for both hobby and professional-grade applications, offering greater flexibility for complex, connected projects. See Arduino vs. Xedge32 for details.
While MicroPython is popular among hobbyists due to its Python-like syntax and straightforward development flow, it wasn't designed for professional embedded use. Xedge32, built on Lua and explicitly tailored for embedded use, goes much further and simplifies professional OEM integration. If you're comparing MicroPython and Xedge32 for serious embedded work, read the full breakdown here: MicroPython vs Xedge32: The Engineer's Guide.
The original ESP8266 was designed as a Wi-Fi co-processor. Today, with the ESP32 and Xedge32, that concept has evolved into a modern solution that lets hardware engineers quickly Internet-enable legacy devices with minimal effort.
The following video shows how easy it is to install Xedge32 and how to configure the WiFi settings.
Xedge32 is constructed utilizing components from the Barracuda App Server's amalgamated C Code Library. This library is available under two types of licenses:
A note on the GPL license: In a commercial context, entities can use GPL-licensed software internally without issue. However, suppose you choose to use this license for production. In that case, the distribution of production-ready products incorporating GPL-licensed software must comply with the GPL terms unless you qualify for the exception detailed below.
An exception to the GPL license is available for smaller enterprises. This exception allows these businesses to incorporate the GPL-licensed code into their commercial products without the typical GPL restrictions. Refer to the license page for qualification details.
See Real Time Logic's license page for details.
In today's landscape, misconceptions, rigid ideas, and biases often cloud our understanding. The article Low-Code and Easy IoT Embedded Systems Programming offers a fresh perspective for those navigating the complexities of MCU-based IoT solutions. By exploring the capabilities of an Xedge32-powered ESP32, you will gain insights that could lead to more efficient and cost-effective solutions for your organization.
Lua is the fastest non-JIT scripting language, with Lua code being compiled into bytecode and executed on the Lua virtual machine.
The above video showcases our MQTT 5 stack, entirely implemented in Lua, demonstrating the speed and efficiency of Lua programming. Alongside, it features the Lua LED strip test program, a part of the Xedge32 documentation. Combining an MQTT test program with the LED strip test program highlights Lua's powerful capabilities in real-time processing on a microcontroller.