JanOS
Turn your phone into an IoT board
JanOS is an operating system designed to run on the chipset of mobile phones. It runs without a screen, and allows you to access all phone functionality, from calling to the camera, through JavaScript APIs.
JanOS is an operating system designed to run on the chipset of mobile phones. It runs without a screen, and allows you to access all phone functionality, from calling to the camera, through JavaScript APIs.
Current development boards for Internet of Things solutions have one big problem: they are very expensive. Boards like the Raspberry Pi or Arduino have a limited feature set and simple extensions, like a GSM shield, can cost $80. That is a shockingly high price when a full smartphone can be available for just $30. Why not break out the mainboard from a mobile phone and use that to develop embedded projects? Cheaper and more powerful.
Read more on our blogCan I attach sensors or LEDs? Most phones have some GPIO ports that you can use to attach extra electronics to the board, like a LED light. We wrote a blog post describing the process of attaching and controlling a LED on the GeeksPhone Keon.
Does it run native code? You can compile any C/C++ binary for the ARM architecture using the Android NDK / toolchains, and use the mozOs.exec API to invoke the binary from JanOS. Here's an example.
What about power efficiency? This depends on the mobile phone you use as a base. General idle consumption over 2G is 5 - 10 mA per hour. You can use a digital USB ammeter to measure the actual consumption. Read more here.
Do I need a battery? So far all phones we encountered need a battery connected for most things (booting, searching for WiFi networks, etc.). It's quite easy to solder a battery to the board though. If you use soldering wire you can position it behind the board without much hassle.
Is there a debugger? You can use the WebIDE, which is part of the Firefox Developer Tools to connect to your device and debug it.