Archive

Posts Tagged ‘Linux’

Add GPIOs to Windows, Linux, Android Computers and Devices with FTDI USB Adapters / Breakout Boards

October 20th, 2014 7 comments

It’s possible to to add GPIOs to your computer, (openWRT) router, or Android tablet using some FTDI USB dongles that expose I/Os. On operating systems based on Linux, including Android, you can use the GPIO sysfs interface (/sys/class/gpio) to easily control GPIOs from the command line, and in some cases Rx, Tx, CTS, .. pins can also be used as GPIOs. Zoobab has tried it with various FTDI USB adapters, and Oneping OP-1010 breakout board based on PL2303 HDX chip, and the results are mixed, but it could worth a try.

oneping_op1010

Oneping OP1010 Breakout Board

There are currently patchsets ([1] and [2]) awaiting acceptance to mainline kernel that will enable GPIO support for these USB devices, but in the meantime you need to patch the kernel yourself, and then enable the relevant options in the kernel config for example “USB_SERIAL_PL2303_GPIO” or “USB_SERIAL_FTDI_SIO_GPIO”. The first patch is for PL2303 chips, and the second for FT2xxx/FT4xxx chips, so it should work on most USB to serial debug board out there.

Then you can export the GPIOs (done with OP1010 board) from your Linux PC / board:

root@sabayon /sys/class/gpio [22]# echo 252 > export
root@sabayon /sys/class/gpio [23]# echo 253 > export
root@sabayon /sys/class/gpio [24]# echo 254 > export
root@sabayon /sys/class/gpio [25]# echo 255 > export

and change the values as follows to confirm it’s working:

root@sabayon /sys/class/gpio [22]# echo 1 > gpio255/value
root@sabayon /sys/class/gpio [22]# echo 0 > gpio255/value

Even if it is working with OP1010, some other boards do not work, as despite the GPIOs being detected, the values can’t be changed. Other boards that are known to work, at least partially, include JTAGkey Tiny, Arduino Duemilanove, Moderndevice BUB1, and MicroFTX.

You can also control GPIOs for PL2303HXD / EA / RA, from an OTG capable Android device with Prolific PL2303 USB-GPIO app, but apparently not all tablets will work properly, and zoobab finally tested it with Android-x86-4.4-r1 image successfully.

Oneping also provides a Windows app for OP1010, which is demonstrated in the video below. They talk in Chinese, but it’s still easy to understand how it all work even if you can’t understand a word.

I’ve been unable to find Oneping OP-1010 board online, and I’ve been told you need to contact them by email, pay by Paypal (around $10) to receive a sample. Anyway this can also be tested with other low cost FTDI adapters. There are also some other USB modules exposing GPIOs such as Sparkfun’s FT232RL breakout board, or a Numato board with 8 GPIOs and up to 6 analog inputs (share with GPIOs), but I’m not sure the latter support GPIO sysfs interface.

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

Categories: Hardware, Linux, Video Tags: Android, Linux, gpio, how-to, windows

Updated Android 4.4 Beta and Ubuntu Images for pcDuino8 / A80 OptimusBoard Boards Released

October 17th, 2014 9 comments

pcDuino8 and A80 OptimusBoard are the only two Allwinner A80 development boards currently “somewhat” available, and albeit the PCB color is different, every else is basically identical, and pcDuino8 firmware should probably run on A80 OptimusBoard and vice versa. If you own any of these boards, you may interested in two images, one with Android 4.4 (beta), and one with Lubuntu, recently released by pcDuino / Linksprite.

pcDuino8_Ubuntu_Update

Android 4.4 (beta) 2014-10-08 – sun9iw1p1_android_optimus.img to be flashed with PhoenixCard (Windows) or Livesuit (Linux)

