SushiPython IoT Framework
OS-like firmware for ESP32 🐟 A complete environment: Web UI, Menus & Drivers out-of-the-box for MicroPython 🐍 From breadboard to real projects 🛠️🚀
SushiPython IoT is a firmware framework for boards based on ESP32 SoC, providing an environment that integrates solid system management with MicroPython.
It is useful for students and makers to accelerate projects by using reliable building blocks to manage core functions, allowing you to focus on application development without getting lost in low-level system details.
# Send an SMS outbound immediately
sushi.cmd("send_sms", ("Alarm: High temperature detected!", "+39XXXXXXXXXX"))
# Perform asynchronous HTTP requests (GET & POST) in a single line
sushi.cmd("http_get", ("https://api.example.com/status", 5000))
sushi.cmd("http_post", ("https://api.example.com/data", '{"temp": 23.5}', "application/json"))
# Control system hardware without knowing the GPIO pin
sushi.cmd("set_out_state", ("RELAY_1", 1))
# Create an interactive item on the physical LCD menu
menu.add_enum_editable_item("Relay Status", on_relay_toggle, 0, "OFF", "ON")
# Handle incoming Web Server requests in just a few lines
def web_cb(args):
# Only managed paths return a tuple
if args[1] == "/api/toggle": return (200, "OK" , "text/plain")
sushi.cmd("set_webserver_hnd", web_cb)
Click to open UI gallery...
SushiPython in action...
More real projects and builds — see Main resources below 🐟
Applications
- Edge computing hubs
- Student experiments
- Fast prototyping
- Home automation systems
- IoT hubs
- Alarm systems
- Domotics servers
- Remote monitoring and data logging systems (e.g., weather stations)
- Local and remote control systems (via local interface, web interface, or modem)
It simplifies development:
- Hardware management: Wi-Fi, LCD, keyboard, modem, I/O expansion, relays, power detection, battery level, buzzer.
- Software features: System management via web UI (network and system settings, logs, status, etc.) and a physical interface for on-device menus.
- Embedded MicroPython environment: Users can run their own scripts freely, while built-in libraries provide optional system management features.
- Embedded high-level MicroPython libraries for rapid access to hardware and software functions (custom menus, web pages, I/O expansion, SMS, HTTP requests, etc.).
Manages all essential components typically present in an IoT system, regardless of the specific application:
- Physical interface management (keyboard, display, status LEDs)
- Wireless connection as client or access point
- Drivers for all hardware components present on the board (I/O expander, modem, etc.)
- Web interface with user-level access (web server and UI)
- Modular menu management for physical interface with keyboard and screen
- High-level MicroPython API for many typical functions: HTTP requests, SMS, GSM calls, web server extension, menu integration, I2C communication, etc.
Main resources
- Documentation
- Firmware download
- Quick code examples
- Full examples & projects
- SushiPython Instagram page
- Sushi IoT Board
- Sushi-IoT on HACKADAY
- SushiBoard Instagram page
Credits
This project embeds MicroPython, a lean and efficient implementation of Python 3 optimized for microcontrollers.
We acknowledge and thank the MicroPython developers and contributors for their outstanding work.
Contacts
If you are interested in the Sushi IoT project or have any questions, feel free to contact me at "mo.iot.wiz[at]gmail[dot]com"













