[vc_row][vc_column width=”1/1″][vc_tour][vc_tab title=”Introduction” tab_id=”1389162007-1-54″][vc_column_text]pcDuino is a high performance, cost effective mini PC platform that runs PC like OS such as Ubuntu Linux. It outputs its screen to HDMI enabled TV or monitor via the built in HDMI interface. It is specially targeted for the fast growing demands from the open source community. The platform could run full blown PC like OS with easy to use tool chain and compatible with the popular Arduino ecosystem such as Arduino Shields and open source projects etc. It can also run Android 4.0 ICS.
The hardware specification of pcDuino is as follows:
Items | Details |
CPU | AllWinner A10 SoC, 1GHz ARM Cortex A8 |
GPU | OpenGL ES2.0, OpenVG 1.1 Mali 400 core |
DRAM | 1GB |
Onboard Storage | 2GB FlashMicro-SD card slot for up to 32GB |
Video Output | HDMI |
OS | Linux3.0 + Ubuntu12.04Android ICS 4.0 |
Extension Interface | Arduino Headers |
Network interface | USB WiFi extension (not included)Ethernet 10/100Mbps |
Power | 5V, 2A |
The following are top and bottom views of pcDuino:
pcDuino targets for two markets primarily, i.e., the Raspberry Pi mini PC market and Arduino market as open-source electronics prototyping platform. With pcDuino, user could do lots of fun stuff including but not limited to the follows:
- Learn or teach programming
- Work with hardware port
- Use Internet browser or Office from Ubuntu
- Learn Ubuntu linux
- Create media center with XBMC
- Play game
- DIY projects
[/vc_column_text][/vc_tab][vc_tab title=”Required Accessories” tab_id=”1389162007-2-49″][vc_column_text]Micro-USB port power adaptor ( 5V, 2000mA)
Display with HDMI port
HDMI cable
If you don’t have a HDMI monitor, you can use HDMI to DVI cable to connect to a DVI monitor or a HDMI to VGA cable to connect to a VGA monitor.
USB keyboard (must)
USB Hub and USB mouse ( optional but strongly recommended )
Some Dupont Lines to connect pcDuino with test devices
Micro-SD card and its card reader
Note:
Before run the following samples, Connect pcDuino with the devices correctly:
USB host port => USB hub => keyboard & mouse
HDMI port => HDMI cable => HDMI display[/vc_column_text][/vc_tab][vc_tab title=”pcDuino board I/O interface description” tab_id=”1389163651158-2-10″][vc_column_text]The detailed schematics can be downloaded from:
https://s3.amazonaws.com/pcduino/Hardware/PC+Duino_V01-20130128.pdf
Here is the list of I/O interfaces on pcDuino board.
- 14 digital pins for GPIO: GPIO max out current is 4mA.
- One UART RX, one UART TX
- Two PWM pins, support up to 24MHz.
- Six ADC pins, ADC 0 and ADC 1 are 6 bits resolution, while the rest are 10 bits resolution.
- Four SPI pins
- Two I2C pins
It supports to connect any Arduino shield with pcDuino via any of the above I/O interfaces. It allows using pcDuino with the same code used in Arduino.
[/vc_column_text][/vc_tab][vc_tab title=”Ubuntu” tab_id=”1389163767969-3-8″][vc_column_text]pcDuino supports both Ubuntu Linux and Android 4.0 ICS. When the book is written, the latest release version of Ubuntu for pcDuino is 20130531.
Ubuntu
The factory default installation is Ubuntu in NAND flash. Ubuntu can boot from either NAND flash or a bootable microSD card.
Ubuntu in NAND flash:
If we want to reinstall Ubuntu or update Ubuntu in NAND flash, there are two options:
- Install Ubuntu using microSD cards.
- Install Ubuntu using through USB port using Livesuit.
In the following we are going to introduce each one.
[/vc_column_text][/vc_tab][vc_tab title=”How to install Ubuntu using microSD cards” tab_id=”1389167809232-4-6″][vc_column_text]The installation process involves two steps:
1) Install Linux kernel (use microSD card #1) and
2) Install Ubuntu file system (use microSD card #2 or a USB flash drive, which needs to be formatted as FAT).
The microSD card should be 2GB minimal.
In every pcDuino ubuntu release, there are two versions of kernel image. One is for Phonexcard tool that is used to create microSD card #1 (This is the same file that is used by Livesuit, which will be discussed later). The other is for Win32DiskImager (windows) or dd (under linux) that is used to create microSD card #1.
Phonexcard can be downloaded from
https://s3.amazonaws.com/pcduino/Tools/PhoenixCardV306_20120302.rar
Win32DiskImager can be downloaded from:
https://s3.amazonaws.com/pcduino/Tools/win32diskimager-v0.7-binary.zip
or
http://sourceforge.net/projects/win32diskimager
Burn the kernel in Linux PC
a) Insert the micro-SD card to Linux PC or pcDuino, the card will be mounted automatically. To continue, un-mount all the partitions on the card. For example,
If the SD has two partitions:
$ sudo umount /dev/mmcblk0p1
$ sudo umount /dev/mmcblk0p2
b) Then burn the downloaded and unzipped image file (a10_kernel_disk32imager_20130403.img) to the micro-SD card with the following command:
$ sudo dd if=/udisk/a10_kernel_disk32imager_20130403.img of=/dev/mmcblk0 bs=1M
$ sudo sync
The of=/dev/mmcblk0 points to the micro-SD card.
Cautions: Don’t use “of=/dev/xxx” to point to your hard disk. It will destroy the contents in your hard disk.
Now the micro-SD card is ready for use to burn the OS image to internal flash.
c) Burn the OS image to internal flash from micro-SD card
i. Plug the micro-SD card to the pcDuino, power on the board, and then wait for one minute
ii. Eject the TF card and reset the device. If you see the RX LED stays on, and the TX LED is blinking, the kernel is updated successfully
Burn the kernel in MAC OS PC
a) Open the terminal in MacOS, insert the micro-SD card, the card will be mounted automatically. To continue, un-mount all the partitions on the card. For example,
If the SD has two partitions:
$ sudo umount /dev/disk1s1
$ sudo umount /dev/disk1s2
If the SD card is failed to umount, you can use the following script to force umount:
$ sudo diskutil umount force /dev/disk1s1
$ sudo diskutil umount force /dev/disk1s2
b) Then burn the downloaded and unzipped image file (a10_kernel_disk32imager_20130403.img) to the micro-SD card with the following command:
$ sudo dd if=/udisk/a10_kernel_disk32imager_20130403.img of=/dev/disk1 bs=1m
The of=/dev/disk1 points to the micro-SD card. After this command is complete, your Mac PC will pop up the message “can’t identify the SD card” that indicates the file system in your card is unknown to Mac PC now.
Cautions: Don’t use “of=/dev/xxx” to point to your hard disk. It will destroy the contents in your hard disk.
Now the micro-SD card is ready for use to burn the OS image to internal flash.
c) Burn the OS image to internal flash from micro-SD card
i. Plug the micro-SD card to the pcDuino, power on the board, and then wait for one minute
ii. Eject the TF card and reset the device. If you see the RX LED stays on, and the TX LED is blinking, the kernel is updated successfully
After we create microSD card #1, insert microSD #1 into the SD slot, and power cycle the board. When the board starts to burn image file from SD card to flash, the TX LED will blink slowly. Wait for about one minute, if the kernel is updated successfully, the LEDs will be off.
Now, we are ready to flash Ubuntu file system to NAND flash. In every pcDUino Ubuntu release, there is a file ball named Ubuntu, this is Ubuntu file system. Download the Ubuntu file, and unzip it to get two files like these:
Update.sh: shell script for Ubuntu update
Ubuntu_xxx.img: image file for Ubuntu
Copy the two files to micro SD #2 or a USB flash drive, which must be formatted as FAT. Power cycle pcDuino, you will see booting information on the screen, and plug in micro SD #2 or USB flash drive when the message showing that it is looking for a disk containing Ubuntu file system. The screen will shows “It will take about 10 minutes to finish…”. Please wait patiently and the screen will prompt that it finished updating. When that is done, remove the microSD card, and power cycle pcDuino.
Tips:
The microSD card #1 is specially created to allow it to be recognized by the ROMBOOT of the board. To avoid the unexpected update of pcDuino, we can use the PhoenixCard to restore it to normal and clean card
i. Plug your micro-SD card to your PC, run “PhoenixCard.exe”.
Select the micro-SD card in the disk scroll window, and choose “Format to Normal” to restore the card.[/vc_column_text][/vc_tab][vc_tab title=”How to install Ubuntu using LiveSuit” tab_id=”1389168169617-5-3″][vc_column_text]LiveSuit is a free tool which can upgrade firmware by USB device. To use this tool, you must install two USB drivers. You can download the tool and drivers and read the user manual from:
https://s3.amazonaws.com/pcduino/Tools/Livesuit.rar
Note: LiveSuit is not very stable on Windows Vista or Windows 7, and it does not work well on 64 bits CPU. So this tool is not recommended.[/vc_column_text][/vc_tab][vc_tab title=”Ubuntu in bootable microSD card” tab_id=”1389168228338-6-6″][vc_column_text]In every pcDUino Ubuntu release, there is a file named SD bootable image. This file is intended to create a bootable microSD card, so we can put all of our application and data on the SD card instead of the space-limited NAND flash.
Steps:
- Download the bootable microSD card image.
- Unzip it and get xxx.img
- Burn the unzipped image file above to the micro-SD card with win32diskimager or dd in Linux PC or pcDuino
- Plug the micro-SD card into pcDuino and power cycle pcDuino.
- Ubuntu will be up running.
By default, the file system only uses 2GB. If you have a more space on your SD card, it is not used by default.
We are going to use a script to expand the file system to the whole SD card.
$wget https://s3.amazonaws.com/pcduino/SampleCode/System/expandFS/expand_sdcard_rootfs.sh
$sudo bash ./expand_sdcard_rootfs.sh
After the expansion, we reboot pcDuino by:
$sudo reboot
After reboot, we run:
sudo resize2fs /dev/mmcblk0p2
Check the storage space again using
$df -h[/vc_column_text][/vc_tab][vc_tab title=”Backup NAND to a SD card, and boot from SD card” tab_id=”1389168416801-7-3″][vc_column_text]pcDuino has an onboard NAND of 2GB. When we are doing heavy duty project development, we can easily eat up all the space. When that happens, we need a way to move all the program and data from NAND to a SD of larger capacity and make that SD bootable.
The key function we are going to use is:
make_mmc_boot “Clone system from nand to mmc card”
This function will copy the entire content in NAND to a SD card. This is equivalent to flash an mmc-boot image. The benefit is that users still keep their own program/data. When the space of NAND is not enough, we can use the SD card to replace the system in NAND.
When the book is written, the latest image release is 20130531. In the original image 20130513, the above mentioned function is not there in board-config. We need to do an update in board-config to make it available.
There are two ways to run board-config. One is to run that after reset. The other is to run it in terminal.
In the following, we are going to use the second approach. We type:
$sudo board-config.sh
Next, we are going to choose ‘Update’:
Then we choose ‘config’:
After that, pcDuino will check for update:
Press ‘Y’, and after the update is down, exit and re-run:
$sudo board-config.sh
The option “make_mmc_boot” will display in the menu:
Plug in a SD card (in our case, a card of 16GB) to the SD slot, and press “ENTER”:
It takes some time to backup:
After a long wait, we will get the following message:
We reboot pcDuino, and check the storage space using:
$df –h
In the above figure, we can see that although the SD card is of capacity 16GB, it only shows up as 2GB.
We are going to use a script to expand the file system to the whole SD card.
$wget https://s3.amazonaws.com/pcduino/SampleCode/System/expandFS/expand_sdcard_rootfs.sh
$sudo bash ./expand_sdcard_rootfs.sh
After the expansion, we reboot pcDuino by:
$sudo reboot
After reboot, we run:
sudo resize2fs /dev/mmcblk0p2
Check the storage space again using
$df -h
We can see that we get a full access to the SD card.[/vc_column_text][/vc_tab][vc_tab title=”Android” tab_id=”1389169030439-8-7″][vc_column_text]The factory default installation is Ubuntu in NAND flash.
Android in NAND flash:
If we want to reinstall Android or update Android in NAND flash, there are two options:
- Install Ubuntu using microSD cards.
- Install Ubuntu using through USB port using Livesuit.
In the following we are going to introduce each one.
How to install Android using microSD card:
1.1 Download the Android operating system for pcDuino
The download link is:
http://www.pcduino.com/?page_id=14
Find the link for Android image, download it and get one file with .img extension.
Phonexcard can be downloaded from
https://s3.amazonaws.com/pcduino/Tools/PhoenixCardV306_20120302.rar
2. Write pcDuino Android image to micro-SD card
(a) Plug your micro-SD card to your PC, run “PhoenixCard.exe”. You will see something like this:
(b) Choose the Android image file pcduino_Android_ xxx.img that you’ve downloaded and write it to the micro-SD card
After a few minutes, the micro-SD card is ready to use.
3. Burn the OS image to internal flash from micro-SD card
a) Plug the micro-SD card to the pcDuino and then power on the board. Wait for about four minutes
b) Eject the micro-SD card and reset the device
* We have a catch in step (a). We don’t have any LED to indicate when the boot image is burned completely unless you connect the hyperterminal to pcDuino, so please wait for four minutes patiently. Moreover, please eject the TF card before resetting the device. Otherwise, it will start to burn the OS image again if the TF card is inserted.
4. Restore the micro-SD card created
The micro-SD card is specially created to allow it to be recognized by the ROMBOOT of the board. To avoid the unexpected update of the Android OS, use the PhoenixCard to restore it to normal and clean card
i. Plug your micro-SD card to your PC, run “PhoenixCard.exe”.
ii. Select the micro-SD card in the disk scroll window, and choose “Format to Normal” to restore the card.
How to install Android using LiveSuit:
LiveSuit is a free tool which can upgrade firmware by USB device. To use this tool, you must install two USB drivers. You can download the tool and drivers and read the user manual from:
https://s3.amazonaws.com/pcduino/Tools/Livesuit.rar
Note: LiveSuit is not very stable on Windows Vista or Windows 7, and it does not work well on 64 bits CPU. So this tool is not recommended.[/vc_column_text][/vc_tab][vc_tab title=”Use pcDuino as an mini PC platform” tab_id=”1389169564073-9-4″][vc_column_text]1) pcDuino and Ubuntu
pcDuino & Ubuntu support customized Ubuntu linux 12.04 that is specially optimized for running on ARM cortex platform with limited DRAM and NAND flash support. The device could be operated with the USB mouse and keyboard. The supported application list consists of the follows:
Items | Details |
Terminal | Use build in “LXTerminal” application from desktopLaunch terminal application, run standard linux commands or vi editor etc.
Launch C/C++ compile (use gcc), assembly and execution |
File browser | Use build in File Manager from desktopUsed for typical file management |
Internet browser | Use chromium web browser from desktopSupport HTML5 |
Office | Use Document Viewer from desktop for PDF file viewUse Gnumeric from desktop for Excel file view and edit
Use AbiWord from desktop for Word file view and edit |
Movie player | Use MPlayer from desktopCould playback audio, video and image |
Servers | VNC serverSSH |
Development | Arduino IDE for pcDuino |
Note:
The root user and password are “ubuntu”.
2. pcDuino and Android
pcDuino board supports customized android 4.0 that is specially optimized for HD-TV output display devices. The device could be operated with the USB mouse and keyboard. The supported application list consists of but not limited the follows:
Items | Details |
File browser | Use build in File ManagerUsed for typical file management |
Internet browser | Use web browser from desktop or Google Search widgetSupport HTML5 |
Calendar | Google Calendar |
Gmail | Visit Gmail accounts |
People | Google contacts apps |
App Store | Use Google “play store” to download third-party apps |
Music | Android built-in music player |
Movie player | built-in Super-HD Player to play local movies |
[/vc_column_text][/vc_tab][/vc_tour][/vc_column][/vc_row]
Leave a Reply
You must be logged in to post a comment.