Archive

Posts Tagged ‘wifi’

NXP QorIQ LayerScape LA1575 Programmable Wireless SoC to Support 5G, 802.11ax & 802.11ad WiFi, and Wireline

February 24th, 2017 3 comments

NXP has recently announced QorIQ LayerScape LA1575 programmable wireless platform with two ARMv8 cores, and simultaneous multi-standard support for 5G, Wi-Fi (802.11 ac and 802.11ax) and Wireline systems for enterprise and high-end home gateways.

QorIQ LayerScape LA1575 Block Diagram

QorIQ LayerScape LA1575 key features and specifications:

  • Multicore ARMv8 Processors for user applications
  • DDR4 with ECC
  • Programmable accelerator engines for signal processing.
  • Programmable low latency MAC layer processing engines
  • Programmable high performance packet processing engines to over 10 Gbps
  • Configurable cryptographic offload engines
  • Simultaneous multi-standard support for 5G, Wi-Fi (802.11 ac and 802.11ax) and Wireline systems
  • Multiple Ethernet interfaces including 10Gbps
  • PCIe gen 3.0
  • Integrated Trust architecture
  • Single source clocking

The main benefit of this SoC is that is is programmable, so even if some standards evolve after the release, it can be re-programmed to reflects the changes in specifications.

LA1575 Gateway Example – Click to Enlarge

Just to refresh everybody’s memory:

  • 5G is the successor of 4G/LTE scheduled to start (Wave 1) around 2018, with higher speeds(Wave 2) solutions coming in 2019-2020 with up to 10 Gbps data transfer
  • 802.11ad is a new WiFi with very high bitrate (Up to 7Gbps) working within a room @ 2.4/5/60 GHz, and capable of reliably transferring uncompress video data. It’s limited to room use, and the range is about 5 meters.
  • 802.11ax, also known as High-Efficiency Wireless (HEW), should improve the average throughput per user by a factor of at least 4 times in dense user environments, with a total bandwidth of 10 Gbps over 2.4 and 5.0 GHz frequencies. The standard is expected to be published in 2019.
  • Wireline may have two meanings: simply wired communication (e.g. Ethernet), or “high-speed data transmitted between chips using electrical or optical communication over wires to reach the lowest power requirements.” according to the University of California. It’s possible NXP refers to both meanings.

LayerScape LA1575 samples will be available in April 2017, and NXP will do some presentations (under NDA) next week, at NXP Mobile World Congress 2017 booth #7E30, Fira Grand via, Barcelona, Spain. You’ll find some (limited) extra information on QorIQ LayerScape LA1575 product page.

Linux 4.10 Release – Main Changes, ARM & MIPS Architectures

February 20th, 2017 3 comments

Linus Torvalds has just released Linux 4.10:

So there it is, the final 4.10 release. It’s been quiet since rc8, but we did end up fixing several small issues, so the extra week was all good.

On the whole, 4.10 didn’t end up as small as it initially looked. After the huge release that was 4.9, I expected things to be pretty quiet, but it ended up very much a fairly average release by modern kernel standards. So we have about 13,000 commits (not counting merges – that would be another 1200+ commits if you count those). The work is all over, obviously – the shortlog below is just the changes in the last week, since rc8.

Go out and verify that it’s all good, and I’ll obviously start pulling stuff for 4.11 on Monday. Linus

Linux 4.9 added Greybus staging support, improved security thanks to virtually mapped kernel stacks, and memory protection keys, included various file systems improvements, and many more changes.

Some newsworthy changes for Linux 4.10 include:

  • Virtual GPU support – Intel GVT-g for KVM (KVMGT) is a full GPU virtualization solution with mediated pass-through, starting from 4th generation Intel Core processors with Intel Graphics. Unlike direct pass-through alternatives, the mediated device framework allows KVMGT to offer a complete virtualized GPU with full GPU features to each one of the virtualized guests, with part of performance critical resources directly assigned, while still having performance close to native.
  • New ‘perf c2c’ tool, for cacheline contention analysis – perf c2c (for “cache to cache”) is a new tool designed to analyse and track down performance problems caused by false sharing on NUMA systems. The tool is based on x86’s load latency and precise store facility events provided by Intel CPUs. Visit C2C – False Sharing Detection in Linux Perf for more details about the tool.
  • Improved writeback management – Linux 4.10 release adds a mechanism that throttles back buffered writeback, which makes more difficult for heavy writers to monopolize the I/O requests queue, and thus provides a smoother experience in Linux desktops and shells than what people was used to. The algorithm for when to throttle can monitor the latencies of requests, and shrinks or grows the request queue depth accordingly, which means that it’s auto-tunable, and generally, a user would not have to touch the settings. Read Toward less-annoying background writeback for more details about this improvement.
  • FAILFAST support –  This release also adds “failfast” support. RAID disk with failed IOs are marked as broken quickly, and avoided in the future, which can improve latency.
  • Faster Initial WiFi Connection – Linux 4.10 adds support for using drivers with Fast Initial Link Setup as defined in IEEE 802.11ai. It enables a wireless LAN client to achieve a secure link setup within 100ms. This release covers only the FILS authentication/association functionality from IEEE 802.11ai, i.e., the other changes like scanning optimizations are not included.

