PlatformIO
PlatformIO is a platform-independent code generator for embedded systems and the cross-platform build system based on Python. It allows to create, build, test, and deploy code written in a variety of programming languages (C/C++, Python, Ruby, Lua, Go and etc.) to a variety of platforms (Arduino, Linux, Mac OS X, Windows, iOS, Android and etc.). It provides a smart integrated development environment for Python, JavaScript, HTML5, CSS, and Typescript and supports Microchip, STMicroelectronics, Texas Instruments, and Nordic Semiconductor.
It allows shipping faster by managing all the steps of the software development cycle on a single platform. It is a development platform for IoT endpoints and microcontrollers. It features an integrated development environment, flexible hardware discovery, and intuitive API and debugging capabilities. It supports all device types and can be used to connect any device from sensors to mobile, industrial, and wearables. Its holistic approach enables developers to focus on building the application and business logic rather than re-inventing the wheel for each device type and connectivity protocol.
PlatformIO Alternatives
#1 Arduino IDE
Arduino IDE is an open-source electronics prototyping platform based on flexible, easy-to-use hardware and software. It’s intended for artists, designers, hobbyists, and anyone interested in creating interactive objects or environments. Its programming language is based on Wiring and works with a variety of development boards built around Atmel’s AVR microcontrollers. It is a cross-platform open source software application that enables users to write programs for Arduino boards. It is available for Windows, macOS, and Linux and can be easily installed from the Arduino website.
It offers a friendly interface for beginners and advanced users, with functions like code checking, interactive testing, and automatic upload. It is also customizable and extensible, allowing developers to create additional tools in a simple and efficient way. It is an editor for the Arduino boards and other embedded platforms based on the Arduino hardware. It lets you write, navigate and build your sketches on Windows, Mac OS X, and Linux. It also includes libraries to help you control hardware in an easy way.
#2 Wia
Wia is an IoT Cloud platform that acts as the operating system and middleware for connected devices. It supports all device types and can be used to connect any device from sensors to mobile, industrial, and wearables. Its holistic approach enables developers to focus on building the application and business logic rather than re-inventing the wheel for each device type and connectivity protocol.
It is an all-in-one IoT cloud platform that simplifies and automates the way you connect, monitor, and collects data from any device or sensor. It is now available on the Microsoft Azure Marketplace, making it easy to deploy and scale in the cloud. It is a new app that will replace the old one. A lot of things are happening at the same time, which means there is a ton of new and exciting opportunities out there uniquely tailored for you.
#3 WinAVR
WinAVR is a collection of tools to support various AVR microcontrollers. It is an open source software development toolkit for Atmel’s AVR range of 8-bit RISC microcontrollers. It includes a C compiler, a Windows port of the GCC toolchain, and a set of utilities. It supports the development of a wide range of applications, including high-performance SMP systems, PIC-like microcontrollers, code debuggers, and embedded systems.
It is a development tool that allows the user to develop programs for the Atmel AVR microcontroller series. It offers solutions and support during implementation and beyond. The end goal is to provide clients with a seamless experience that leaves them feeling confident and satisfied before, during, and after implementation. It is educational as well as promotional, written for people who have never used an IDE before as well as for those who have been using one for years.
#4 Codebender
Codebender is an online modular tool that helps you develop code. It is a place to learn programming and host projects. Users can upload their code, share projects with other users, save notebooks and collaborate together. It lets you write code in a multiuser, collaborative environment with the least friction. It is free and open-source, built to work in the cloud with a focus on simplicity and ease of use. The service runs in the cloud, is completely independent of your operating system or platform, and does not require any installation.
Codebender is entirely free for educators and students. It is a collaborative online coding platform for Arduino and other microcontroller boards. It is built and maintained by a community of developers who use it to share their projects, collaborate, and support one another. You can write, compile, debug and flash programs for your favorite MCU on the web or in your browser if it is old or too slow.
#5 Embeetle IDE
EmbeetleIDE is an IDE designed to make programming easier for people who are new to the microcontroller programming concept. It allows easy access to a vast library of built-in functions and libraries, which makes for easier development and quicker completion of programs. The IDE is designed to be intuitive, allowing for easy use. The UI consists of four windows, each with different functions, i.e., Event box, Stack window, Palette window, and Codebox. The event box is where anything that happens is shown. This can be a user clicking a button or typing a key on the keyboard.
Here, you can define what happens when a certain event occurs. The stack window is the main control for the program. It displays all of the variables currently in use identified by their types and names. You can drag variables into the code box to change their values or create new variables. The palette window is where a user can find all of the built-in functions and libraries which EmbeetleIDE supports. This allows a user to easily use a function without having to think about what parameters go where and how it is written.
#6 Circuito.io
Circuit.io is an open-source electronics prototyping and collaboration tool that is accessible to everyone. It contains an editor to design and make circuits, exports the work to Arduino, and allows designers to collaborate on projects with other people on the internet. It is built on HTML, CSS, and JavaScript to achieve cross-platform compatibility. Its PCB Editor circuit board editor is contained in the top bar of the screen under the PCB tab. The editor provides all the logic functions of a 3D electronics board editor and allows you to test any part in your circuit instantly.
With this Tool, you can easily layout the circuits in a convenient way for designing. Circuit.io also allows you to make a functional prototype, which is editable on the editor, which can be used to test your design on the go. It also allows you to export your design to an Arduino prototyping board of your choice, which makes it easier to manufacture your project. All in all, Circuit.io is a great tool that you can consider among its alternatives.
#7 InstaPart
InstaPart is a platform where you can build circuits, footprints of PCBs, and symbols and have the physical board within 24 hours. As part of the design process, schematics are created to assist engineers in designing PCBs. The schematic is then sent through a fabrication house to create the PCB. This process can take up to three weeks which would be an inconvenience for turnaround times on projects that require immediate delivery. The idea behind InstaPart is to provide a website that hosts PCB layouts so they can be purchased and immediately downloaded for fabrication.
The website features a library of PCB layouts for popular electronics, such as the Arduino Uno, Sparkfun Pro Mini, and Raspberry Pi. The website hosts different categories such as headers, power supplies, remote controls, and sensors. It’s also possible to select the type of desktop, mobile, or game console. The library contains thousands of different PCBs that can be purchased and fabricated in one day. All in all, InstaPart is a great tool that you can consider among its alternatives.
#8 B4R
B4R is an open-source native development tool for Arduino circuits developed by professional programmers and designers. The IDE is written in C++, uses the Arduino library for the native environment, and is built to increase productivity in the design of circuits. The Tool has language bindings available for Python, Java, PHP, C#, and VB. NET. You can implement B4R using various languages, including Java, C, VB.NET, C++, C++17, and others.
Some highlighting features include a large support library of around 10,000 items, multiple device types including micro, mini, mega, and Leonardo boards, customizable user interface, live programming environment, model-based programming, simulator for testing, code generator, registers editor, and a library inspection tool. All in all, B4R is a great tool that you can consider among its alternatives.
#9 Library.io
The Library.io is a platform that lets you create 3D designs and PCB footprints with the help of interactive simulations that show how your design will look on different types of electronic packages. The platform supports more than 50 boards and packaging options. The microcontrollers include Arduino, Particle and Raspberry Pi, accessories include a battery, capacitor, heat sink, relay and USB cable, single board computers have BeagleBone, CuBox, Intel Minnowboard, Wandboard, and Zynq support, and the Arduino YÚN, Arduino Zero, and Raspberry Pi 2 are available as embedded systems.
The interactive simulation lets you visualize how your design will look like on the selected board. This is possible because of 3D models and 2D/3D footprints. Library.io has a large collection of 3D models that you can use for your designs. Moreover, the comprehensive standard library of components has more than 4,000 electronic components that you can use for your designs.
#10 Atmel Studio
Atmel Studio is an IDE for the development of microcontrollers and PCBs. You can also perform debugging on it without the need for any other software. The Tool provides an easy-to-use and seamless environment for building and debugging the code in C or C++. You can use it on more than 500 supported SAM and AVR devices and extend the functionality with Microchip gallery, which includes a library of online plugins.
With vast source code libraries, you get drivers, communication stacks, 1600+ project examples with source code touch functionality, and graphic services. To make use of the Atmel Studio IDE, you need to purchase the necessary board kits as this is compatible with a vast selection of platforms like Atmega, PIC, STM32, ARM, and AVR. Each platform has its own ecosystem of boards and modules.
Another great feature is the data visualizer plugin that allows you to display and capture power data from applications when used with the PCB board. The Tool also features one-click importing of projects, sketches, footprints, etc., which makes the workflow smoother. All in all, Atmel Studio is a great tool that you can consider among its alternatives.
#11 XOD
XOD is a visual programming language for microcontrollers that lets you do more with less code. Programming microcontrollers used to be complicated and took years of practice to master. XOD is designed to make it easy to learn and simple enough for beginners. If you want to learn to program microcontrollers, XOD is for you. It avoids the need for complex math to be fast and simple. As all the math only happens when the program is being run.
It has a simple syntax that’s easy to write, read, and maintain. The Tool is faster than any other language and doesn’t require any special hardware to interface with the microcontroller. All in all, XOD is a great tool that you can consider among its alternatives.
#12 Zerynth
Zerynth is a software that allows you to program microcontrollers. It offers more than just Arduino compatibility but can be used to create versatile solutions. The Tool features an integrated development environment for iterative design and verification of the final code. Zerynth allows you to interact with embedded devices via your PC, also called a host. A great feature is that all architecture providers are supported, from the classic Arduino compatible boards to STM32 and ESP32 microcontrollers.
Zerynth hosts embedded devices via serial communications; for this reason, the host needs to provide a valid serial port. Currently, it is possible to use a USB to serial adapter or a USB-TTL adapter. Zerynth environment is based on the Qt framework. There are several available IDEs that work with this Tool, from Cloud-based solutions to Desktop apps. All in all, Zerynth is a great tool that you can consider among its alternatives.
#13 UECIDE
UECIDE is a program that lets program microcontrollers and PCB circuits with support from most of the vendors. The Tool is easy to use, full of useful features, and comes with a detailed set of tutorials. You can create your own code and then download and test it with the programming hardware to make sure it works. If you’re already familiar with coding, UECIDE is a great way to learn how other people use microcontrollers in their projects.
UECIDE allows you to program the Atmel ATmega8, the Atmel ATmega168, and an AVRISP mkII, and Arduinos. The Tool also features a library of PCB layouts for popular electronics that surely makes your workflow quicker, eliminating the need to make projects from scratch. All in all, UECIDE is a great tool that you can consider among its alternatives.
#14 skiiiD
skiiiD is an Arduino development tool that allows you to open and edit the code for your Sketch and upload it directly to your board. SkiiD is a robust and powerful editor that provides all the necessary tools needed to take an Arduino sketch from idea to reality and concept to completion. Some highlighting features include easy use of libraries, creating libraries, code folding, auto-complete, syntax highlighting, and much more. If you are familiar with Arduino, SkiiD makes it easy to edit the code to suit your needs. With Code Folding, you can expand sections of code to suit your needs.
By having this ability, you can easily scroll through your Sketch to find what you need. Another great feature is syntax highlighting that makes your code easier to read. By adding the .ino extension in front of your code, SkiiD will show you all the instructions and comments in your Sketch. This, along with the color-coding, makes it easier for you to read and understand. All in all, skiiiD is a great tool that you can consider among its alternatives.
#15 embedXcode
embedXcode is a template for Xcode that allows you to develop computing boards. With the use of this template, developing for a board becomes as easy as developing on your computer. It saves time, effort, and resources. The Tool is easy to install, set up, and open use. This helpful template has everything that allows you to start developing a board with ease.
It provides a process of creating an extensive list of project tools with symbols and sample code that helps you develop board images quickly. The software supports boards from multiple vendors like Arduino, chipKit, DFRobot, etc. It comes with a sample project that allows you to develop a board right off the bat. All in all, embedXcode is a great tool that you can consider among its alternatives.