Lubuntu 14.04? 2014-10-08 is comprised of two files:

  1. Kernel – pcduino8_kernel_livesuit_20141008.img to be flashed with PhoenixCard or Livesuit first. See instructions to use Livesuit with A80 OptimusBoard.
  2. Rootfs – pcduino8_ubuntu_20141008.rar. First extract the rar files to the root of an SD card or USB flash drive. There should be two files: pcduino8_ubuntu_20141008.img and update.sh. Now connect the mass storage device to pcDuino3 / A80 Optimusboard, and reboot the board to flash the image to /dev/nandd automatically.
    The serial console should show something like:

    mount udisk succeed

    update.sh found, updating rootfs from udisk, please wait…

    writing pcduino8_ubuntu_20141008.img to nand flash

    it will take about 8 minutes to finish…

    During the update, one blue LEDs will blink quickly, and once the procedure is complete two LEDs should blink slowly (success) or fast (failure)

I have tried the Ubuntu image on A80 OptimusBoard, and the kernel update works fine, but the rootfs update (USB flash drive) failed to complete successfully, ending with “write ubuntu to nand failed. update failed, please retry.” after a few seconds. The reason being /dev/nandd partition is only 630 MB, and Ubuntu image is 1.7GB, so I’d have to repartition the flash, something that’s used to be done in the board files for older Linux kernels, but with Allwinner kernel is might be different… An unofficial source also told me an A80 GPU SDK would be released by the end of the month.

Thanks to miniNodes for the info.

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

Mini PC Polls: Networking Connectivity, Video and Audio Outputs

October 17th, 2014 4 comments

It’s always interesting to find out how people use their devices, and I recently discovered Google+ support Polls as Droidmote posted a poll to find out whether people used Wi-Fi or Ethernet with their mini PCs, and I followed up with polls about video and audio outputs. Around 50 people have answered to each poll up to now, so even if it may not representative, let’s have a look at the results so far.
mini_PC_Ethernet_vs_Wi-FiAbout half of the people are connected via Ethernet, and the other half are using Wi-Fi after 43 votes. Wi-Fi is normally more convenient, but may not be as reliable, and for users playing high bitrate videos Ethernet is a must, unless you find buffering enjoyable….

mini_pc_1080_or_2160pAfter 58 votes, most people still connect their mini PC to a Full HD television via HDMI, with a few connecting it to a 4K UHD TV, and nobody using composite or component video outputs. This results was to be expected, as HDMI has been around for many years, and 4K UHD are still pretty new, often expensive, and availability of 2160p content is limited.

mini_PCs_audio_outputThe audio output poll surprised me however, as I did not expect that so many people were using AV receivers. 44% of people simply connect their box to the HDMI port  to get audio via their TV, but a combined 41% own an AV receiver mostly connected via HDMI (27%), optical S/PDIF (12%), and one person out of the 41 who voted so far is connecting their device via coaxial S/PDIF. Finally 15% connects their device to external speakers / TV via the AV port, and one member of the community mentioned he used a USB connection to an AV receiver with his Android mini PC. If this small sample of users (41) happens to be representative of buyers of Android/Linux mini PCs / TV boxes, manufacturers should really make sure pass-through audio is working as expected.

The polls are still open so feel free to vote if you have a Google+ account. Simply click on the pictures above to open a new window, and vote.

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

Categories: Audio, Video Tags: 4k, Android, Linux, ethernet, hdmi, mini-pc, uhd, wifi

Lark Board Powered by Altera Cyclone V SX ARM Cortex A9 + FPGA SoC

October 16th, 2014 4 comments

