Archive

Posts Tagged ‘open source’

Souliss Automation and IoT Framework Makes Your Home Smarter

June 12th, 2013 3 comments

Souliss is an open-source framework written in C/C++ for the Internet of Things and home automation that runs on Arduino boards, or other Atmel AVR MCU based boards, and let your control lighting, heating, or anything else you can think of via your Android device, or switches connected to your board(s).

Souliss_Getting_Started_Steps

You can get started with Souliss in 3 steps:

  1. Getting the building blocks, for example:
    • Arduino, Olimex, or other AVR boards (See list of supported boards)
    • Relay boards
    • ON/OFF Switches, Lights, etc…
    • Wi-Fi router
  2. Download and load Souliss to an AVR powered board controlling real things such as lights.
  3. Monitor and/or control via Souliss Home Automation App for Android.

A detailed getting started guide is provided on Souliss Google Code page.

Internally, the framework is composed of three parts: Souliss, an application level layer, MaCaco, a communication protocol and vNet, a transport layer. I’ll skip details in this post, but if you’re interested you can read the Wiki, and Souliss is fully open source so you can download the code as well.

Let’s see one example called Souliss – Fiat Lux with 2 lights.

Light Control Example with Souliss

Light Control Example with Souliss

In this example, the first Arduino board (on the right) controls 2 lights via a relay board. You can turn off the lights directly via the wall switches also connected to the Arduino, or IP networks with the Android app that sends commands via Wi-Fi to the router which are then forwarded to the Arduino board via Ethernet. If you lights are outdoors for example, and it’s freezing, you can also turn them off via 2 switches connected to a second Arduino boards (on the left) that asks the first Arduino board to turn on/off the lights via Ethernet.

One of the co-founder of the project is running his house over Souliss, and in one room (party room?), he can control 2 LED strips (power and colors) via Souliss Home Automation Android app, control the songs that play via the speakers, and turn the LED strips into some sort of audio frequency visualizer, as it follows the current song beats. Watch the demo below.

You can find more information, including examples, tutorials, and more, on souliss.net.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Yocto Project 1.4 “Dylan” Release

April 27th, 2013 4 comments

The Yocto Project Release 1.4 has just been announced. This release codenamed “Dylan” and based on Poky 9.0.0 is the sixth release of the project. The Yocto Project is a framework that creates embedded Linux distributions, and has been getting more and more traction with silicon vendors such as Intel, Freescale and Texas Instruments.

Yocto Project 1.4 bring the following new features and updates:

  • Major performance improvements – The overall build time has been reduced by more than 10%. Kernel build time is reduced by about 25%. With rm_work enabled, 40% less storage will be used for the tmp directory.
  • Smart, a replacement for zypper
  • Support for read-only rootfs
  • Wayland support, an X replacement.
  • Systemd support, a replacement for the system V init daemon.
  • Usability improvements to HOB, bitbake, yocto-bsp and other tools, including UI improvements, new features and bug fixes.
  • Documentation improvement/update and a new kernel development manual and profiling manual.
  • A complete rewrite of the yocto-autobuilder to allow for easier configuration, faster build times, and easier to maintain code
  • Support for postinstall scripts to run at roofs creation time, which will reduce image boot time.
  • Support for both the Linux 3.8 kernel and LTSI (3.4) kernel
  • Over 400 bugs fixed

You can download The Yocto Project 1.4 to give it a try. Alternatively, you can also retrieve the code via git:

git clone -b dylan git://git.yoctoproject.org/poky.git

For further details, you can  visit Yocto Project 1.4 Features page.

The next version (The Yocto Project 1.5) will be released in October 2013, as the project follows a 6-month release schedule. Yocto Project 1.5 Features page is still work in progress, but the next release will focus on improving developer experience, validation automation, and further performance improvement. A list of bugs and enhancements is also available.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Freescale i.MX 6 TV Dongle Schematics, PCB Layout, and Application Notes

April 24th, 2013 1 comment

