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.
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.
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.
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.
Plugging Omega2 into the dock is very easy, and the only thing you have to check is that it is inserted correctly.
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.
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 http://192.168.3.1 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.
Selection you ESSID, input you WiFi password. and clikc on “Configure WiFi“.
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.
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):
The authenticity of host 'omega-42d7.local (192.168.0.113)' can't be established.
RSA key fingerprint is SHA256:xxxx
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'omega-42d7.local' (RSA) to the list of known hosts.
BusyBox v1.25.1 () built-in shell (ash)
____ _ ____
/ __ \___ (_)__ ___ / __ \__ _ ___ ___ ____ _
/ /_/ / _ \/ / _ \/ _ \ / /_/ / ' \/ -_) _ `/ _ `/
\____/_//_/_/\___/_//_/ \____/_/_/_/\__/\_, /\_,_/
W H A T W I L L Y O U I N V E N T ? /___/
Ω-ware: 0.1.5 b130
Note Ω-ware firmware version is 0.1.5 b130.
wifisetup allows you to scan the network, and connect the board to your router:
Onion Omega Wifi Setup
Select from the following:
1) Scan for Wifi networks
2) Type network info
Scanning for wifi networks...
Select Wifi network:
Authentication type: WPA2PSK
Enter password: xxxxxxxxx
> Restarting wifimanager for changes to take effect
Good. Firmware update failed in the web setup wizard, but we can retry it with oupgrade command line:
> Device Firmware Version: 0.1.5 b130
> Checking latest version online...
> Repo Firmware Version: 0.1.7 b139
> Comparing version numbers
> New firmware version available, need to upgrade device firmware
> Downloading new firmware ...
/usr/bin/oupgrade: local: line 377: not in a function
--2017-01-14 10:16:17-- http://repo.onion.io/omega2/images/omega2p-v0.1.7-b139.bin
Resolving repo.onion.io... 220.127.116.11, 18.104.22.168
Connecting to repo.onion.io|22.214.171.124|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 7078055 (6.8M) [application/octet-stream]
Saving to: '/tmp/omega2p-v0.1.7-b139.bin'
/tmp/omega2p-v0.1.7 100%[===================>] 6.75M 1.02MB/s in 9.6s
2017-01-14 10:16:27 (722 KB/s) - '/tmp/omega2p-v0.1.7-b139.bin' saved [7078055/7078055]
> Starting firmware upgrade....
Saving config files...
killall: watchdog: no process killed
Sending TERM to remaining processes ... uhttpd device-client onion-helper udhcpc avahi-daemon mountd ntpd udhcpc
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:
BusyBox v1.25.1 () built-in shell (ash)
____ _ ____
/ __ \___ (_)__ ___ / __ \__ _ ___ ___ ____ _
/ /_/ / _ \/ / _ \/ _ \ / /_/ / ' \/ -_) _ `/ _ `/
\____/_//_/_/\___/_//_/ \____/_/_/_/\__/\_, /\_,_/
W H A T W I L L Y O U I N V E N T ? /___/
Ω-ware: 0.1.7 b139
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:
root@Omega-42D7:~# uname -a
Linux Omega-42D7 4.4.39 #0 Thu Dec 29 17:07:01 2016 mips GNU/Linux
root@Omega-42D7:~# df -h
Filesystem Size Used Available Use% Mounted on
/dev/root 5.3M 5.3M 0 100% /rom
tmpfs 61.3M 92.0K 61.3M 0% /tmp
/dev/mtdblock6 25.1M 760.0K 24.4M 3% /overlay
overlayfs:/overlay 25.1M 760.0K 24.4M 3% /
tmpfs 512.0K 0 512.0K 0% /dev
root@Omega-42D7:~# free -h
total used free shared buffers cached
Mem: 125644 28728 96916 92 3272 9656
-/+ buffers/cache: 15800 109844
Swap: 0 0 0
root@Omega-42D7:~# cat /proc/cpuinfo
system type : MediaTek MT7688 ver:1 eco:2
machine : Onion Omega2+
processor : 0
cpu model : MIPS 24KEc V5.5
BogoMIPS : 385.84
wait instruction : yes
microsecond timers : yes
tlb_entries : 32
extra interrupt vector : yes
hardware watchpoint : yes, count: 4, address/irw mask: [0x0ffc, 0x0ffc, 0x0ffb, 0x0ffb]
isa : mips1 mips2 mips32r1 mips32r2
ASEs implemented : mips16 dsp
shadow register sets : 1
kscratch registers : 0
package : 0
core : 0
VCED exceptions : not available
VCEI exceptions : not available
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:
root@Omega-42D7:~# expled 0xF20000
Setting LEDs to: F20000
Duty: 6 100 100
Oops, segfault. Let’s try something else like a pinkish color:
root@Omega-42D7:~# expled 0xF21133
Setting LEDs to: F21133
Duty: 6 94 80
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.
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):
root@Omega-42D7:~# gpioctl dirout 1
Using gpio pin 1
We can now turn the LED on by setting GPIO 1 to HIGH with dirout-high option:
root@Omega-42D7:~# gpioctl dirout-high 1
Using gpio pin 1.
root@Omega-42D7:~# gpioctl get 1
Using gpio pin 1.
Pin 1 is HIGH
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:
root@Omega-42D7:~# gpioctl dirout-low 1
Using gpio pin 1.
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 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].
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.
55 Replies to “Getting Started with Onion Omega2+ LEDE WiFi IoT Board and Expansion Dock”
Thank you for the review and getting started guide, im am still awaiting the arrival of my Omega2. Im am eager to see the functionality the cloud service (https://cloud.onion.io/) will offer.
What’s the use case for devices like this? Do you have any consumption numbers?
You should receive it soon. That’s actual the second one I’ve been sent. The first one was lost and sent without tracking number.
My USB power monitor reports 4.7V/0.14A (~650 mW) while idled.
It’s a middle ground when ESP8266 is not quite powerful enough for your application, but you don’t quite need once of those more powerful quad core Linux boards. It’s also lighter and smaller, so it might be easier to integrate in some projects.
FYR, some projects made with the similar LinkIt Smart 7688 Duo -> https://www.hackster.io/mediateklabs/products/linkit-smart-7688-duo
Hmm… weird. Those ‘powerful quad core Linux boards’ cost less (at least OPi Zero), idle at the same consumption level but can be run with a sane software stack. If I see the output above (downloading ‘firmware’ from a HTTP and not a HTTPS link, countless error messages, stuff not working) at least it’s obvious to not trust in any software offerings from this vendor and especially no ‘services’ they might offer. I wouldn’t allow such a device access to my normal network and especially not the Internet. 🙂
@tkaiser so you seriously compare opi w/ third party sw to this board with the mfgr sw… Shaking my head!
especially after having read your rants about killing cores and such, but we all know allwinner sdks are perfect and opi are the only source for perfect sw in this universe.
Same strange thing with 1t1r and 2.4Ghz bashing. But the latter seems to be en vogue in good ole germany.
How many devices can onion omega connect at a time ? I am looking for a wifi device which can connect 50 devices can any one suggest thank you
Hope to receive soon however South African mail processing so slow.
Some 2mm to 2.54mm converters might help:
But you might need 2 breadboards.
Otherwise another trick is to use connectors of old IDE laptop 2.5 harddrives.
or buy two of them:
Or this board:
I have great respect for the price/performance of the Orange Pi Zero, but it will still be expensive for below use case given need for $4 class 10 4-8 GB SD card plus $7 for the 256MB version.
Question: Can the $5 Omega2 be used to stream video via WiFi from a USB camera?
What fps and resolution (E.g., 640×480) can be supported? How about WiFi range with/out external antenna?
Somebody did a project with a USB camera using 640×480 @ 25 fps with LinkIt Smart 7688 -> http://iot-hacks.blogspot.com/2016/01/webcam-streaming-with-linkit-smart-7688.html
You should be able to do something similar with Onion Omega2.
Great, thanks. I could probably use Motion in place of mjpg_streamer as well.
I am assuming WiFi here is pretty stable.
Re:16MB onboard storage on Omega2, do you know if this is user space, or we have to exclude 4-8MB for LEDE OS?
16MB is the size of the flash.
I have Omega2+ with 32MB flash, and you can see from df command that around 24 MB is available to the user. So with a 16MB flash you’d probably get 10 to 11MB free.
Unbelievable. You’re still in the ‘don’t want to pay anything but expect superior performance/stability’ mode. This here is also IoT/crap WiFi (1TR1, 2.4 GHz, no one is stupid enough to benchmark this since it’s useless anyway. 2.4 GHz band is overcrowded almost everywhere and results depend more on environment than anything else. You would need MT7628 that comes with a 2T2R antenna if you’re interested in stuff like ‘bandwidth’).
And then it’s funny that you add the costs for an SD card to a real dev board while you miss the costs of the rather expensive Expansion board you need to do anything useful with this Omega thingie. BTW: good luck using motion (video ‘processing’ on a single core MIPS with 580 MHz, even original RPi will outperform this setup since on RPi you get at least 1 fps)
You are THE funny guy at Armbian. I do enjoy your outbursts which mix fact with fantasy.
Crap is your favorite word !
I simply looked at a specific use case which does not require an expansion board. Plus one can always hang a copper coil as a bigger antenna- how much could that really bust your budget?
Made it very clear that OPi0 still is my #1 choice overall. But there are different applications; this one can be done nicely with an OPi0 as server for many WiFi networked Omega2 enabled USB streaming cams.
Check out that LinkIt video above and see if you can call it crap too…You will, but not all will agree.
The funniest thing about your *crap* is the fact that your Armbian forum says that you guys spend 50% of your time on SD card repair, and another 20% on power repair issues. Why not focus? Make Armbian even better; hell, mainline it like CHIP did!
Yet you hate the idea of eMMC onboard which cannot cost more than the equivalent class 10 SD cards that you keep recommending (even though many folks do fine with class 4/6 cards.)
And when are you Armbians going to fix that OPi0 xr819 driver?
According to you all wifi, SD and other peripherals are mostly crap on small boards anyway.
The world (and you) can do better advocating Orange Pis if you acknowledge there are other boards for other users, or even same users. CHIP guys have put you guys to shame, even with inferior HW; they literally have become the chip on your shoulders 😉
Here is another nice review of the MT7688 based LinkIt, Jan 2016, except of course Omega2 is much cheaper ( sans its shields):
I like the node.js part.
1. Can anyone comment on the Wifi range/throughput/ stability except label it with the very scientific “crap” ?
The chip WiFi support is single input-single output 1T1R BGN, and I intend to use the Omega2 as video streaming client that connects to one particular server only.
2. Same for video streaming performance?
Both Wemos D1 Mini and Omega2 seem to have a Arduino Uno “base” and compared with Omega2’s own, Wemos shields are quite cheap.
Are Wemos shields “compatible” with Omega2?
Does Omega2 look better than Wemos D1 Mini?
They are two different products.
One is running OpenWrt while the other don’t.
@itchy n scratchy
Huh? Why are you talking about Allwinner SDKs and OPi software offerings? As an Armbian user and contributor I’m neither using the former nor the latter since both aren’t that great (OPi hardware is quite the opposite). There’s also no need to use Allwinner’s stupid default settings (that’s why we spend so much time with testing and optimizing settings — that might consume more of 50% of my time contributing to Armbian and linux-sunxi community)
I was talking about being able to run a sane software stack on those cheap IoT devices which is something that works with Allwinner dev boards (am running 4.9 on Orange Pi Zero now with a Xenial OS image built from scratch — that’s what Armbian is about). But based on Jean-Luc’s experiences it seems this is not (yet) possible with Omega 2/2+? But I looked around in Onion github repo today and it seems patches from a few days ago could be applied to upstream LEDE (the active OpenWRT fork) so that’s at least a start 🙂
Regarding crappy WiFi you should’ve noticed that this was my last try to save someone else (@Athar) some time: To realize that the use case he’s after since weeks requires accepting reality. Streaming MJPEG from an USB video camera has highest bandwidth requirements compared to all other and especially the not so stupid variants (eg. combining an OPi Lite with Xunlong’s cheap 2MP camera and using Allwinner’s hardware accelerated h.264 encoder — this is something that could work with 2.4 GHz 1T1R WiFi even in crowded areas)
@tkaiser that was exactly my point. Without sunxi’s and your work allwinner would be useless, same with all those mips from ralink(now mtk) atheros and others without the openwrt/lede community those are not worth the sand the wafer was made of…
Regarding wifi i didnt realise he was talking about mjpeg, for postal stamp size thats ok i guess 😉
Coming back to h.264 there you have the choice between playing with cedrus (working with h3 already?) or the anti gpl allwinner solution. I guess we should wait for cedrus to get ready on newer cpus.
@itchy n scratchy
If you meant my question, I never said mjpeg necessarily- it was a reference to cnx post linking Omega2 streaming at 25fps and 640*480 res if I recall.
My point is: I don’t care about format. If neither the USB cam or the Omega2 can’t transcode to mjpg efficiently (why not, with AR9331 OoenWrt doing that?) why can’t we just transmit over wifi the YUV/ RGB frames to OPi0 and let OPi0 process?
Are we saying Omega2 with OpenWrt cannot do HW acceleration, but that HW acceleration is available on Armbian ( Allwinner based Cedrus from what I was told by a dev isn’t under Armbian which instead uses vdupau driver.)
I still haven’t seen any wifi throughput required or fps or res numbers from @tkaiser except the very high tech *crap* remarks?
Plus how come the pitch is about the more expensive OPi Lite + CSI gc2035 but not his fav OPi0 + USB cam ? GC2035 itself outputs YUV/ RGB- I checked the online datasheet diagram.
Is it because he still wants to avoid the main question of a lack of stable xr819 wifi driver for OPi0, while touting his “4.9 Armbian running on [another] OPi model”?
I already like the OPi price/ performance story as said umpteen times. But dismissing a product coming at half price for a specific application without the numbers is unfair.
At least the AR9331 OpenWrt link I provided clearly shows no problem with processing/transcoding- so the more powerful MT7688 CPU can’t be the issue. 3.3V from 5V PSU is a less than $0.50 problem. No big deal.
Re: WiFi on OpenWrt Omega2, again with a DIY antenna and a free channel, what is the issue ?
@itchy n scratchy
( Continued from earlier comment; 5 min edit problem 😉 )
The main issue is communication from Armbian, much like it is with Xunlong.
Just because there is good and volunteer tech work being done doesn’t mean it is being understood.
Why can’t they write a nice FAQ on all these big issues: HW acceleration, the difference between Allwinner and Armbian-used drivers and any integration, wifi-other main driver progress, mainlining status, comparison with other ARM SBCs,…
But they want to spend 50% time on repairing SD cards which they keep calling crap, another 30% on power issues.
Why not urge Xunlong to do an eMMC for OPi0 as well, and keep the DC barrel jack, instead of a GigE USB3 model for OPi0? Walk first, then run.
SD cards, broken wifi, and now USB3-SATA on OPi0 USB2 (allegedly suggested by @tkaiser)! Why not on USB3 models?
What a waste of talent.
Well my answer: their choice ! No wonder inferior CHIP has pulled ahead boldly, and RPi can charge 3-5x given superior community. Will Omega2 also pull it off?
@Martin is correct. Basically what that means is that if you can do what you want on Wemos D1 mini, you don’t need Onion Omega2, but if you run out of memory/storage/processing power, or need some extra features not available with Wemos D1 mini, then upgrading to Omega2 would make sense.
Bear in mind that while there are still problems with the firmware, Onion Omega2 is not for sale yet, and Kickstarter backers have only started to receive their board. I’m sure it will improve over time.
I have a TCO (total cost of ownership) concern.
Omega2 at $5 costs same as ESP based Wemos D1 Mini and similar, but has far better specs. While ESP is hands down the (slow speed) IoT choice with lots of support, it unluckily cannot do any reasonable USB cam video streaming (say 648*480 @15-20 fps.)
So I want to find out if there is enough physical pin compatibility between the very cheap Wemos shields, $1.50 to $5, and Omega2, as opposed to Omega2 $15+ shield prices:
SHT30 Shield for WeMos D1 mini SHT30 I2C digital temperature and humidity sensor module
The OS isn’t a problem, with support for node.js, NodeRed, Mqtt and all other great libraries, making digital pin assignment with Uno as base convenient. LEDE I am sure will be adding a lot to OpenWrt base. ESP has no OS but supports above features.
If there is no physical pin compatibility, then I guess we are struck with Wemos until there are clone shields for Omega2-like products, just as for Arduino line already.
Also ESP does a great job with the $5 Sonoff WiFi, which next month gets a custom upgrade to Alexa emulation ( maybe they are “emulating” the very nice open source ESPurna v1.4.4 FW?)
You didn’t understand my question before jumping in.
Yes the idea is to process 640*480 @15-25fps video on OPi0 ( not OPi Lite with Xunlong cam which is CSI, not USB, thus more expensive and limited in reality.)
The issue is: how can you stream from a sub$10 generic USB cam(s) some 20-30m away, over WiFi to OPi0 (then display on TV/other OPi0 output)?
My tentative TCO answer is a $5 Omega2 when it becomes available ( given OpenWRT and good MT7688 support, likely not a long wait compared with other boards.)
Yes YUV to JPEG conversion is CPU consuming, but we don’t need that to happen on Omega2 which is acting as a cheap but good WiFi transmitter from the USB cam, and attached to it via USB ( or is there a cheaper way, since USB cams can’t just work with a wifi dongle attached?)
The trick is to ping from OPi0 to USB cam after WiFi set up to query cam device resources whether the USB cam will stream YUV ( actually YCbCr) or jpeg- hard to tell from generic cams apriori- and use the appropriate command line options from OPi0 ffmeg- VLC- mjpg_streamer etc.
I am also thinking of adding a separate two way audio channel with existing mic/speaker $2 shield) on OPi0 and adding speaker to Omega2 board (only very few USB cams come with speaker and mic), but that’s another story.
This was $1 cheaper until a day ago and has few orders yet:
USB 50 Megapixel HD Camera Web Cam 360 MIC Clip-on for Computer Laptop PC Built-in MIC
So above is a cheap door intercom set up. Btw, my use cases for video streaming are actually some others as well, and yes OPi models come in handy-good product integration.
And one more thing: are you saying (“running 4.9 Armbian on OPi0”) that OPi0 Wifi xr819 works fine on legacy/vanilla? Until yesterday wifi speed quoted on vanilla-only was 3.75Mbps.
Your level of ignorance is amazing 🙂
So you think the single core MIPS CPU on the Omega2 can do video transcoding? You ignore my statement about bandwidth requirements for MJPEG (the best you could get from a connected cheap USB cam) compared to eg. h.264? Your TCO calculation ignores the fact that an USB cam needs 5V while Omega2 needs 3.3V (this problem is ‘solved’ by the $15 Expansion Dock). And so on… good luck remaining in the reality distortion field you’re into 🙂
For some reason I got your comment via email but not here yet…Maybe cnx needs to fix the message review process.
It’s RDF that counts and gets the best hacks done !
1. You are still shy about OPi0 wifi condition while you poo pooh everyone else. At least you are not using the crap word, so improving … 😉
2. Why can’t we transmit this JPEG over 640*480*10fps= 3Mbps, even less?
Your own shabby OPi0 xr819 can do 3.75 Mbps as of yesterday. This Omega2 puppy should do much better, OpenWRT tuned for WIFi QoS, with a cheap external antenna (14 awg copper wire with alum foil reflector.)
Exactly what “transcoding” is required on the Omega2? Why not just stream YUV and process into JPEG/mpeg4 on OPi0, if JPEG is not available from the USB webcam DSP chip?
The processing should take place on the OPi0 receiver/server, just as it does on PC for USB cams connected to a PC.
3. The dual 5/3.3V problem compared with a 5V PSU for OPi0/ usbwebcam is not that a problem, according to your own Armbian posts. The PSUs price difference isn’t much. Maybe Omega2 is 5V tolerant; it’s GPIO seems so.
I am now more impressed with the $5 Omega2 looking at the HW specs, and the fact its 16MB flash handles a full fledged, well regarded, now LEDE enhance-in-progress, OpenWRT OS plus leaves 10 MB spare for user apps.
Desirable successor to the expensive LinkIt 7688 with tested HW. I would say worth the softwares-fix wait.
Good for many IoT and light applications. No (expensive + inconvenient= *crap*) SD card needed:
Just look at the MT7688 bullet features and then the color pinout.
1. The chip has a built in 5 port Etherswitch with GPIO pins onboard for Ethernet ( Tx+, Tx-, Rx+, Rx-) and for USB ( D+, D-.) Plus SBC has all the usual serial pinouts.
Great ! With minor GPIO soldering, you get a full Ethernet switch; and with g_ether virtual Ethernet driver, an Ethernet to USB interface as well (see OTG USB below in #5.)
2. I am assuming WiFi with onboard antenna is well handled with HW and OpenWrt.
You can use a cheap external antenna, 5dBi+ (14 awg copper wire and alum foil reflector) if needed.
3. Ignore the outrageous $15+ Omega2/partner shields.
You can use the really cheap, “Arduino compatible” Wemos D1 Mini shields, with some solder/ jumper tweaks and Node Red graphical digital pin assignment without much programming, starting with the Arduino IDE.
4. The Kickstarter pitch mentions (passive) PoE, but stupidly shows a PoE splitter which can be used with any board.
But with Omega2 Ethernet 4-pinout and of course GND/ Vcc, you can use an incoming Ethernet cat5 PoE enabled cable with power on the non-data wires.
For longer distances upto nominally 100m, you can use a buck converter without need for active 802.3 af/at compliance, max about 25W.
For more details, google linux-sunxi Orange Pi Zero page and read the PoE section for all the tricks.
5. No need to use micro OTG USB for power which always seems with issues. Why not use 3.3V GPIO pins, which might be 5V tolerant?
Still not clear if there is a full USB2 port on Omega2 besides the micro OTG (is that a USB or TF slot on the Omega2?)
If yes, we got an extra USB besides micro OTG USB with master/slave control (needed for virtual Ethernet adapter, a great feature.) If not, we got an SD card slot in addition to the 16 MB flash.
While Onion Omega2 is not for sale on their website, and the Kickstarter campaign is finished, you can get it on Indiegogo @ https://www.indiegogo.com/projects/omega2-5-linux-computer-with-wi-fi-made-for-iot/x/1760545#/
Good. They only let you order one at a time, but heck it is free shipping to many countries including Canada.
So I did it 3 times.
Certainly Omega2 can do adequate USB cam web streaming as your LinkIt link and later my OpenWrt AR9331 link shows ( MT7688 having better specs) for half the price ($5 SBC+ $0.50 for LM1117 reg + jack + wire + DIY ext antenna) of an equivalent OPi0 setup ($7 256 MB version + $4 SD card) with the same 5V PSU.
Plus it has Fast Ethernet pinouts, maybe another USB2 pinout sans OTG pin. No virtual Eth, but not needed.
Continuing from my last comment ( only 5 min edit allowed):
See this, under Specifications between board pics:
Says 5V power input from micro OTG USB port, 3.3V operating !
So, if same MT7688 chip as it says, problem solved with 3.3 vs 5V. Maybe that is why people have issues trying to power OTG with 3.3V ?
So well it does then make sense to use uUSB OTG for power; was wrong above.
I might have to take back my micro OTG USB remark with virtual Eth capability. This port might not be a true USB port, just a power port: says no USB serial chip on the Expansion Board… confusing re: the uUSB OTG onboard.
And yes, full USB2, not TF slot ( on exp only.)
Stumbled upon the Open Wrt wiki here, with real world results for mjpg-streamer:
And Omega2 has better specs. Yes I mixed up couple things, but RDF works in its own ways 😉 Or maybe there is a transparent mode WiFi.
So now all your WiFi bw, CPU and PSU on Omega2/MT7688 objections are met. This also means minimal load on OPi0 server.
Can’t do much about your OPi PR: based allegedly on your suggestion, they released a USB3-SATA board for the OPi0 that costs as much with a USB2 interface.
Or shall we say that against industry trend, they released a shield (otherwise impressive price/performance) before a suitable SBC board gets built !
Gimme that OPi9 xr819 wifi driver first !
And yes Omega2 looks even better.
OMG, still trapped in reality distortion field? I highly doubt anyone is reading through all these weird comments but just in case: the whole idea is BS.
The Omega2’s SoC isn’t powerful enough to do any encoding/transcoding so in case the output of any USB camera has to be streamed the camera must do the encoding already. That means it’s either JPEG/MJPEG capable (more expensive) but then you need a completely free radio channel and a pretty short distance between AP and Omega2 to get any reasonable framerates since MJPEG bandwidth requirements are insanely high and what most people forget there’s something called latency (round-trip times) which prevents any reasonable throughput numbers with these el cheapo WiFi implementations.
So you’ll need a really expensive USB cam that can encode better (h.264 at least) and as already written in another comment a cheap Orange Pi Lite combined with cheap GC2035 camera is the way better idea since we can use HW accelerated video encoding on most Allwinner SoCs in the meantime. For details have a look at: https://forum.armbian.com/index.php/topic/1842-ffmpeg-with-cedrus-h264-hw-encoder-h3-cmos-camera/
Also as already written: a h.264 stream can be transferred with reasonable fps through crappy WiFi (2.4 GHz, 1T1R), MJPEG or even raw video streams clearly not (or only when distance is so close that you could also throw a cable)
If AR9331 can do it, so can MT7688.
Anyway we are simply repeating ourselves.
For $5.50 Omega2 vs $$11 OPi0 (much higher for OPi Lite + CSI cam), we know which can win.
Omega2 has good WiFi range, plus DIY antenna. Free channel no problem.
“Insanely high jpeg BW…”
How much really? What fps?
Obviously you fail to understand ‘Just need a decent webcam’ (last sentence there) and fail to realize that there’s a difference between the cheap camera crap from Aliexpress you’re looking after and the used Logitech C270 (which costs even more than an OPi Lite + 2MP cam from Xunlong). Good luck with the rather stupid ‘buy the cheapest crap possible and expect wonders’ approach. 🙂
BTW: bandwidth needed depends on settings and video content (low light condition –> less bandwidth needed), bandwidth available depends mostly on environment (distance between client and AP, (concrete) walls in between or reflecting signals, aerial used). Anyway since it’s just a waste of time talking to you simply try it out and get back to this comment thread with results (of course implementing the setup you described: ’20-30m’ distance — LOL!).
Again more cliches about it, “all depends.” But no hard numbers, or even rough examples !
Bottom line: You don’t have much knowledge of Omega2 like most others; but you are fully vested in OPi that your glowing recommendations are damaging.
See comment #36 above. We can make use of Allwinner’s video engine with open source drivers now even for video encoding on most if not all currently available Allwinner SoCs. This is still more or less a proof of concept but it works. And h.264 streams fortunately can be transmitted over crappy WiFi in worst case conditions unlike MJPEG. We do a lot of this stuff currently with RPi + Cam (doing the h.264 encoding on the VideoCore IV and some transcoding to MP4 on small servers — an A20 device is sufficient to deal with up to 10 camera streams) but for low quality purposes H3 boards with the cheap Xunlong 2MP cam are already sufficient and if quality matters NanoPi Air with their 5MP cam is a good choice.
This only applies to situations where you want the ‘camera’ to do more stuff than just recording. If it’s only about ‘just video camera’ there are numerous better solutions available (even if I don’t find Jon Smirl’s last recommendation now)
You won’t believe it but I bought this software here: https://www.macupdate.com/app/mac/39755/netspot-pro
Just to run around with a MacBook Pro at customer’s location to create WiFi coverage maps to be able to optimize kind of and position of the APs (we usually recommend/use Ubiquiti here). So unlike you I have at least some experiences with and knowledge about real-world WiFi, the limitations and the nature of this thing (this is the ‘all depends’ stuff since it’s shared media). Same with video streaming. We implemented various solutions at customers. I know what I’m talking about here and I tried to help you by pushing you in the right direction (you search for cheap and crappy — the best you can get that might work in the conditions you were talking about is still an OPi Lite + CSI cam but ’20-30m’ is not that realistic unless there is free sight in between and bandwidth requirements are really low)
commenting on the actual article might be weird after reading the plethora of comments, but I’d just like to say that this getting started tutorial was great! I was having issues with the gpio and this got me back on track =)
Oh, I totally overlooked that Onion devs pushed DT changes to support the Omegas already upstream so no need to trust in dubious firmware images since official LEDE with latest 4.4 LTS kernel can be used too 🙂
And community already started to fix/enhance things. Funny to see Nita (WereCatf) busy on almost every IoT device around: https://github.com/WereCatf/source/commits/image
Nice to see you are waking up 🙂
This board is going to be a winner, just like CHIP is now, given the already solid MT7688 and LEDE support. The big problem with LinkIt was price.
> This board is going to be a winner, just like CHIP is now,
CHIP is a hype, while is technological near to obsolete. This Onion2 is yet another device, for which is too soon to predict anything. Choosing Mediatek silicon for v2 brings even more uncertainty to the game.
Commercial success and technical specs are unfortunately not linked so doing success assumptions based on tech data is waste of time 🙂
While we don’t know if it will be a commercial success in the long run, it’s been a crowdfunding success, as they’ve managed to raise $1.5 million via Kickstarter and Indiegogo for Omega2 board and accessories. There’s also been over 22,000 backers (maybe with some overlap between KS and IGG), so there should be some active community behind it.
>it’s been a crowdfunding success
Sure, but I don’t care about that when comparing devices based on their technical specs. In this particular case this is more on their “possible potential based on specs”. I am sceptical with those things by default.
To fool the crowd, you don’t need to have a good product, actually you don’t even need one. A promise is enough. And of course you need a good marketing department to sell this story and some luck of course.
Raising big expectations reminds me on Pine64 and many other “selling utter bullshit” successful campaigns. Where is BTW this Pine64 community of supporters now?
We are repeating old arguments here. Market failures don’t mean there should be no customer emphasis – no risk, no reward, as entrepreneurs say.
And technology superiority doesn’t imply taking good spec parts into a crap product ! You don’t have to build Edsels out of Lexus parts.
How do you explain the fact that a volunteer “designer” touts his recommendation of the USB3SATA shield for the USB2 based OPi0, but not for higher priced USB3 models? And then he talks about a new motherboard to fit this SATA shield ?
On Armbian and now here I constantly see everything-SBC called *crap* incessantly.
So why do you guys work on this stuff? What is the point of spending 80% of your time on repair SD card and power jobs, but not using your influence to have Xunlong do eMMC for OPi0 as well, and put a DC jack on its very useful $2 expansion card? How come OTG power is a crap idea but it is OK on OPi0?
Why not fix OPi0 wifi before urging Xunlong to do a new OPi0 version with GigE and USB3? Or is that just not tech enough?
Let’s walk before we can run.
Does it make sense to have great tech spec like a quadcore, but without wifi support, no real mainlining, GPU without 2D media processing and well how about parallel processing?
What kind of tech excellence is all above? Yes Armbian has done a great job but volunteers have responsibilities too- helping the market ( users) have better products. It should not be a go-it-alone idea.
CHIP with its “inferior” technology has pulled ahead because it decided, even as a bit player, to listen to its customers, mainline to Linux, acknowledge and fix hardware problems and *then* produce upgrade and accessory parts.
Omega2, with already good market experience, and a tested chip, seems to be on the same path. If nothing else their well known OS works fine on onboard flash; and they have a TF slot option in its $9 version.
But what is the point of denigrating a brand new product (e.g., Omega2) without even looking at existing specs, and calling it crap too? To me it is a deep sign of insecurity.
Great technology is about building great products like iPhones when everyone is hung up on PDAs claiming no better product can be built because the tech isn’t there !
Xunlong has hurt itself by not investing in fw and coming up with funny products, even recently. No wonder it is a niche player even with great price performance. I really hope it can reform its policies.
In sum we should welcome good products. Without them there are no users, founders, employees or volunteers ! Even volunteers need to feed themselves.
IMO CHIP and Omega2 can be directly compared. Vendor targeting clueless Kickstarter/Indiegogo crowd, brilliant marketing, boring hardware, base product made extremely cheap and then cashing in on the many add-ons that are necessary to do something useful with these gadgets. Pine64 is comparable too but there software and support situation (especially some weird moderators constantly spreading BS in their own forum and fooling users almost all the time) is really worse compared to CHIP… no idea how situation with these Omegas evolves. Time will tell.
Great tutorial…thanks for sharing..
Someone made some 2mm to 2.54mm converters here:
I got mine and didn’t realize the dock was a requirement. Can this be used without the dock? Is there a pin explaination somewhere?
Yes you can. It’s explained on the Wiki @ https://docs.onion.io/omega2-docs/hardware-prep-no-dock.html#hardware-prep-no-dock
I ordered this board, soldered the Omega2 on there, soldered the headers, now it fits on 2 breadboards, but I still need to solder some wires to make the connections. I will post a picture once it is ready.
anyone used and had working the i2s outs pins recognized/available as an alsa device (aplay or mpg123) ? thanks