Some notable ARM architecture improvements and new features:

  • Allwinner:
    • Allwinner A23 – Audio codec driver
    • Allwinner A31/A31s – Display Driver (first pipeline), audio codec support
    • Allwinner A64 – clock driver
    • Allwinner A80 – External SDIO WiFi
    • Allwinner H3 – Audio codec driver, SPI
    • New boards support: NextThingCo CHIP Pro, Pine A64, NanoPi M1
  • Rockchip:
    • Initial support for Rockchip PX5 & PX3 automotive platforms
    • Added Rockchip RK1108 evaluation board
    • Added support for Rikomagic MK808 Android TV stick based on Rockchip RK3066
    • Update Rockchip PCI driver to support for max-link-speed
    • Rockchip rk3399,rk3066 PLL clock optimizations
  • Amlogic
    • Support for the pre-release “SCPI” firmware protocol shipped by Amlogic in their GXBB SoC
    • Initial support for Amlogic S905D, and S912 (GXM) SoCs
    • Added support for Nexbox A1 and A95X Android TV boxes
    • Cleanup for the Amlogic Meson PWM driver
    • New Amlogic Meson Graphic Controller GXBB (S905)/GXL (S905X/S905D)/GXM (S912) SoCs (meson)
    • Resets for 2nd USB PHY
    • Initial support for the SD/eMMC controller in the Amlogic S905/GX* family of SoCs
    • Updated DTS to enable support for USB, I2C, SPI, maibox/MHU, PWM, ethernet MAC & PHY, secure monitor, IR, and watchdog.
  • Samsung
    • Device Tree for Samsung Exynos5433 mobile phone platform, including an (almost) fully supported phone reference board
    • Added support for TOPEET itop/elite board based on exynos4412
    • DeviceTree  updates:
      • Add Performance Monitor Unit to Exynos7.
      • Add MFC, JPEG and Gscaler to Exynos5433 based TM2 board.
      • Cleanups and fixes for recently added TM2 and TM2E boards.
      • Enable ADC on Odroid boards
      • Remove unused Exynos4415 DTSI
  • Qualcomm
    • Add support for Qualcomm MSM8992 (Snapdragon 808) and MSM8994 (Snapdragon 810) mobile phone SoCs
    • Added support for Huawei Nexus 6P (Angler) and LG Nexus 5X (Bullhead) smartphones
    • Support for Qualcomm MDM9615 LTE baseband
    • Support for WP8548 MangOH Open Hardware platform for IOT, based on Qualcomm MDM9615
    • Other device tree changes:
      • Added SDHC xo clk and 1.8V DDR support
      • Add EBI2 support to MSM8660
      • Add SMSC ethernet support to APQ8060
      • Add support for display, pstore, iommu, and hdmi to APQ8064
      • Add SDHCI node to MSM8974 Hammerhead
      • Add Hexagon SMD/PIL nodes
      • Add DB820c PMIC pins
      • Fixup APQ8016 voltage ranges
      • Add various MSM8996 nodes to support SMD/SMEM/SMP2P
  • Mediatek
    • Added clock for Mediatek MT2701 SoCs
    • New Mediatek drivers: mtk-mdp and mtk-vcodec (VP8/VP9/H.264) for MT8173
    • Updated the Mediatek IOMMU driver to use the new struct device->iommu_fwspec member
  • Other new ARM hardware platforms and SoCs:
    • Hisilicon – Hip07 server platform and D05 board
    • NXP – LS1046A Communication processor, i.MX 6ULL SoC, UDOO Neo board, Boundary Devices Nitrogen6_SOM2 (i.MX6), Engicam i.CoreM6, Grinn i.MX6UL liteSOM/liteBoard,  Toradex Colibri iMX6 module
    • Nvidia – Early support for the Nvidia Tegra Tegra186 SoC, NVIDIA P2771 board, and NVIDIA P3310 processor module
    • Marvell – Globalscale Marvell ESPRESSOBin community board based on Armada 3700, Turris Omnia open source hardware router based on Armada 385
    • Renesas “R-Car Starter Kit Pro” (M3ULCB) low-cost automotive board, Renesas RZ/G (r8a7743 and r8a7745) application processors
    • Oxford semiconductor (now Broadcom) OX820 SoC for NAS devices, Cloud Engines PogoPlug v3 based on OX820
    • Broadcom – Various wireless devices: Netgear R8500 router, Tenda AC9 router, TP-LINK Archer C9 V1, Luxul XAP-1510 Access point
    • STMicro  – stm32f746 Cortex-M7 based microcontroller
    • Texas Instruments – DRA71x automotive processors, AM571x-IDK industrial board based on TI AM5718
    • Altera – Macnica Sodia development platform for Altera socfpga (Cyclone V)
    • Xilinx – MicroZed board based on Xilinx Zynq FPGA platforms

