Node.js Vs MicroPython for IoT

Here are the major differences between Node.js and MicroPython for IoT.

Node.js

1- Node.js built to handle asynchronous I/O from the ground up that make it good choice for IoT.

2-Dependency resolution with npm is so much better. Although if you have to develop and run the code in both Windows and Linux in rare cases you may see some quirks.

3- Right now there are two new micro-controller boards seeking funding for Node.js - one on Kickstarter ( Espruino), and the other on Dragon Innovation’s new crowdfunding platform(Tessel ).

4- Other framework and boards includes The Thing System , Node Red, noduino, and DeviceJs.

MicroPython

1-Circuit-level control is possible with MicroPython.

2- MicroPython has special commands that interface directly with assembly. Specifically, the assembly accessible to MicroPython is the ARM Thumb-2 instruction set. As an example, the command "mov(R1, 0xff)" would move the hexadecimal number "ff" to register-1.

3- MicroPython natively supports the Pyboard (https://github.com/micropython/pyboard). The Pyboard uses the STM32F405RGT6 MCU (MicroController Unit) which uses the ARM Cortex M4 core. The hardware is 32-bits and runs at 168MHz. The Pyboard supports I2C, UART, SPC, and GPIO.


4-MicroPython is used in the WiPy (http://wipy.io/). The WiPy is an Internet-of-Things (IoT) development platform which is a circuit board with a Wifi chip. Developers can easily program the WiPy and upload new code via Over-The-Air (OTA) updates. The WiPy uses the TI CC3200 MCU (Cortex-M4 @ 80MHz), has 256 kilobytes or RAM, and supports WiFi-Direct. The WiPy can be used to make various wireless devices. The WiPy can also be interfaced with the Pyboard or many other motherboards and circuits via its GPIO pins, I2C bus, or SPI. WiPy's manufacturer is Bestronics (http://bestronics.eu/).

5- Right now LoPy seeking funding on Kickstarter, It is a MicroPython triple-network dev platform which doubles up as a LoRa Nano gateway and Arduino IDE compatible as stretch goal. It include a dual processor (each core running @ 160 MHz) + WiFi + BLE radio System on Chip, network processor handles the WiFi/BLE connectivity and the IPv6 and IPv4 stacks and main processor entirely free to run the user application along with the LoRa stack.