Farnell/Element14 has quietly announced Lark Board from their subsidiary Embest Technology in September. The board is powered by an Altera Cyclone V ARM Cortex-A9 dual-core + FPGA processor with high speed transceivers, runs Debian 7.4, and targets medical instruments, video surveillance and industrial control applications.
Lark_Board
Lark board specifications:

  • SoC – Altera Cyclone V SX (5CSXFC6D6F31I7N) with a dual core Cortex A9 processor (HPS – Hard Processor System) @ 800 MHz, FPGA fabric including up to 110K logic cells (LE), and high speed transceivers (2 PCIe hard IPs and 9 3Gbps transceivers)
  • System Memory – 1GB DDR3 SDRAM for HPS, 1GB DDR3 SDRAM for FPGA
  • Storage –  4GB eMMC Flash + micro SD card slot
  • Audio/Video Interfaces – HDMI, VGA, and 24-bit LCD interface supporting 4-wire touch screen
  • Data Transfer Interfaces:
    • High-resolution serial digital interface (SDI) that supports SMD standard interface and provides a SDI TX and a SDI RX
    • 12-bit digital camera input
    • 2x 12-bit high-speed ADC interfaces that support SMA input
    • PCIe x4 interface for PCIe x4, PCIe x2 and PCIe x1 adapter cards
    • RJ45 interface that supports RGMII gigabit Ethernet
    • 4x high-speed USB2.0 Host interfaces
    • 40-pin FPGA expansion interface for LVDS, RSDS, SLVS, mini-LVDS signals
    • 40-pin HPS expansion IO for I2C, SPI, QSPI, UART, GPIO signals
  • Debugging Interfaces
    • On-board USB Blaster II (Mini USB Type B)
    • 10-pin JTAG interface can be used to connect an external USB Blaster
  • Misc – Reset button and 5 user-defined buttons, RTC
  • Power – 12V~30V round DC power jack and ATX 4-pin standard power connector
  • Dimensions – 180 mm x 120 mm (10-layer PCB)
  • Temperature Range – 0~70°C (operating)

The company provides a binary image and source code based on Debian 7.4 with u-boot 2013.01.01, and Linux 3.10. The board can boot from either a micro SD card or the eMMC. Documentation includes a user’s manual, a quick start guide, schematics (PDF), sample applications, as well as datasheets for the SoC and other components.

Lark_Board_Block_Diagram

Block Diagram

Lark board is available now for $799 on Embest website where you can also find documentation, the OS image and source code. It’s also listed on Newark/Element14 and Aliexpress for around $900.

Thanks to Nanik for the tip.

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

MEEGO-T01 HDMI TV Stick Supports Android, Windows 8.1, and Ubuntu/Linux

October 15th, 2014 11 comments

ARM based HDMI TV dongles have been available for over two years, mostly running Android, but the community has managed to install Linux desktop operating systems such as Ubuntu or Debian on these tiny gadgets with some limitations. But now that Intel is making low power SoC for tablets, at least one company has decided to make an HDMI TV stick powered by Intel “Bay Trail-T” Z3735F/G quad core processor, which can run Android, Windows 8.1, and Linux based desktop operating systems such as Ubuntu.

MEEGO-T01Meegopad MEEGO-T01 (aka APM-D01?) hardware specifications:

  • SoC – Intel Atom Z3735F / Z3735G “Bay Trail” quad core processor @ 1.33 GHz (Bust freq: 1.83 GHz) with Intel HD graphics (2W TDP)
  • System Memory
    • 1 GB DDR3L-1333 for Z3735G (32-bit up to 5.3 GB/s)
    • 2 GB DDR3L-1333 for Z3735F (64-bit up to 10.6 GB/s)
  • Storage – 16 or 32 GB eMMC + micro SD slot
  • Video & Audio Output – HDMI
  • Connectivity – 802.11 b/g/n Wi-Fi and Bluetooth 4.0 (Realtek RTL8723BS)
  • USB – 2x micro USB ports, 1x USB 2.0 port
  • Misc – Power button
  • Power Supply – 5V/2A via micro USB port.
  • Dimensions – 99.6 x 37.6 x 9.6 mm
  • Weight – 46 grams

Android and Windows 8.1 are supported according to the specifications, and Linux/Ubuntu is vaguely mentioned, so it may not be fully supported at this time, other Bay Trail-T mini PC can run Ubuntu with some caveats, so hopefully issues can be ironed out, and we can finally have an HDMI stick running Ubuntu / Debian with full 2D/3D GPU acceleration, and video hardware decoding support.