That’s a long list of changes and new boards and devices… Linux 4.10 only brings few MIPS changes however:

  • KVM fixes: fix host kernel crashes when receiving a signal with 64-bit userspace,  flush instruction cache on all vcpus after generating entry code (both for stable)
  • uprobes: Fix uprobes on MIPS, allow for a cache flush after ixol breakpoint creation
  • RTC updates:  Remove obsolete code and probe the jz4740-rtc driver from devicetree for jz4740, qi_lb60
  • microblaze/irqchip: Moved intc driver to irqchip. The Xilinx AXI Interrupt Controller IP block is used by the MIPS based xilfpga platform and a few PowerPC based platforms.
  • crypto: poly1305 – Use unaligned access where required, which speeds up performance on small MIPS routers.
  • MIPS: Wire up new pkey_{mprotect,alloc,free} syscalls

You can also read Linux 4.10 changelog with comments only, generated using git log v4.9..v4.10 --stat, in order to get a full list of changes. Alternatively, you could also read Linux 4.9 changelog on kernelnewbies.org.

Dragino OLG01 Outdoor Single Channel LoRa Gateway Runs OpenWrt, Supports Passive PoE

February 14th, 2017 9 comments

Dragino Technology, a Shenzhen based startup focusing on the Internet of Things, had already designed LoRa shields & Hats for Arduino & Raspberry Pi boards which can be useful for LoRa nodes, but the company has now launched Dragino OLG01 LoRa gateway running OpenWrt that communicates with nodes over LoRa, and to the cloud using WiFi, Ethernet, or 3G/4G.

Dragino OLG01 specifications:

  • WiSoC – Atheros AR9331 MIPS processor @ 400MHz
  • System Memory – 64MB RAM
  • Storage – 16MB flash
  • MCU – Atmel ATMega328P AVR MCU with 32KB flash, 2KB SRAM
  • Connectivity
    • 802.11 b/g/n WiFi with antenna
    • 2x 10/100M Ethernet with support for passive PoE
    • Optional 3G/4G module connected to internal USB socket (TBC)
    • Semtech SX1276/78 LoRa wireless module + SMA connector (antenna not provided) up to 5~10 km range
  • USB – 1x USB 2.0 host port
  • Power Supply – 12V DC power jack or PoE

Three models are offered with 433, 868, or 915 MHz frequencies: OLG01 433, OLG01 868, and OLG01 915. The weatherproof gateway is designed to be wall mounted, and ships with a 12V power supply, and a PoE injector. OLG01 runs OpenWrt, and documentation can be found on Dragino Wiki, source code on Dragino Github account. The gateways supports auto-provisioning, network firmware update, includes a web server and management UI. The Atmel MCU can be programmed using the Arduino IDE. Note that most of the documentation refers to LG01 instead of OLG01, but both gateways appears to be based upon the same hardware, except OLG01 is weather-proof, and suitable for outdoor use.

Potential application include wireless alarm and security systems, home and building automation, automated meter reading, industrial monitoring and control, long range irrigation systems, GPS tracker,etc… some of which are described in Dragino video below.

You’ll also find some more information on the product page, including a datasheet and a detailed user manual. Dragino OLG01 can be purchased for $70 on Tindie. If you don’t need PoE, nor a weatherproof case, LG01 gateway will be cheaper at $56.

Thanks to Elia for the tip

22€ Olimex ESP32-EVB ESP32 Development Board Features an Ethernet Port and Relays

February 10th, 2017 3 comments

We already have a good choice of ESP32 development boards, but none of the ones I’ve seen make use of the Ethernet MAC interface found in Espressif ESP32 SoC. Olimex has changed that with their ESP32-EVB featuring ESP32-WROOM32 module as well as one Fast Ethernet port and two relays.

Olimex ESP32-EVB specifications:

  • Wireless Module – ESP32-WROOM32 module with 802.11 b/g/n WiFi and Bluetooth LE
  • Wired Connectivity – 10/100M Ethernet RJ45 port
  • External Storage – micro SD slot
  • Relays – 2x 10A/250VAC relays
  • Expansion
    • 40-pin GPIO female header (2.54mm pitch)
    • UEXT connector for sensors and modules
  • Misc – 2x user buttons
  • Power Supply
    • 5V power jack
    • LiPo charger and step up converter allowing ESP32-EVB to run from LiPo battery

The company still have to write software samples, and do some testing to make sure the board work before going into mass production. Once everything is cleared, the board will be sold for 22 Euros.

Barionet 1000 DIN Rail Programmable I/O Controller Runs OpenWrt

February 9th, 2017 1 comment

Barix, a Swiss company specializing IP- based communications and control technology, has introduced a new Barionet programmable I/O controller with Barionet 1000, the first model of the company to run Linux, and in this case OpenWrt, and to offer WiFi and USB connectivity.

Barionet 1000 specifications:

  • Processor – Undisclosed
  • System Memory – 64MB RAM
  • Storage – 16MB flash
  • Connectivity – 10/100M Ethernet, Wi-Fi 802.11 b/g/n; IPv4 & IPv6 support.
  • USB – 2x USB Host Ports
  • Serial – 1x DB9 RS-232 serial port
  • User programmable I/Os
    • 2x relay outputs (30 VDC max, 5 A)
    • 4x open collector digital outputs (4 x 24 VDC, 0.3 A)
    • 8x contact closure inputs (0 – 15 V), including 4x 12-bit analog inputs (0 – 15 V)
    • 1-wire interface for 18DS20 temperature sensor
  • Misc – 11 LED status indicators
  • Power Supply – 9 to 30V DC (2.5 Watts max)
  • Dimensions –  103mm x 85mm x 31mm; plastic DIN Rail Case
  • Temperature Range – Operating: 0 to +50°C; Storage: 0 to +70°C
  • Certifications – CE (A&B), RTT&E, FCC (A&B), RoHS

They also have another similar model, named Barionet 1100, which adds RS-485, an RTC clock, Wiegand capability, and “future optional internal interface” for LoRa. Hardware & software documentation appears to be missing for now, but they’ll certainly update their Wiki, like they did for their previous models.Typical applications for the system include access/door control, environmental monitoring, photovoltaic power management, temperature monitoring & logging, and HVAC control.

Pricing and availability of Barionet 1000 have not been announced, but for reference, the older Barionet 50 is currently selling for $189, so the new model should cost more with the extra features. Barionet is currently showcasing their products at ISE 2017 (Integrated Systems Europe) in Amsterdam, Stand 8-N270. Further details may be found on the product page.

Via LinuxGizmos

Samsung Introduces Artik 530 IoT Module & Development Kit with WiFi, BLE, and Zigbee/Thread

February 9th, 2017 No comments

Samsung unveiled Artik 1, Artik 5, and Artik 10 IoT modules & development board families in 2015, but since then they dropped the Artik 1 family, and instead launched Artik 0, Artik 5, and Artik  7 modules and boards late last year. More recently the company canceled the more powerful Artik 1020 development board, but the Artik project is still going on, as they’ve just added Artik 530 module & development kit to their Artik 5 family.

Artik 530 Module – Click to Enlarge

