Thanks for all the feedback in this thread. Based on all of this info, I've concluded that my project is just not economically feasible given the complexities with providing adequate power to 2 onion devices simultaneously. I was hoping to build some kind of audio/video based home monitoring system (using 2 different onion devices -- one w/ a camera, and the other having a USB speaker attached) .. and so far I've calculated an absurd cost of just under $200.00, -- without any kind of enclosure, or guaranteed reliability. And then I came across this cool little gadget, and gave up entirely:
Yes, I've already started looking at webcams (on Amazon), and definitely found a few that have built in microphones. I was just hoping to hear from someone who can confirm that they've already tried it and that it does in fact work.
What about connecting 2 different USB devices to the Onion (ie: a webcam + audio device)? Does anyone here know of some kind of USB splitter or hub that doesn't require an external power source?
Here's a link to a demonstration video! GameBoy Color emulation at 60FPS, properly synchronized using the audio. Using a DisplayLink DL-165, a FullHD monitor, a USB audio card and a WiiClassic I²C controller.
Most of the CPU time is taken up by the routine that sends the framebuffer via USB. If that were not there, the CPU load would go down from 60% to about 26%. Which means that there's a lot of things to optimize here yet...
I'll go the 'X11 Xorg server' route for a while and see where that takes me :).
The solution I used was to build a custom firmware with USB support compiled in and with the omega dts file modified such as to enable the u-boot and u-boot-env partitions as read/write.
Then with the O2+ in a mini-dock and dumps of the u-boot and u-boot-env from my kickstarter O2+ on a USB, I flashed the O2+ with the modified firmware and just wrote the kickstarter copies to the relevant partitions.
It was a total hack, so I have no idea whether this worked by design or I was just lucky that it worked.
Note, the officially sanctioned way to replace the bootloader is via an ethernet expansion installed in an expansion dock as documented here Firmware Flashing With Web Recovery Mode and I'd recommend anyone try that first before doing what I did.
Further, note this useful clarification regarding the documented procedure by @Pavel-Metrokhin in Bootloader for Omega2S and Omega2S+
Building the Onion software at the time I did this (Feb 2018) was a hit and miss affair, which is why I did it the way I did.
Apologies for the late reply, somehow I managed to miss your question in the past.
@Yvan-Gagnon I've mentioned this a couple times in response to other posts and do not remember if one of those posts was yours, if so, I apologize for bringing it up again, but, it is possible to gain access to all the pins by using a female header with long pins. just insert the female header into each header of the mini dock and then insert [carefully] the omega2+ into the long pin female headers. this will leave all pins exposed that you can then use various methods to attach wires from your project to the appropriate pins. granted it is a "garage style" method and care must be taken to not damage the long pin headers, however it worked for any project i saw hooked up this way at a local hackerspace.
@David-Duffey Awesome project! Definitely 2-Bullet Tuesday worthy.
For your code, if you add a line with just three backticks ``` before and after your code, it will format it and usually do some syntax highlighting!