Blog Home

Arduino Cloud embraces Python and JavaScript for new IoT projects

Arduino TeamJune 7th, 2023
Phyton and Javascript integration

The Internet of Things (IoT) has become a ubiquitous term, encompassing a vast array of applications ranging from small-scale embedded systems to complex networked devices. Traditionally, IoT development has been synonymous with programming in languages like C and C++. However, the landscape is rapidly evolving, with modern languages like Python and JavaScript gaining traction in the IoT space for devices running Linux or other OS, and also with MicroPython for lower resources devices.

In an exciting development, we are thrilled to announce the creation of a workflow on the platform that enables users to seamlessly connect their devices based on these languages with the Arduino Cloud, empowering users to harness their full potential in creating IoT solutions.

The new Manual setup workflow

Traditionally, Arduino Cloud allowed the creation of devices based on Arduino or ESP32/ESP8266 hardware, with automatic sketch creation in C/C++ using the Arduino IoT Cloud library. This workflow featured automatic board provisioning and configuration within the platform. However, we have expanded the device creation process to introduce a new workflow, accommodating applications programmed in Python, MicroPython, or JavaScript, and so offering the ability to create a new breed of applications and devices that can be connected to the Arduino Cloud.

This new workflow, known as “Manual Setup for Any Device” provides users with credentials that can be utilized within their Python, MicroPython, or JavaScript applications. This enables users to keep developing and programming their devices using their preferred environment. Integration with the Arduino Cloud can be achieved using libraries developed in any of the supported languages. Comprehensive documentation, along with a wide array of examples, supports users throughout the implementation process.

Example on how to connect Python, MicroPython or JavaScript to Arduino Cloud

By offering this flexible workflow, Arduino Cloud acknowledges the diverse requirements and preferences of developers. Whether you prefer the convenience of automatic provisioning or the flexibility of manual configuration, the choice is now in your hands.

What can you actually do?

Python: The choice for AI

Python is a versatile and widely-used programming language that offers significant benefits for IoT device development. Its simplicity, readability, and extensive library ecosystem make it an ideal choice for both beginners and experienced developers. Python’s vast library ecosystem provides access to a wide range of pre-built modules and functions, allowing developers to leverage existing code and accelerate development. Additionally, Python’s active and supportive community offers a wealth of knowledge and resources, making it easier to troubleshoot issues, seek advice, and learn from others’ experiences.

Python is not only a versatile language for IoT device development but also the de facto standard language and environment for AI programming. Its extensive library ecosystem, including popular libraries such as TensorFlow, PyTorch, and scikit-learn, makes Python the language of choice for implementing machine learning and deep learning algorithms. The availability of these libraries, along with Python’s intuitive syntax and flexibility, enables developers to build and deploy sophisticated AI models and integrate them seamlessly into IoT applications. Python’s dominance in the AI landscape further adds to its value for IoT device development, as it allows developers to leverage AI capabilities and unlock advanced functionalities in their IoT solutions.

Learn more about how to connect your Python applications to the IoT Cloud.

MicroPython: The power of Python on tiny processors

MicroPython is a popular platform for IoT development due to its simplicity, efficiency, and versatility. It supports various microcontroller platforms, including Arduino, ESP32, and Raspberry Pi Pico, offering cross-platform compatibility. With its familiar Python syntax, MicroPython is easy to learn and use, making rapid prototyping and development accessible. It optimizes memory usage and runtime performance, even on resource-constrained devices. MicroPython benefits from an extensive library ecosystem, enabling quick integration of functionalities and interoperability with other IoT platforms. Its active community provides abundant resources, support, and a vibrant ecosystem for IoT innovation. Overall, MicroPython is a powerful tool for building efficient and feature-rich IoT devices.

If you want to learn more about how to connect to the IoT Cloud using MicroPython, check this getting started article and the full tutorial

JavaScript: Event-driven applications across multiple platforms

JavaScript has found its place in IoT device development across various platforms. Node.js, a server-side runtime environment, offers JavaScript’s event-driven and non-blocking nature for efficient handling of IoT tasks. Espruino, a JavaScript platform for microcontrollers, enables direct coding on resource-constrained devices. Johnny-Five, a JavaScript robotics and IoT framework, allows control and interaction with hardware platforms using JavaScript. JavaScript’s versatility, reuse of web development skills, and extensive libraries make it an accessible choice for IoT development. Its event-driven nature aligns well with IoT requirements, and the availability of frameworks and community support fosters rapid development and integration with web-based services.

Check this article to learn more about how to connect your Javascript applications to the IoT Cloud.

But what is Arduino Cloud?

Arduino Cloud is a platform that simplifies the process of developing, deploying, and managing IoT devices. It supports various hardware, including Arduino boards, ESP32, and ESP8266 based boards, and makes it easy for makers, IoT enthusiasts, and professionals to build connected projects without coding expertise. What makes Arduino Cloud stand out is its intuitive interface that abstracts complex tasks, making it accessible to all users. With its low-code approach, based on auto generated code,  and the extensive collection of examples and templates, Arduino Cloud offers a simple way for users to get started and enables them to put the focus on their application code. 

The platform’s IoT Cloud tool allows for easy management and monitoring of connected devices through customizable dashboards, which provide real-time visualisations of the device’s data. Furthermore, the IoT Cloud can be accessed remotely through the mobile app Arduino IoT Cloud Remote, which is available for both Android and iOS devices, allowing users to manage their devices from anywhere.

Ready to start?

Visit the Arduino Cloud website to access official documentation and resources for the Arduino IoT Cloud, where you will find extensive documentation to get started with the new Manual device setup workflow. Create an account and start building your own projects today!

As the IoT landscape continues to evolve, Arduino Cloud remains at the forefront, embracing the flexibility and power of Python and JavaScript. We invite you to explore this new feature, unlock your creativity, and share your innovative projects with the Arduino community. Publish your projects on the Arduino Project Hub (PH), where like-minded enthusiasts can discover, learn, and collaborate on IoT solutions that push. 

Additionally, engaging in community discussions and project sharing is encouraged in the forum, providing a platform for exchanging ideas, seeking advice, and fostering collaboration among fellow IoT enthusiasts. Together, let’s shape the future of IoT and create a vibrant ecosystem of innovation and knowledge-sharing.

Leave a Reply

You must be logged in with your Arduino account to post a comment.