With the arrival of the IoT and the need for control, devices now need to do more than perform the basic functions for which they are built, they need to be capable of communicating with other devices like a mobile phone among others. There are different communication systems which can be adapted for communication between devices, they include systems like WiFi, RF, Bluetooth among several others. Our focus will be on communication over Bluetooth.
Today we will be building an Arduino based project which communicates with an app running on a smartphone (Android) via Bluetooth.
Arduino Communication with an Android App via Bluetooth – [Link]
The Rockchip RK3399 has revolutionized the open-spec single-board computer world. Hardkernel’s new Odroidproject has made the multi-core SoC RK3399 to firm it’s grip further. Recently Hardkernel released images, specs, and extensive benchmarks on a prototype for its storage-oriented new Odroid-N1 board. The boards can be expected to launch for about $110 in May or June this year.
The 90x90x20mm SBC is highlighted for offering dual channel SATA III interfaces and 4GB DDR3-1866 dual-channel RAM. The Odroid-N1 can run Android 7.1, as well as Ubuntu 18.04 or Debian 9 with Linux Kernel 4.4 LTS. This new board can also be open source as its previous flagship Odroid-XU4.
The RK3399 features two Cortex-A72cores that are clocked at up to 2.0GHz, as well as four Cortex-A53 cores, which are clocked at 1.5GHz. (Some other RK3399 boards have listed 1.42GHz.) This board also includes a high-end ARM Mali-T864 GPU. Hardkernel’s benchmarks have shown the hexa-core RK3399 based Odroid-N1 is running significantly faster on most tests, beating the Odroid-XU4’s octa-core (4x Cortex-A15, 4x -A7).
The Odroid-N1 is equipped with a GbE port, 2x USB 3.0 ports, and 2x USB 2.0 ports, HDMI 2.0 port for up to 4K Video output. There’s also a 40-pin GPIO header. The Power input is mentioned at 12V/2A, although attaching two 3.5inch HDD will require a 12V/4A PSU. As with the other RK3399 boards, there are no hopes of Raspberry Pi add-on compatibility.
The RK3399 has powered many similar SBCs previously. The first major RK3399 SBC was Firefly’s Firefly-RK3399, soon followed by Vamrs’ similarly open source Rockchip RK3399 Sapphire. More recently we’ve seen Shenzhen Xunlong’s Orange Pi RK3399.
The RK3399 is also finding key roles among many commercial boards. We just saw Aaeon take the leap with its OEM-oriented RICO-3399 PICO-ITX SBC. Earlier, Videostrong announced a VS-RD-RK3399 SBC.
ODROID-N1 key features:
Rockchip AArch64 RK3399 Hexa-core processor
Dual-core ARM Cortex-A72 2Ghz processor and Quad-core ARM Cortex-A53 1.5Ghz processor, big-LITTLE architecture
Mali-T860MP4 GPU, support OpenGL ES1.1/2.0/3.0, OpenCL 1.2
4Gbyte DDR3-1866 RAM, Dual channel interface for 64bit data bus width
2 x SATA3 port, native SATA implementation via PCIe-gen2 to SATA3 interface
eMMC 5.0 (HS400) Flash storage and a UHS capable micro-SD slot.
2 x USB 3.0 host port
2 x USB 2.0 host port.
Gigabit Ethernet port
HDMI 2.0 for 4K display
40-Pin GPIO port
OS: Ubuntu 18.04 or Debian Stretch with Kernel 4.4 LTS, Android 7.1
Size: 90 x 90 x 20 mm approx. (excluding cooler)
Power: 12V/2A input (Attaching two 3.5inch HDD requires a 12V/4A PSU)
Price: US$110 (To be adjusted based on DRAM market price changes)
Mass production schedule: TBD
More information is available in the Odroid-N1 announcement.
A development platform for the Android open source project (AOSP) has been created by Huawei. The ARM-based hardware is part of the Linaro open source collaborative engineering organization developing software for the ARM ecosystem.
Recently, Huawei has launched the HiKey 960 96Boards development platform to provide access to the latest ARM mobile technology for AOSP developers. Fortunately, You can find this new board listed on the 96Boards website and is available through global distribution channels.
In fact, initial software support for the board is provided in the AOSP source tree based on the Android Common Kernel using the Linux 4.4 kernel release. Meanwhile, Linaro and Huawei are also working on the Linux 4.9 based Android Common kernel and maintaining support for the Kirin 960 SoC in the mainline kernel.org tree, allowing for the availability of multiple Linux distributions for this board in the future.
In addition, Huawei has released the source code with Linux and other open source libraries and programs for their Huawei Mate 9 / Mate 9 Pro and Huawei P10 / P10 Plus models powered by Hisilicon Kirin 960 processor. You can the source from Huawei open source page.
Full specifications of Hikey 960
SOC: Kirin 960 octa-core CPU
CPU: 4x Cortex-A53 cores to 1.8 GHz, 4x Cortex-A73 cores to 2.4 GHz
GPU: Mali-G71 MP8 GPU
Software: AOSP with 4.4 AOSP common kernel
Storage: 32GB UFS 2.0 flash storage, MicroSD card
Display interface: HDMI 1.2a up to 1080p plus 4-lane MIPI DSI
USB: 1 x USB 2.0 type C OTG port, 2 x USB 3.0 type A host ports
Connectivity: Dual-band 802.11 b/g/n/ac WiFi and Bluetooth 4.1 with on board antennas
Camera: 1x 2-lane MIPI CSI, 1x 4-lane MIPI CSI
IO extended interface: 40 pin low speed expansion connector +1.8V, +5V, DC power, GND, 2x UART, 2x I2C, SPI, I2S, 12x GPIO, 60 pin high speed expansion connector 4L MIPI DSI, 2L+4L MIPI CSI, 2x I2C, SPI (48M), USB 2.0, PCIe Gen2 on M.2 M Key connector
MISC: 4x user LEDs, LEDs for WiFi & Bluetooth, Power button
Power supply: 12V/2A power supply recommended, 8V-18V/2A via 4.75/1.7mm power barrel (EIAJ-3 Compliant)
“The HiKey 960 delivers on the goal of 96Boards to provide access to the latest ARM technology to the developer community, with support for the latest Huawei mobile SoC featuring high performance ARM Cortex-A73 cores coupled with the latest generation of ARM Mali GPU technology.” – George Grey, CEO of Linaro
The applications available nowadays serve our everyday life well. Would it be the need of our entertainment, business life or lifestyle. However, there is one special field where we could face a serious shortcoming and it is the engineering field. I’ve come across a demand through forums specialized in electronics for a mobile application, designing printed circuits on your mobile device.
The goal was to create an application, which can be used as a designer tool for printed circuits and exporting those into different formats in an Android and Windows 10 environment. The consumption of these mobile devices is a fraction of their desktop sidekicks and an app such makes designing easier, even in your daily commute. This realization gave birth to PCB Droid application. As an electronic hobbyist as far as I’m concerned others engaged in DIY electronics usually don’t utilize the possibilities and professionalism of these programs. In practice, PC printed circuits designers are using circuit diagrams as an input. Hobbyists pretend to prefer designer programs where they can draw the marginal strips themselves and adjust them on the printed circuits. PCB Droid doesn’t require any kind of previously made circuits diagrams. The parts can be drawn onto the printed circuit by the user starting from the basic elements to the most complex components.
PCB Droid – First Mobile PCB Designer App – [Link]
PandwaRF, is a portable low-power RF device that captures, analyses and re-transmits RF signals via an Android device or a Linux PC. It uses Bluetooth (BLE) or USB connection to transmit data in a simple and fast way, comes in the form of a controllable housing from a smartphone or a computer.
This pocket-size device operates at sub-1 GHz range, and it replaced the ‘standard SDR Grind’ of capturing, demodulating, analyzing, modifying and replaying by hand with a simple powerful interface.
Technical details of the PandwaRF:
Bluetooth Smart Module ISP130301, based on nRF51
CC1111 Low-Power SoC with Sub-1 GHz RF Transceiver
Multi frequencies (from 300 MHz to 928 MHz)
Multi modulation (ASK/OOK/MSK/2-FSK/GFSK)
Transmit and receive in half duplex mode
Support data rates up to 500 kBaud
Full speed USB: 12 Mbps (Linux or Android)
Bluetooth Smart 4.0 (Android/iOS)
USB charging & battery powered
4 buttons to assign codes
4 Status LEDs
16 Mbit Flash Memory to save custom RF protocols
Rechargeable battery powered for stand-alone operation
Battery fuel gauge
RX amplifier for improved sensitivity: +13dB from 300MHz-1GHz
Included: Battery and injection molded plastic enclosure
The device is available in three options, the Bare version is about $120 and comes without housing and without battery, the standard version is about $142 with battery and black case, in addition the extended version with enhanced features.
Designed by SRKH Designs, Virtualette V1 is a small dual stack microcomputer that can run Android and Linux operating systems, for network-wide IoT and mobile edge computing solutions and electronics DIY projects.
Virtualette V1 is designed based on the dual-core Cortex-A7 Allwinner A20 SoC, with 1GB DDR3L base memory, 8GB onboard NAND flash, and a 32GB microSD card. It also includes a real time clock, onboard battery and wakeup function, and 80 IO pins.
The microcomputer is consist of dual connected PCBs with 7.6cm x 3.7cm x 1.8cm size including mounting feet. It has an Ethernet jack, a USB port to connect mouse or keyboard, microSD card slot, SATA port, and mini USB ports.
Virtualette V1 is a low energy device with a typical 2.4W of energy draw with three power options; 9-48V PoE (Powered over Ethernet), 5V USB OTG, and a lithium battery.
You can run any of linux-based operating system on the V1, in addition to the optimized linux distribution that will be shipped with it. Users can change the OS by swapping over the micro SD card and they have the option of booting from an external microSD card or from the onboard NAND 8GB flash.
Additional storage can be added by inserting a USB2 drive or external hard drive (SATA compatible). V1 can be optionally booted by USB or a dedicated SPI ROM port.
Examples of V1’s potential capabilities are:
As an individual desktop device or controller for a drone or robot.
As a liquid-cooled computer inside a 40mm PVC pipe.
As M2M nodes in a distributed intelligent security system.
Deployed as a peer-to-peer, machine-to-machine network in applications such as display information systems in airports or train stations.
With the launch of their Kickstarter campaign, SRKH Designs aims to raise funding of US$22.5k, offering backers Virtualette V1 devices from the first production run as their reward.
Post campaign, a roadmap of hardware products for the Virtualette range is planned. This includes future quad-core and octa-core versions, an add-on FPGA-based development board, a desktop platform, popular video adaptor interfaces and an ‘All in One’ peripheral board designed to embed V1 inside a slimline display case.
Google had launched Android Things, a new comprehensive IoT platform for building smart devices on top of Android APIs and Google’s own services. Android Things is now available as a developer preview.
Android Things was basically launched as an enhancement for Brillo, Android based OS used for embedded development in particular for low-power IoT devices, and it is based on its feedback and best practices. Google had announced Android Things as re-branding of Brillo to solve many issues like the security of IoT devices.
Both work in conjunction with Weave, an open, standardized communications protocol that supports various discovery, provisioning, and authentication functions. Weave enables device setup, phone-to-device-to-cloud communication, and user interaction from mobile devices and the web. The chief benefit is allowing a “standardized” way for consumers to set up devices. Belkin WeMo, LiFX, Honeywell, Wink, TP-Link and First Alert will adopt Weave to make their devices able to interact with some Google products like Google Assistant.
One of the great things about Brillo was the security issue with IoT applications solved by choosing to use secure boot and signed over-the-air updates and providing timely patches at the OS level. Partnered with hardware manufacturers to build new devices based on Intel Edison, NXP Pico and the Raspberry Pi 3, Google will build the needed infrastructure to run the OS updates and fix security issues respectively on these devices.
Android Things makes developing connected embedded devices easy by providing the same Android development tools, best-in-class Android framework, and Google APIs that make developers successful on mobile. For more details about Android Things you can check the documentation provided here, where you can find also the developer’s preview.
“Tiago” tipped us with his latest Android App. His app, ElectroCalc is a fast calculator for electrical and electronic circuits. The calculator includes many tools and comes in a free and a Pro version. Check it out!
ElectroCalc – Electrical and Electronics Calculator – [Link]
Google had launched Brillo, a new Android based OS used for embedded development – in particular for low-power, IoT devices. Brillo brings the simplicity and speed of software development to hardware for IoT with an embedded OS, core services, developer kit, and developer console.
Brillo works in conjunction with Weave, an open, standardized communications protocol that supports various discovery, provisioning, and authentication functions. Weave enables device setup, phone-to-device-to-cloud communication, and user interaction from mobile devices and the web. The chief benefit is allowing a “standardized” way for consumers to set up devices.
The big challenge is unifying and facilitating the communication among the estimated 200 billion smart devices expected by 2020. Whether you’re looking to build a simple DIY project or implement an enterprise scale m2m (machine to machine) project, Google’s new tools will be a big help. Fortunately, Brillo appears pretty easy for developers who are already familiar with Android.
Check this video by Google about Brillo and its features, and you can watch another video about Weave
Brillo supports a trio of ARM, Intel, and MIPS hacker SBCs (Single Board Computers) called “ made for Brillo” hardware kits. One of these kits is The Edison kit for Brillo by Intel, that includes an Edison IoT module plugged into a baseboard that offers convenient, Arduino-style expansion compatibility.
One of the great things about Brillo that the security issue with IoT applications is solved by choosing to use secure boot and signed over-the-air updates and providing timely patches at the OS level.
If you are interested in developing Brillo itself you can check the Brillo developer portal where code, development tools, and documentation for the Android-based Brillo embedded OS for Internet of Things devices can obtained. You should ask for an invitation then when you gain access you will get everything needed for your next project.
A high introduction was presented by Intel in the Open IoT Summit in April 2016, you can check it here.
As Intel, UN and IDC mentioned in their joint report that there will be an average of 26 smart devices for every human in just 5 years, we can predict a rapid growing development and enhancements for IoT systems, devices and protocols.
Kerimil, user on Arduino Forum, submitted his project which focuses on establishing communication between an Arduino board and an android mobile using bluetooth:
The idea is to gain access to hardware on Android devices (accelerometers, gyro, wifi connectivity, gps, GPRS, touchscreen, text to speech and speech to text) and/or use it to relay data to the internet. MIT’s app inventor was used to write a custom app in this example. The code can be easily modified to create your own apps.
How to control Arduino board using an Android phone – [Link]