We already had the source code for Freescale i.MX6 HDMI TV dongle, and some work has been done on the Linux front by imx6-dongle community to make Ubuntu work on Hi802 and GK802 mini PCs. Today, I’ve just found out Freescale has also released the hardware files and some application notes for their HDMI TV dongle reference platform (MX6x_HDMI_DONGLE).

i.MX 6 HDMI Dongle Block Diagram (Extracted from Schematics)

i.MX 6 HDMI Dongle Block Diagram (Click to Enlarge)

There are 2 files for download:

Let’s have a look at the hardware design files:

  • wifi_rtl8192ce.zip – Schematics in PDF and DSN (OrCAD) format, gerber files, BoM and manufacturing files for the Wi-Fi module.
  • bom_hdmi_dongle_revb2_20130116_1500.xls – Bill of materials for i.MX 6 HDMI dongle
  • pcb_hdmi_dongle-revb2-20130116_1700.rar – PCB layout (.brd) and gerber files
  • sch_hdmi_dongle_revb2_20130116_1500.rar – Schematics for i.MX6 mini PC in PDF and DSN formats.

We also have three application notes:

  • AN4397  Common Hardware Design for i.MX 6Dual6Quad and i.MX 6Solo6DualLite.pdf – Giving  hardware design recommendations for DRAM, SATA, I2C, MIPI, Display, etc..
  • IMX6DQ6SDLHDG.pdf – Hardware Development Guide for i.MX 6Quad, 6Dual, 6DualLite,
    6Solo Families of Applications Processors
  • AN4579.pdf – i.MX 6 Series Thermal Management Guidelines

That looks pretty good, and that means that the first open source hardware mini PC / HDMI stick I’ve ever seen.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Open Source Time Machine #2 – Build A Complete Watch Yourself

April 11th, 2013 1 comment

There are already some watches such as Texas Instruments ez430-Crhonos and MetaWatch that are used as development platform and let you develop software yourself. Some hardware documentation is usually provided as well, but Energy Micro forums’ member hairykiwi is trying to go a bit further. He created a watch based on EFM32 Cortex M3 MCU and already released the KiCad schematics and gerber files, with 3D printer files and firmware source code to be released once they are ready. The project is called “Open source Time Machine #2″ (OTM2).

OTM2_Watch

Early Prototype of OTM2 Watch with 3D Printed Case