Samsung ARTIK 530 module specifications:

  • SoC – Unnamed Quad core ARM Cortex A9 processor @ 1.2 GHz with a 3D graphics accelerator
  • System Memory – 512 MB DDR3
  • Storage – 4GB eMMC v4.5 flash
  • Connectivity – Dual band SISO 802.11 a/b/g/n WiFi, Bluetooth 4.2 LE + Classic, 802.15.4/Zigbee/Thread, 10/100/1000M MAC (external PHY required)
  • Other Interfaces and peripherals
    • Camera – 4-lane MIPI CSI up to 5MP (1920×1080 @ 30fps)
    • Display – 4-lane MIPI DSI and HDMI 1.4a (1920×1080 @ 60fps), or LVDS (1280×720 @ 60 fps)
    • Audio – 2x I2S audio input/output
    • Analog & digital I/O – GPIO, UART, I2C, SPI, USB host, USB OTG, HSIC, ADC, PWM, I2S, JTAG
  • Security – Secure point to point authentication and data transfer
  • Power Supply – PMIC with on-board bucks and LDO
  • Dimensions – 49x36mm

Artik 530 module block diagram – Click to enlarge

Samsung did not make it easy to find which operating system is running on their modules, but after reading a few pages in the getting started guide, I found out the module should be running Fedora. The Wiki shows Fedora 22 with Linux 3.10.93, but they have upgraded to Fedora 24 since then. The product brief however includes more details about the BSP which including drivers for wireless community, multimedia, and other systems peripherals and interface, as well as power management code and security with secure boot, Artik cloud authentication API, and a crypto library based on OpenSSL.

Click to Enlarge

Since the module is not exactly convenient to use without baseboard, most people will likely start with Artik 530 developer kit with the “Interposer board” with an ARTIK 530 module, a “Platform board” that attached under the Interposer board with extra interfaces (MPI DSI/CSI, audio jack), an “Interface Board” with two female header to easily connect external hardware, and two wireless communication antennas.

Artik 530 Development Kit

You can optionally also get a MIPI camera board and/or a sensor board. The boards are described on details in what’s in the box part of the documentation.

Artik 530 module can be purchased for as low as $42.35 in quantities on Digikey or Arrow, while the developer kit goes for $189 and up, also on Digikey or Arrow.

Via Tizen Experts

RTL8710 Ameba Arduino Development Board and Ameba Arduino v2.0.0 SDK Released

January 20th, 2017 1 comment

We’ve already seen a NodeMCU lookalike board called RTLDuino based on Realtek RTL8710AF ARM Cortex M3 WiSoC earlier this month, that can be programmed with a community supported Arduino port also called rtlduino via a JLink SWD debugger, but now Realtek has just launched Ameba RTL8710 Arduino board, and released Ameba Arduino v2.0.0 SDK which brings official Arduino support to RTL8710AF platforms.

Click to Enlarge

There appears to be two versions of the development kit: RTLDUINO_PRO_V1.0 and REALTEK-AMEBA_RTL8710_V2.0, but based on the user manual they seem to be identical, and as you can see from the above picture, it includes a baseboard and the aforementioned RTLDuino board.

RTL8710 Ameba Arduino HDK key features:

  • SoC – Realtek RTL8710AF ARM Cortex-M3 MCU @ 83 MHz with 802.11 b/g/n WiFi, hardware SSL engine connected to the baseboard via:
    1. RTLDuino board through female header
    2. B&T RTL-00 module soldered on module footprint
  • USB – 2x micro USB ports, CON2 used for power and Arduino programming, CON1 used for DAP programming (TBC)
  • Expansion – Arduino UNO headers with GPIOs, power signals, 2x UART, SPI, I2C, and 4x PWM
  • Debug Headers – 4-pin Mbed connector, 10-pin Jlink connector, 4-pin for serial console
  • Misc – T/R & n/R buttons maybe to select programming mode?, reset and test buttons

Pinout Diagram – Click to Enlarge

The documentation in English is still work in progress, but Realtek already released a getting started guide to program the board with Arduino IDE 1.6.5 or later. The guide only mentions Windows, so it’s unclear whether Linux is supported for now, but the steps are pretty simple:

  1. Install mbed serial drivers
  2. Install Ameba board packages in Arduino IDE
  3. Connect the board via USB to your computer, and select Ameba RTL8710 board in Arduino IDE
  4. Use Blink program to blink an LED connected to GPIO 13.
  5. Profit!

Ameba RTL8710 & Arduino IDE – Click to Enlarge

I understand you may not even need to use RTL8710 Ameba Arduino SDK for this if you have a board with the latest firmware. If not, you may need to update the firmware, but there’s no documentation about this, and it’s unclear whether this can be done via the RTLDUINO / AMEBA_RTL8710 baseboard, or a separate JLINK SWD debugger is needed.

