230 likes | 402 Views
Single Board Computers and Dev Boards. MRSD Fall 2013. Why Use a SBC?. Easy access to pins on microcontroller Built in power regulation Built in USB for programming/debugging Easy to read pin labels Hardware attachment points Built in connectors (USB, ethernet , A/V, SD, etc ).
E N D
Single Board Computers and Dev Boards MRSD Fall 2013
Why Use a SBC? • Easy access to pins on microcontroller • Built in power regulation • Built in USB for programming/debugging • Easy to read pin labels • Hardware attachment points • Built in connectors (USB, ethernet, A/V, SD, etc)
Key Metrics • Programming interface: USB, UART, ISP, OS • Logic voltage: 5V or 3.3V • Serial interfaces: USB, UART, I2C, SPI, CAN • Analog interfaces: ADC, DAC, PWM • Architecture: 8bit, 16bit, 32bit • PC Features: USB Host, Ethernet, HDMI, Audio • CPU Speed, Memory, Flash, EEPROM
“Families” • Bare Metal: write code that runs directly on hardware • OS: Write code that executes like a program on a PC (hardware abstracted away by OS) • 8/16Bit Bare Metal • Low power, cost • 32Bit ARM Bare Metal • Faster • 32Bit ARM Linux OS • Acts like a real computer • More work to access hardware
8/16Bit • Slow clock: 8MHz, 16MHz • Very little memory • Low complexity, easy to get started • Few “bonus features” • Some support HID • Some include Ethernet, WiFi • Note: Can still use SD cards! They talk with SPI
Arduino 168/328 FamilyUno/Nano/Pro (Mini)/Ethernet • 168: 1K RAM, 16KB Flash • 328: 2K RAM, 32KB Flash • Good for: Basic prototyping, small systems,lots of variants, lots of shields, real time • Bad for: heavy processing, advanced connectivity • Pro comes in 3.3/8MHz and 5/16MHz • $25: Uno, $35: Nano, $15: Pro, $10: Pro Mini
Arduino 32U4 FamilyLeonardo/Micro/Yun • Same as previous, but with USB HID capability • Act like a keyboard/mouse/joystick for another computer • Good for: Being USB HID • Bad for: heavy processing • $25 Leonardo/Micro, $72 Yun
Arduino Mega (2650/ADK) • 2560 for general use • ADK for use with Android devices. • Good for: Larger systems w/ lots of IO. Can use Arduino Shields with IO pins to spare. • Bad for: Large size • $55
32Bit ARM • Higher speeds than 8Bit boards • More memory • No need to run OS, program Bare Metal • More interrupt pins (usually all of them) • Multiple serial busses • Real Time • All 3.3V • Some extras: • USB HID, Ethernet, DACs, FPU • Phone production -> low cost ARM fabs
Arduino Due • Can use some Arduino Shields (but not all) • Good for: Like the Mega, but 3.3V, >5x clock speed, more memory, some extras (HID, DACs) • Bad for: Is the Servo library still broken? Is CAN implemented yet? • $50
Mbed LPC1768 • Online IDE (C++) • Good for: ARM power, small package, Ethernet, CAN • Bad for: Expensive, relatively few IO pins • Class has one for use. • $50-$80 (depends where you look)
TI Launchpad Stellaris LM4F120 • Low cost (designed to sell the chip, not the board) • Good for: IO on a budget • Bad for: Need to get an IDE & compiler up and running • Energia: fork of Arduino for Launchpads • $8
STM 32 Discovery • Lots of pins • Built in Accelerometer • Class has one for use • Good for: Lots of IO • Bad for: Getting the dev environment started • $30
Teensy 3.0 • Super tiny, inexpensive • Supports HID • Programmable with Arduino language • Good for: Low cost in tiny package • Bad for: advanced computer connectivity, bootloader sometimes fickle • $19
Linux OS Boards • Runs a full Linux OS (Desktop or Android) • Real time is more difficult • Accessing hardware is a little more complicated • More programming language options • More “PC” ports: Ethernet, USB host, video, audio • Highest CPU speeds, memory (but some used by OS) • May include FPU, GPU • Usually have ARM CPU
Raspberry Pi • Acts like a real computer, but smaller • Good for: a small computer for high level functions, video processing, output. Use when you need a small computer, not a dev board. • Bad for: Low level IO. Few GPIO, no ADC. • A:$25 or B:$35 • Use model B. The $10 is so worth it (adds Ethernet, 2xUSB, 2x RAM).
BeagleBone (Black) • Black adds lots of features, at half the cost • A few features went away, but overall worth it • Good for: Power of computer with tons of GPIO • Bad for: capes are expensive. Some say difficult to work with. • $90, $45 (Black)
BeagleBoardxM • Small computer • Limited GPIO • Good for: Needing a real computer, but small size • Bad for: Interacting with low level hardware, small budgets • $150
Pandaboard • Small computer • Limited GPIO • Good for: Needing a real computer, but small size • Bad for: Interacting with low level hardware, small budgets • $180
Udoo • 4 Raspis + Due = Udoo • Not officially available yet, but made at CMU • Email Prof Sinopoli, who made it. No promises though. • Single, Duo, Quad core • Good for: Superpowerful computer + IO of Due • Bad for: low budgets