Intel_HDMI_TV_Stick_BoardThe PCB name is DAONH1MB6A0, and appears to have been designed by a Taiwanese public company called “HannStar Board Corporation“.

MEEGO-T01 / APM-D01 / Meegopad T01 (not sure of the name) is not available for retail yet, but it’s listed on Alibaba, as well as on Shenzhen APEC Electronic’s APM-D01 product page. I could not find any price information, except the very vague, and unreliable, “$1 to $70″ on Alibaba.

Via Mini PC G+ community

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

ICube MVP SoCs Combine CPU and GPU into a Single Unified Processing Unit (UPU)

October 15th, 2014 2 comments

ICube is a fabless semiconductor company developing SoCs featuring a Unified Processing Unit (UPU) that takes care of the tasks usually handle by separate CPU and GPU on typical SoCs. The UPUs are based on MVP (Multi-thread Virtual Pipeline) instruction set architecture, and are themselves called MVP cores. The company has now two SoCs based on UPU MVP cores: IC3128 and IC3228.

IC3228 Block Diagram

IC3228 Block Diagram

IC3128 is a single core / 4 thread SoC, and IC3228 is a dual MVP core / 8 threads SoC. Let’s have a look at IC3228 technical specifications:

  • CPU function
    • 4-way simultaneous multi-threading (SMT) in each core
    • Symmetric-multi-processing (SMP), dual MVP cores
    • 64KB I-cache, 64KB D-cache and 64KB local memory in each core, 256KB shared L2 cache
    • Homogeneous parallel programs
    • Support Pthread, OpenMP
  • GPU function
    • Data parallel, Task parallel, and/or Function parallel computing
    • Multi-standard media processor
    • Programmable unified shader
    • Support OpenGL ES 2.0
    • 70 million triangles / sec, 300 million pixel / sec
  • System Clock – 600MHz (TSMC 65nm)
  • Multi-thread Processing
  • Simultaneous 8 threads (4 threads x dual core) and 8 hybrid threads
  • Processing Power – 5160 DMIPS (equivalent to 4.3 DMIPS/MHz per core)
  • Display System
    • LCD maximum pixel clock: [email protected] (24-bit) true color,
    • HDMI/DVI output capable
  • Camera – 8/10 bit camera data interface
  • Video – Support HD 720p H.264 decoding via pure software
  • Audio – Max. 5.1 channel audio
  • Memory – Support SD, SDHC, MMC card, USB mass storage device, Nand flash, NOR flash, DDR3 SDRAM
  • Power Control – 10 independent power domain, 3 low power modes
  • Connectivity and I/Os
    • USB host/slave
    • WiFi (external), 3G modem (external), GPS (external)
    • 12 keypad I/O for Qwerty keyboard
    • 4x UART; 2x I2C; 3x I2S; 4x SPI slave; 9x GPIO x 9; 3x PWM
  • Timers – Watchdog, RTC

IC3128 has only one MVP core (4 thread) @ up to 400 MHz, supports 800×400 displays, and can decode 480p videos (H.264, MPEG4, RMVB, and ) @ 25 fps, so it’s very much a low end processor, and you could easily argue that even IC3288 is pretty much low end by today’s standards, especially when it comes to media capabilities. 5,000 DMIPS correspond to what you could get with a single core ARM Cortex A9 processor clocked at 2 GHz.

The advantage for this new architecture is that the company does not need to purchase license for processor cores, GPU cores, etc.. potentially providing  a most cost effective solution, and development should not be hindered by binary blobs, and the obvious downside is that lots of work needs to be done to port software to this new architecture, but the company claims that Android 4.2 / Linux 3.4 have already been ported to the platform.

ICube Evaluation Board

ICube Evaluation Board