The SDK has been released on Ameba IoT China website, and will soon be on Ameba IoT (English) website. The hardware development kit can be purchased for NT$ 630.0 in Taiwan, and 150 CNY (~$22) on Taobao. If you live outside of China, you could use a Taobao agent to ship to your country, or probably better, wait until Realtek gets a worldwide distributor.

Getting Started with Onion Omega2+ LEDE WiFi IoT Board and Expansion Dock

January 16th, 2017 51 comments

Onion Omega2 LEDE (OpenWrt fork) WiFi board is powered by Mediatek MT7688 MIPS SoC, targets IoT projects, and sells for as low as $5. There are actually two versions: Omega2 with 64MB RAM, 16MB flash, and Omega2+ with 128MB RAM, 32MB flash and a micro SD slot. Onion sent me the latter for review, together with an expansion dock that allows powering up the board though USB , and adds a USB host port, an RGB LED, buttons, and access to GPIO via a female header. In this quick start guide, I’ll start by taking some unboxing pictures, and then report my experience following the documentation to configure the board, blink the RGB LED, and control a LED on a breadboard using a GPIO from the header.

Onion Omega2+ Unboxing

I received the two boards in their respective package, and which are both stored in anti-static bags.

Click to Enlarge

Click to Enlarge

Let’s check Onion Omega2+ board first. The top includes a chip antenna and an u.FL connector for an external antenna, as well as the main components covered by a shield with some info like FCC ID, and the MAC address with the last four digits (hexits?) in bold since they are used to access the board. The bottom of the board are two rows of headers, and a micro SD card slot. There’s also a footprint for another header or connector, but I could not find out the details.

Click to Enlarge

Click to Enlarge

Next up is the dock. We have a 2x 15-pin female header with clear marking for the pins that include power signals, GPIOs, I2C, UART, and USB.

Click to Enlarge

Click to Enlarge

The button on the top is for power, the one at 45 angle is the reset button, and we also have a micro USB port for power, a USB port for storage, an RGB LED, and the header for Onion Omega2 board.

Click to Enlarge

Click to Enlarge

Plugging Omega2 into the dock is very easy, and the only thing you have to check is that it is inserted correctly.

Onion-Omega2-vs-LinkIt-Smart-7688Onion Omega2+ is not my first Mediatek MT7688 board, as I’ve reviewed LinkIt Smart 7688 too, and took side-by-side picture of both boards for comparison. Omega2+ is smaller, but LinkIt Smart board already include a micro USB port for power.

Initial Setup for Onion Omega2 and Expansion Dock

I normally test the documentation as much as I test the board, and after a web search, I ended up on that Getting Started page. However, it was for Onion Omega, the first version of the board introduced in 2015, and while the instructions are similar, they are not quite the same. Finally, I found the actual Omega2 Wiki, and could successful complete the setup with some efforts.

I’ll be using a computer running Ubuntu 16.04 to access the board, but it also works with Windows with Bonjour Service, and Mac OS X.

The Zeroconf services is needed to play with the board unless you access the board directly with its IP, but it’s normally already installed in Linux distriutions, so we are good to go. First we need to connect a micro USB to USB cable to a power source like the USB port of your computer, and turn on the board with the power switch.

Click to Enlarge

Click to Enlarge

At first both the RGB LED on the dock and Omega2+ LED will turn on for a short time, after which the RGB LED will turn off, and Omega2 LED will blink for a few seconds, and once the LED stops blinking and remains solid the boot is done.

Omega-Onion2-Access-Point

You should then see an new “Omega-XXXX” access point in your WiFi networks, where XXXX is the last digits of your MAC address shown on bold on the board. We now need to connect to the access point using password: 12345678

Omega2 Web Configuration

One it’s done, open a web browser and go ti http://192.168.3.1 or http://omega-XXXX.local/ to access Omega2 Setup Wizard.

Omega-Onion2-Setup-Wizard

Click Start to login with the default credentials (username: root ; password:onioneer), and the next page will let you connect the board to your WiFi router.Omega-Onion2-WiFi-Configuration

Selection you ESSID, input you WiFi password. and clikc on “Configure WiFi“. Omega-Onion2-Cloud

