While it might sound ridiculous in the first place, the new version 2.0 (planned for November, but slightly delayed) will ship with RTL units to make micro-controller programming possible. So it will be not just possible to develop very high level code with Smart Mobile Studio, but also to address the very low end. Also it’s not just a remote control, but really a programming of the hardware. With this the internet of things is not science fiction anymore, but can be reality under your hands!
With the help of Espruino it’s possible to program a micro-controller with Javascript. In conteast to the classic way of programming, the JavaScript code is only interpreted by the micro-controller. The hardware is accessed and handled internally by the firmware with low-level, high performance code, which can be scipted interactively by the standarized ECMAScript (better known as JavaScript). This event based language is well suited for micro-controllers.
So far several different boards are already supported by Espruino, which includes dozens of boards based on the STM32 microcontroller, but also other devices like the Raspberry Pi. A list of working devices is updated constantly on the Espruino’s github site.
Thanks to a very successful kickstarter project (in which we also invested some money), a special board has been developed by the Espruino developer, that is designed perfectly designed for the purpose of internet for things. Compared to other devices it is quite small, highly efficient (low power consumption) and ready for easy wireless access (either with Bluetooth or WiFi). The current price of 34.99$ (around 25€) makes it especially suitable for any device you want to bring to the internet.
The favored Espruino board incude the interfaces I²C, SPI, USART and CAN and features ADC, DAC, PWM and an SD card connector. Furthermore an option for Bluetooth/Wifi and an external clock can be attached. A large prototyp area with the option to host arduino shields makes it ideal for any type of project.
In combination with Smart Mobile Studio, the JavaScript interface is used as intermediate language. Our compiler condenses high level & well structured code to a minified, micro-controller optimized code that might be ugly to read, but fast to execute. In addition to the hardware drivers it will ship with several units that make access to the hardware even easier.
The code runs directly on the hardware and can be deployed either via USB or wirelessly via Bluetooth. Thus remote programming is possible. If you decide to make the code persistent (to survive a restart), just add a ‘save;’ (… to flash) to the end of your code.
With this solution cro-controller, but also reuse and interface existing code easily. By using conditional compilation you can even make the same code compatible for all supported boards (e.g. Espruino board, Raspberry Pi and Sony Smart Watch).
And not to mention the fact that you can easily write a remote control for the hardware easily with Smart Mobile Studio.
At the moments we’re still working on the basics, but a lot of things are already possible. For now you can have a look at an older video posted about 3 months ago, but we’re also working on newer videos to give you some more ideas of what you can do on the lower end with our new Smart Mobile Studio 2.0.
Forgot to mention: For those who are interested to do some work with this, you can already start collecting some old power adapters. These boards run on a wide range and it’s a good chance to recycle old stuff.
Also you can re-use old (micro)-SD-cards, since the programs are typically only very small, a low capacity is typically sufficient, if an SD card is necessary at all.
When can we expect the next release? And will this release allow us to easily wrap JS components?
A detailed blog post about the next version should follow within the next days. At the moment we are already feature complete, but still busy fixing issues we have on the list. Once this is done, a beta version will be available and a final should be ready at the end of this year.
The next version will have significant improvements, but don’t expect miracles. The next release will contain a package manager, that allows wrapping code to components at least…
Great is it possible to sign up for the beta release? We are considering purchasing but need to know that we are able to wrap JS classes
Wrapping JS code is already possible today, but it need to be done mostly by hand. We have some tools to do it semi-automatic, but I’m not sure what we will be shipped in the next version. With the package system we (or even you!) are able to extend the IDE with additional components, that may or may not be based on external JS code. It’s just a container to make it accessible in the new visual designer.
For further information, please contact the support, as I’m just a free lancing developer.