ICube also offers a reference platform based on IC3228 with a 4.3″ or 7″ display, HDMI, USB, etc..  for development and evaluation of their solution. Documentation, and Android SDK and NDK are provided with the kit.

I can’t find any product based on ICube MVP processors yet, as it’s still very new, but Rhombus Tech / Qimod has recently made a Micro Desktop prototype based on IC3128 processor, using an EOMA-68 module and a baseboard with Ethernet & USB ports (using SMIC 9514 controller), UART, a micro SD card, etc… and IC3128 price is indeed competitive as it’s supposed to sell for just $2.

There’s no publicly available documentation or source code just yet, but you may want to visit ICube website for a few more details.

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

ITEAD Core AW204X AllWinner A20 SoM and Core EVB Baseboard

October 14th, 2014 1 comment

ITEAD Studio has been making systems-on-module based on Allwinner processors for a little while which are found in the company’s IBOX mini PC, MOD Duo guitar pedal, and more. They’ve now launched a new system-on-module with a 204-pin SO-DIMM connector instead of the headers used in the earlier modules.

AW2042_AllWinner_A20_System-on-Module

AW2042 SoM (Click to Enlarge)

ITEAD Core AW2041 / AW2042  SoM specifications:

  • SoC- AllWinner A20 dual core ARM Cortex-A7 @ 1 GHz + ARM Mali 400 MP2
  • System Memory – 1 or 2 GB DDR3 RAM (AW2014: 1GB, AW2042: 2GB).
  • Storage – 4GB NAND Flash, micro SD card slot (on the back), SATA connector.
  • Connector – 204-pin SO-DIMM edge connector with UART, I2C, SPI, LCD, I2S, LVDS, GPIO, etc.. signals
  • Misc – Built-in RTC, reset, FEL and power buttons.
  • Power – 5V supply, 3.3V I/Os. AXP209 PMIC.
  • Dimensions – 67.60 x 48.25 x 1.6 mm
  • Weight – 35 grams
  • Temperature Range – Commercial

To facilitate development, the company is also providing an open source hardware baseboard (Kicad) simply called “EVB Core”.

EVB Core (Click to Enlarge)

EVB Core (Click to Enlarge)

Baseboard specifications:

  • SoC / Memory / Storage – Via AW204x modules.
  • Eternal Storage – SATA port on module, 5V SATA power on EVB, 1x micro SD slot on EVB, 1x micro SD slot on module.
  • Video Output – HDMI 1.4, 18/24-bit single or dual channel LVDS
  • Audio – HDMI, optical S/PDIF, 3.5mm audio jack supporting 8 Ohm speakers @ 3W via included amplifier.
  • Connectivity – 10/100/1000M Ethernet
  • USB – 3x USB 2.0 OTG ports, 1x USB OTG port (full size)
  • Expansions Headers:
    • 32-pin connector (beige) with access to UART, I2C, SPI, I2S, and GPIO signals, that can be used with some add-on boards made by ITEAD Studio.
    • 40-pin headers compatible with Raspberry Pi Model B+ (UART/I2C/SPI/GPIO)
  • Misc – IR receiver, bicolor LED, power, reset, FEL buttons,
  • Power – 7-23V DC via 2.5mm power jack
  • Power Consumption – 200mA typical, 300mA max. @ 5V? (without devices attached to EVB)
  • Dimensions – 140.2 x 90 mm
  • Weight – 82 grams
  • Temperature Range – Operating: 0 to 60℃; storage: -40 to 80℃

The evaluation board can be fitted into IBOX metallic enclosure. The company provide supports for ITEAD OS based on Debian 7.0 (Link to SDK), and Android 4.2 for their modules. Some documentation, mostly the pinout diagrams. can be found on the Wiki for AW204x modules, and EVB Core.

Both the modules and baseboard appear to be available now. AW2041 SoM (1GB RAM) sells for $45, AW2042 (2GB RAM) for $60, and EVB Core for $29.99, so a complete development kit would start at $75.

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