The wizard offers you to register your board to the cloud, but this is completely optional, and you could simply select Skip Step to go to the next step (firmware update). But I tried to registered the device to the cloud for this review.Onion-Cloud-RegistrationYou’ll need to provide your name, an email address and a password to register an account first.Onion-Omega2-Cloud-NameYou’ll then be asked for a device name and a description to confirm the registration.Onion-Cloud-Connection-failedSadly this step failed and I got the window above. Clicking on the red cross button did nothing. If I login to the cloud service, I can see the board listed, but detected as offline. I’m not the only one to have this issue, and Onion developers are looking into it.

Onion-Omega2+-Firmware-Update-ConsoleSo instead I went to the next step to upgrade the firmware and install Console web-based virtual desktop.Onion-Omega2-Firmware-Download-StuckThis also failed as the progress bar did not move at all, and I waited for around 20 minutes. I could also see my router’s DHCP server gave an IP address to the board, so it should have been able to connect to the Internet.

Omega2 Command Line Configuration

So I used to backup configuration method, using the command line as explained in the documentation. You just need to SSH the board as root with the same password as in the web configuration (onioneer):

Note Ω-ware firmware version is 0.1.5 b130.

wifisetup allows you to scan the network, and connect the board to your router:

Good. Firmware update failed in the web setup wizard, but we can retry it with oupgrade command line:

The firmware could be downloaded, and it looked like the system rebooted as I lost access to SSH terminal. The LED was still on for a while after it happened, then the LED went off (forever), at least longer than the 15 seconds listed in the documentation, and in that case they explain you need to power cycle the board. I used the power switch on the expansion dock to do so.

The board LED blinked for a pretty long time (maybe 2 minutes), but eventually it stopped and remained solid, and I could login to the board:

The firmware was updated to version 0.1.7 b139, so all good even though the whole setup did not go 100% smoothly. In case something goes really wrong and you can’t access the board at all, you could try to do a Factory Restore by pressing and holding the reset button for 10 seconds then releasing it.

Omega2 LEDE System Info

Since we’re done with the configuration, let’s quickly check some system info:

So we have a relatively recent kernel (Linux 4.4), 24.4MB space available to the user, 125664 KB total memory, and a MIPS 24KEc processor…

Controlling Omega2’s Dock RGB LED (via PWM)

We can start playing with the GPIO on the board starting with the RGB LED on the dock  that should be connected to pin 15, 16 and 17. The documentation explains expled sample can be used for this and we can see the R, G, B hexadecimal values. I want to show red color only, and I set blue and green to zero:

Oops, segfault. Let’s try something else like a pinkish color:

It runs, but the RGB LED remains off. It’s not an hardware problem since the RGB LED turns on at boot time. expled is actually a bash script that can be found in /usr/bin/expled and calls “fast-gpio“program which access GPIOs directly without using sysfs. Maybe it’s another firmware issue.

Controlling Omega2 GPIOs – LED example

In order to play with the expansion header, I connected a 5V LED to a breadboard together with two resistors and a transistor (for 3.3 to 5V conversion), and connected it to pin 1 on the header.

Click to Enlarge

We’ve already seen fast-gpio tools in expled script, but I used another GPIO tools for the LED, namely gpioctl that relies on sysfs.

We first need to set the GPIO pin as an output pin using the dirout command (dirin would set it as an input):

We can now turn the LED on by setting GPIO 1 to HIGH with dirout-high option:

The get command above will check the value of the pin. The LED did turn on as it should, and we can turn it off with dirout-low option:

Success.

If you want to use multiplexed pin with I2C, SPI, UART, PWM, I2S… you’ll need to check out omega2-ctrl program. I have not tried it for this guide to keep it short.

Onion Omega2 and BreadBoards

Many similar small IoT board are designed to fit on a breadboard, but Onion Omega2 board’s header pins are using 2 mm pitch, not 2.5 mm pitch, so they can’t be used with a breadboard directly. Instead, you’d have run wires from the board to the breadboard or purchase a BreadBoard Dock as pictured below.

If you do not have a dock, or breadboard expansion board, you can still power the Omega2 module/board using a 3.3V power source for example with a regulator such as LD1117, or something like YwRobot MB102 breadboard power supply.

If you are interested in getting a board, you may have to wait as while Omega Expansion Dock sells for $14.99 on Onion store, Omega2 boards are not listed yet. For reference, Omega2 board went for $5, and Omega2+ board for $9 on Kickstarter. [Update: While the Kickstarter campaign is now finished, you can still get on Indiegogo for the same price, and that includes shipping].