Posts Tagged ‘onion’

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

January 16th, 2017 53 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.


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 or http://omega-XXXX.local/ to access Omega2 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:


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].

Onion Omega2 is a $5 Linux WiFi IoT Board (Crowdfunding)

July 20th, 2016 7 comments

Onion Omega board was first introduced in 2015. The tiny OpenWrt Linux board featured an Atheros AR9331 processor with GPIO headers, and various baseboards and add-ons. The company has now launched a Kickstarter campaign for the second versions – Omega2 & Omega2 Plus – with a faster processor @ 580 MHz, compatible with docks and add-ons boards used for Omega, and a much lower price with $5 for the Omega2, and $9 for Omega2 Plus with more storage and memory.

Omega vs Omega2 / Omega2 Plus Board

Omega vs Omega2

Omega2 & Omega2 Plus specifications:

  • WiSoC – 580 MHz processor, possibly Mediatek MT7688 MIPS processor used in LinkIt Smart 7688
  • System Memory
    • Omega2 – 64MB
    • Omega2 Plus – 128MB
  • Storage
    • Omage2 – 16MB flash
    • Omega 2 Plus – 32MB flash + micro SD slot
  • Connectivity
    • Built-in – 802.11 b/g/n WiFi with on-board and external antenna support
    • Via add-on boards – Bluetooth 4.0 LE, GPS, and 2G/3G
  • Expansion – 15x GPIO, 2x PWM, 2x UART, 1x I2C, 1x SPI, 1xI2S
  • Power Supply –
  • Dimensions – A fourth the size of the Raspberry Pi, and less than a third the size of the Arduino UNO
Omega2 with Dock and Arduino Shield

Omega2 with Dock and Arduino Shield

Although the module can be used own its own, it’s much easier and fun to use with docks with the Expansion dock, mini dock,  power dock, or Arduino dock shown above, and combined with one or more add-on boards adding relays, OLED displays, servo board, Ethernet, Bluetooth, GPS, or 2G/3G cellular connectivity. The developers also partnered with ControlEverything to provide for sensors add-ons.

Omega2_ProgrammingOmega2 runs Linux, likely OpenWrt, and can be programming with visual editor like Node-RED, as well as programming languages like C, C++, Node.js, Python, and php. You can checkout their github repositories to see what they’ve done for the original Omega board.

The campaign has reached its funding target within a few hours. Beside Omega2 and Omega2 Plus board, you may also consider get a bundle with a dock of your choice for $20 or $24, and various other kits are also offered as rewards. Please note that shipping is not included, and they’ll ask you to pay shipping later when the board is ready to ship with the price for the board only expected to be around $2 for most people, but it can be as high as $15 to some countries. Delivery is scheduled for November 2016.

Thanks to Freire & Nanik for the tip.

Onion Omega is an Atheros AR9331 Wi-Fi Module Supporting Various Docks and Add-on Boards (Crowdfunding)

March 31st, 2015 No comments

There are so many inexpensive Wi-Fi modules running Linux that it would be easy to discard Onion Omega as yet another Wi-Fi module based on Atheros AR9331 WiSoC. However, the developers have tried to bring some added value by making programming easier for web developers, integrating it with a cloud platform (free for non-commercial use), and providing basicor Arduino dock, and add-on boards for Ethernet, OLED, Relay… to make building hardware projects easier too.

Onion_OmegaLet’s go through the hardware first, starting with the module specifications:

  • SoC –  Atheros AR9331 400MHZ MIPS 24K
  • System Memory – 64MB DDR2 400MHz
  • Storage – 16MB Flash
  • Connectivity – 10/100 Mbps Ethernet + 802.11b/g/n Wi-Fi up to 150Mbps with PCB antenna w/ uFL connector
  • I/Os –  18 GPIOs
  • USB – 1x USB 2.0
  • Power Supply – 3.3V; Typ. consumption: 0.6W
  • Dimensions – 28.2mm x 52mm (1.1″ x 2.0″)
Arduino Dock for Omega

Arduino Dock for Omega

Since this type of module is not always convenient to use standalone… three docks have been designed:

  • The dock – Simple baseboard with USB, power supply, RGB LED, push buttons, and 2.54mm header to access I/Os
  • Arduino dock – To leverage your existing Arduino shields
  • Servo dock – For controlling up to 16 motors

But the latter won’t go for sale, as it will be reworked as one of the expansion boards that currently can add support for Ethernet, OLED, or relays, and are stackable as shown in the picture below with “The dock” and Omega.

Omega_Dock_ExpansionThat’s about it for the hardware, although they also have full kits, as we’ll see later.

The whole idea behind the project is actually more about software support than hardware:

  • Built-in integration with Onion Cloud so that the module can interact with Web services, communicate with other Internet connected devices, and be accessible from anywhere in the world. Onion Cloud is free for non-commercial use.
  • Support for multiple high-level programming languages such as Python, Javascript (Node.JS), PHP, Ruby and many others with development done directly on the board via a web interface called Onion Console.


  • User-friendly Firmware upgrade procedure
  • Multi-tasking to avoid switching between firmwares.
  • App store for apps for hardware like a robotic arm, printer, heater, and so on.

The company has also setup 5 kits (Ping Pong blaster, tweet printer, robotic arm, spycam, and LED matrix) that you can try live online @ Onion Lab. Sadly I could not make the ping pong blaster work, but the tweet printer worked great.

Once you had some fun, you may consider backing the project listed on KickStarter. A $19 pledge should get you an Omega + Dock (early bird), and once 100 reserved rewards are gone, it will go up to $25. You can also combine Omega, Dock and expansion for prices ranging between $35 to $65, and the kits start at $99 for a Wi-Fi camera, up to $499 for a spider bot or a drone. Shipping appears to be included, and delivery is scheduled between August and October 2015 depending on the rewards.