Hardware Prototyping: Raspberry Pi, Arduino, and Photon

I did a presentation earlier in the year about hardware prototyping. These are my notes from gathering information from experience and various sources online. 

Raspberry Pi

only digital pins
ADC and DAC: http://www.hardwaresecrets.com/how-analog-to-digital-converter-adc-works/

Can do analog out/in through external modules: https://learn.adafruit.com/reading-a-analog-in-and-controlling-audio-volume-with-the-raspberry-pi/overview

python adafruit libraries to control gpio pins


Arduino Uno

no built in wifi shield or xbee shield, uses iscp headers to communicate through xbee or wifi

Arduino Yun

contains wifi and ethernet modules

LilyPad Arduino

for wearables, no wifi/ethernet module built in. you can get wifi module to talk to the arduino over uart

another solution is to attach the zigbee to lilypad arduino and have that talk to another arduino with a wifi module


Homepage: https://store.particle.io/
Developer: http://build.particle.io

Pin Headers


  • register functions to pass data to the photon
  • register variables to read from the photon
  • send and receive events to other devices (private/public)

you can also create a stream of server sent events to get events immediately from the photon


  • javascript
  • ios (Swift and ObjC)
  • android


The iOS SDK consists of two parts: (1) the Cloud SDK and (2) the Device Setup library, the first is an API wrapper that enables your mobile app to interact with internet-connected hardware through the Particle Cloud while the latter is a library allows you to easily create a setup wizard for allowing your app users to setup their devices

Source: https://docs.particle.io/reference/ios/#introduction

Mobile App: Tinker



Data plans start as low as $2.99 a month for 1MB of data — enough to send 20,000 messages on our extremely data-efficient messaging platform.