Inspiration
Codebender.cc has been the go to online IDE for many cloud based Arduino projects, but after two years it has finally shut down. Being big fans of both Arduinos and Codebender.cc we decided to bring the web-based IDE back to life with our new application, Phify Programmer. We looked at the pros and cons of most Arduino IDEs and worked out what would be best for almost every user.
What it does
Phify Programmer is a web-based Arduino IDE that allows users to write, save, compile and flash Arduino code through our website. Allows Chromebooks to compile code for the Arduino, which in the past was not possible.
From personal experience we see the struggles of working with Arduinos at our school. Each student has a Chromebook, but it is impossible to work on these devices on our Chromebooks. With this application we solve this problem and more. We also offer the ability to use example code from the original Arduino IDE, the ability to save to the cloud and to compile code from a website. We also plan on taking Arduino education to the next level by eventually adding drag n' drop coding for Arduino which has never been done before on a web-based application.
How we built it
We used a large majority of original code for the bulk of the project. For the editor, we used the open source project Ace Editor. For parts of the compiler, we used bits and pieces from the old open source Codebender.cc code.
The application has three levels in which it works: browser, extension and server. The application first starts by sending the text in the text editor to the server in order to be converted to HEX. After that, the HEX code is sent to the browser and then to the extension. The extension converts the HEX to binary, flashes the code to the Arduino and then sends the status the the browser. The final status is from the extension is displayed in the browser.
Challenges we ran into
We had a lot of issues with the compiler crashing all of our code leading to constant rewrites of the same code.
Accomplishments that we're proud of
We are proud of the amount of work and progress we saw in the short period of time. We got a good chunk of work done that may have taken months to achieve. We also built a strong browser IDE for the user.
What we learned
We learned a lot about compilers and working with extensions. We have never worked with extensions running in the background until today. This was for sure the biggest thing we learned from this project.
What's next for Phify Programmer
Continue to optimize the application is the next big step. Bugs and glitches still occur, but can easily be removed with some simple optimization. We also need to work on adding additional libraries into our code for the Arduino IDE. Working on a version that is completely client side can also be a possibility for Phify Programmer. We also plan to work on a drag n' drop editor.
Log in or sign up for Devpost to join the conversation.