The project makes use of the following components and features:

  • EFM32LG332F256 – Energy Micro Cortex M3 Leopard Gecko MCU with 256KB flash and 32KB SRAM
  • A 128×128 pixel (23.2 x23.2mm visible area) ultra low power Memory LCD from Sharp Microelectronics,
  • Recharge and programming via Micro USB connector. JTAG programming is also available.
  • 150mAh Li-Po Battery + on-board battery fuel gauge IC.
  • Vibratory Motor.
  • Piezo Electric diaphragm.
  • ADXL362 / ADXL346 accelerometer.
  • Five miniature right-angle tact switch buttons
  • Provision for a LED based planar light-guide type back light (utilizing a 0.4mm high right-angle Avago ChipLED and laser engraved light guide.

The watch may be improved at a later stage with the addition of Bluetooth LE, ANT+, GPS, etc…

He has just assembled the first PCB as of last week, and it looks pretty neat.

OTM2_PCB_Display_Battery

There are no videos of the watch yet, especially since the device may not have booted yet, but if you want to see what the display is capable of, you can watch the video below with the Sharp display and an EFM32 devkit.

This open source hardware project is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License and, will be open source firmware, probably released under the GNU Lesser General Public License v3.0.

Schematics and gerber files are available in the project’s github repository, and others files (3D parts & source code) will be available as the project progresses. There are a few more pictures, and a lot more explanations about the assembly in the forum post.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

AllWinner A20 Linux Source Code, EVB Schematics and Product Brief

April 6th, 2013 3 comments

Hardware based on AllWinner A20 such as Cloudsto Media PC PRO DRIVEDOCK, should start to be available soon, and resources for developers have been slowly released (or leaked) to the community.

AllWinner A20 Source Code

The source code for AllWinner A20 and A31 has been released to sunxi-linux a while back, and they have started to clean up the code before hardware becomes available. The code apparently hasn’t made it to sunxi-linux github account just yet, but Linux for A20  has been imported into github at https://github.com/amery/linux-allwinner/tree/import/lichee-3.3/a20-dev. AllWinner A20 is known as sun7i in the code.

AllWinner A20 Evaluation Board Schematics and Product Brief

Olimex received A20 EVB schematics and product brief from AllWinner earlier this week, and as usual, they promptly uploaded those documents to their github account. The 3-page product brief does not bring anything new, and the data sheet does not seem to be available right now. The schematics are both available in PDF and Orcad (.DSN) format, so it should be easy to adapt them to your own design as long as you use Orcad.

AllWinner A20 Evaluation Board Block Diagram

AllWinner A20 Evaluation Board Block Diagram

Olimex did a detailed analysis of A20 schematics, and compared it to A10 schematics to see if AllWinner A20 is really pin-to-pin compatible with AllWinner A10. Although it’s possible to make a board that works with both SoC,and Olimex just plan to do that with their A10/A20 development board, the conclusion is that existing boards are unlikely to be compatible and some modifications are needed.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Wandboard Releases Updated Android and Ubuntu Linux Images and Source Code

April 1st, 2013 3 comments

Since I’ve received my previous short review of the Wandboard Dual development board, there has been more work on done the platform with new Android and Ubuntu images, Jelly Bean source, Linux SDK release, and git repo setup. I’ve tried the binary images, and had a quick look at the source code and corresponding documentation.

Wandboard Top (Click to Enlarge)

Wandboard Dual (Click to Enlarge)

Android 4.1.2 Image and Source Code

Wanboard has release an improved Android image on the 14th of March which you can download for both Solo and Dual version of the development board with the following Changelog:

Fix HDMI audio/playback issue with certain monitor.
Add support for wifi on wandboard-dual.

Known issue:
Might need to turn off “Avoid poor connections”  in Wi-Fi ->Advanced to keep connection alive.

I’ve given it a try in Wandboard Dual, and it seems Ethernet support is gone (Sorry my mistake, Ethernet IS working, but there’s no indication when it’s connected, and it’s pretty slow), Wi-Fi works but I’ve encountered the known issue above, and it’s quite slow, at least at the beginning, because of mmcqd process that seemed very busy with my microSD card. Adb is still not working so for a development board it’s quite a massive shortcoming if you want to develop Android apps for the platform.

I was able to install Google Play in the Wandboard. First download gapps-jb-20120726-signed.zip, then extract it and copy the files in the micro SD card as follows in a Linux PC:

cd ~/
mkdir gapps-jb
cd gapps-jb
unzip ~/Downloads/gapps-jb-20120726-signed.zip
sudo cp ~/gapps-jb/system/* /media/system/ -rf
sync

But then I decided to stop playing with Android on Wandboard for now, because I don’t like to torture myself using a system so slow. CPU usage is always around 6 to 7, the popup window showing “App is not responding : Wait / Kill” appears very often, and sometimes even the mouse point can’t be moved around.

The company also provides 2 Android Jelly Bean source code release:

For tarballs contains a file called Wandboard_Android_4.1.2_UserGuide.pdf with the instructions to build Android, create a bootable SD card and install Google Apps.

Ubuntu 11.10 Image, Source Code and Kernel repo

The company also released an updated Ubuntu 11.10 image that you can download for the dual version only. There’s no Changelog provided with the file. All I can say is that it could be a bit smoother than before (although boot time is still over 2 minutes), both Ethernet and Wi-Fi are working, but 2D/3D GPU acceleration is still not supported, as es2gears and glmark2-es2 are still using software rendering with this image. However, hardware video acceleration is working, as I could play most Linaro samples with Totem Player:

  • H.264 codec / MP4 container (Big Buck Bunny), 480p/720p/1080p – OK
  • MPEG2 codec / MPG container, 480p/720p/1080p – OK
  • MPEG4 codec, AVI container – OK
  • VC1 codec (WMV), 480p/720p/1080p – OK
  • Real Media (RMVB) – Failed. The required plugins (gstreamer-plugins-ugly) are automatically detected and installed by Totem Player, but the videos still fail to play.
  • WebM 480p/720p/1080p – OK

Video codec support is pretty good, as they did not cut corners to save cost with codec licenses (maybe it’s not possible with Freescale). There are still some bugs however. For example, if one video cannot play, you’ll have to restart the board to be able to play other videos, and if you turn off your TV or change source, you may lose HDMI audio until you reboot the board.

One the audio side it’s not as good. The board can decode AC3 and Dolby Digital 5.1, but DTS, DTS-HD MA, DTS-HD HR, TrueHD 5.1 & 7.1 and Dolby Digital 7.1 do not work. I don’t know if this is an implementation or a license issue.

Wandboard team also provided a new Linux Sourcecode SDK (Release Candidate) during last week-end. The file contains source code for u-boot and wandboard linux kernel, as well as binaries, firmware, tools and documentation. The file doc/wand-dev.pdf in the tar file explains how to build U-boot and the Linux kernel, and how to create a bootable micro SD card. It also briefly explains how to p[lay with bluetooth, Wi-Fi and audio drivers.The company has also setup a git server http://repo.or.cz/w/wandboard.git for Wandboard Android and Linux development, and Wandboard is now part of mainline U-boot.

That means currently Android and Ubuntu images for Wandboard still need more work, so you can't really expect to get the board and develop some applications without issues just yet. It seems Wandboard and/or Technexion, the company providing the EDM module [Update: Albeit the MAC Address on my module belong to Technexion, I've been told they don't provide the module], at least partially relies on the community to help them improve support for the board. But this is happening, as Fabio Estevan is the one behind mainlining wandboard support in U-boot, and more work is being done as others work on buildroot and Yocto Project support. You can follow the progress in Wandboard Forums. I’ve also been informed that some XBMC people are working with the board, so you may expect an XBMC release in a (little) while.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Ubuntu 11.10 on GK802/Hi802 mini PC with 2D/3D and Video Hardware Acceleration

March 3rd, 2013 5 comments

You may remember an Ubuntu 11.10 image was released via Geekbuying early January, but this image would not boot on my Hi802, lacked 2D/3D acceleration, and to my knowledge there hasn’t been any update since then. So hope of proper Linux support on the device was fading, until the community discovered Freescale released patches for i.mx6 HDMI dongles, developers setup the imx6-dongle community, and after a lot of work, mainly by three members: Jasbir, Dmitriy (rz2k) and James, there’s now GPU and VPU support on Ubuntu 11.10.

Here’s a summary of the current status:

  1. Wifi working.
  2. External SD working
  3. Matched IOMUX configuration to align with the Android image.
  4. Stripped out unnecessary device initialisation from the original HDMI dongle source.
  5. Enabled EGL and GLES HW Acceleration in Ubuntu.
  6. Unity desktop might be partially HW accelerated (TBC)

Jasbir uploaded a video to YouTube to show the progress, and it looks pretty good. Firefox loads within a decent period of time, and embedded YouTube videos play fine,  Totem Player can play 720p videos (apparently with HW acceleration), glmark2-es2 is indeed using the GPU, and the system looks reasonably responsive.

The changes have not been pushed to the kernel tree just yet, but this will probably be done later this week. Jasbir explains there’s still more work to handle power management due to the lack of PMIC on the device. Once further progress has been done an image will certainly be released on imx6-dongle mailing list, Jasbir’s blog and this blog.

The system does not appear to be quite as responsive as Ubuntu 12.10 on ODROID-X / Exynos 4412, but I ran the later from an eMMC module which makes the loading times amazingly fast compared to a microSD card, and AFAIK although ODROID boards support 2D/3D hardware acceleration, they still lack hardware video decoding in Linux.

Needless to say this is great progress, and this should open the way to the development of multimedia applications (e.g. XBMC) on i.MX6 mini PCs. If you want to contribute to the development, or just follow its progress, feel free to join imx6-dongle IRC channel.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter