Getting to know the pcDuino3

The pcDuino3 is an interesting board. What you get is a 1GHz ARM Cortex A7 Dual Core cpu with 1 GB of ram, ethernet and wifi running lubuntu 12.04 with hardware headers to interface with compatible Arduino shields (Read Arduino uno R3 3.3v shields). This is certainly a bit more powerful than the ubiquitous raspberry pi. It also has a lot more possibilities than the beaglebone since you can use compatible arduino shiends.

pcDuino3 single board computer capable of running 3.3v arduino  arduino shields

pcDuino3 single board computer capable of running 3.3v arduino arduino shields

pcDuino ubuntu desktop

pcDuino ubuntu desktop

It comes with its own version of the arduino IDE

The pcDuino Arduino IDE v1.5.3 beta

The pcDuino Arduino IDE v1.5.3 beta

I have plans to turn this into an environmental monitoring station. First thing I need to do is get some sensors working. This might also make a nice cycling pc to log GPS activity and heart rate monitor as well as a simple temperature sensor or two. Time will tell… If you have any project suggestions leave them in the comments…

I did take the time to calculate pi to 10,000 digits on my pcDuino3 which thanks to the speed of the AllWinner A20 SoC 1GHz ARM Cortex A7 Dual Core processor ran for 937 seconds which is a huge improvement over the 1,783 seconds it took to run on a raspberry pi.

More info can also be found here and more product speciffic info can be found at their site.

edited to add a short update.

So getting the sparkfun tmp102 temperature sensor working on the pcduino3 ended up being rather simple. The pinout is pretty similar to the arduino.

ADD0 > Ground
ALT > unused
Ground > Ground
VCC > 3.3v

when we ground the add0 pin our TMP102 uses the I2C address 0x48

pcDuino3 with Sparkfun tmp102 temperature sensor

pcDuino3 with Sparkfun tmp102 temperature sensor

now that you have it wired you need to get your prerequisites installed.

sudo apt-get install i2c-tools
sudo apt-get install python-smbus

Once you have i2c tools installed you can make sure the pcduino sees your temperature sensor

i2cdetect -y 2

Your output  should be a table like this

      0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
  00: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
  10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
  20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
  30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
  40: -- -- -- -- -- -- -- -- 48 -- -- -- -- -- -- --
  50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
  60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
  70: -- -- -- -- -- -- -- --

Now all we have to do is build a short python program to read the sensor and calculate the temperature.

My code for that is here. I suppose I could have worked with the arduino IDE and went that route but I wanted to simply write it in python instead.

And if we run it we get this rather basic result

ubuntu@ubuntu:~$ ./

having a temperature sensor handy I decided to see what the temp of the CPU was. The result was 95.0 Fahrenheit.

So I kicked off the little pi shell script twice to run it on each core and checked the temperature again and the ambient cpu temperature after about a minute was 129.0875 degrees Fahrenheit.

More info on running the sparkfun TMP102 sensor on the pcduino3 can be found here.

If you want more information on programming in C++ or python on the pcDuino the good people over at sparkfun have a great primer

And here is my disclaimer. Although I have written some very favorable reviews of Sparkfun products as of late and there will certainly be a few more soon, I have not been compensated in any way nor have I received anything from them directly or indirectly. These are strictly my opinions. If you find value in them great and if not that’s fine too. If you are like me you tend to read up on a product as much as possible before making that final decision to purchase a product. I have not been disappointed in any way by their products and thus feel great about recommending their products as not only well built but also cost effective and typically well documented and supported.

Tagged on: , , ,

7 thoughts on “Getting to know the pcDuino3

  1. Pingback: Pi at the intersection of pure and applied mathematics | One Mans Anthology

  2. Pingback: Sparkfun TMP102 temperature sensor and arduino code | One Mans Anthology

  3. Pingback: pcDuino vs rBeaglebone black vs Raspberry pi | One Mans Anthology

  4. Pingback: RFID on the pcDuino with the Innovations ID-12LA Reader | One Mans Anthology

  5. Pingback: Getting to know the Raspberry Pi Model B+ 512MB | One Mans Anthology

  6. Charles Nelson


    I read your article in the pcduino. I’m looking at getting one so that I can make it into a navigation system for a boat. What this would entail is:
    1. adding gps to the board
    2. using android to access the navigation software from navionics
    3. using an old laptop screen with an added controller board
    4. optional: adding a touch screen system rather then key board

    The reason I am looking at this is because this seems to be the cheapest way to get quality marine gps mapping. If I do it as a pc… it only comes for windows and it costs hundreds of dollars where as with google play… it would only cost about $35.

    I’m curious about how to add an external gps device. I know that there are external gps attenaes for computers that connect via usb… that was my guess.. do you think that would be difficult to setup?

    Thanks for the awesome article! I’m certainly curious to have a conversation about my idea with someoene else.


    Charles Nelson

    1. hytekblue Post author


      Adding a GPS could be done a couple of ways. You could just connect to the GPS reciever via serial or you could get a GPS shield from sparkfun and plug it directly into the pcduino. I wouldn’t think either would be all that difficult.


Leave a Reply

Your email address will not be published. Required fields are marked *