Description
We are a group of educators and researchers exploring the development of tools that make parallel programming more accessible to people. Our hope is that concurrency.cc will serve the community of developers surrounding parallel and concurrent languages on the Arduino and other low-cost embedded platforms. We have a book and a software package that is aimed at people interested in exploring concurrency on the Arduino using a natively parallel programming language: occam-pi. More information can be found on our website at http://concurrency.cc
The concurrency.cc Board was developed to support our explorations of concurrent and parallel programming on small devices. It is based on the original Arduino (Duemilanove) design but it differs from it in a few ways:
1206 and generally large components: As we are planning on using this board as part of classes and workshops, we thought it would be cool if people soldered up their own boards, hence the decision to pick fairly large surface mount devices. (Contrary to popular belief, surface mount soldering is really not that hard and does not require surgical-precision hands and ridiculously expensive tools!)
Boost Converter for single AA cell operation and a JST/Li-Po input: Arduino boards are quite often battery powered, and the idea of powering the entire Arduino board from a single AA cell definitely sounded like a cool idea, so we included the clever little device NCP1400A to our design. As this is an extra feature we have added a solder jumper to simply bypass this and use the standard LDO configuration instead.
Extra set of LEDs: The c.cc board supports up to four LEDs, allowing us to easily demonstrate parallel programming in educational contexts without any additional circuitry. All the LEDs, including the standard LED that is connected to Pin 13, have solder jumpers so they can be disconnected from the microcontroller pins if necessary.
An extra set of 100mil spaced pin headers: The original Arduino footprint has oddly spaced headers between the top digital pins and for shield compatibility we are keeping those, but to make it easier to plug vero-boards in we have added another set of connectors with a standard 100 mil spacing.
FTDI cable/breakout footprint: If you have spent some time in the Arduino and general embedded systems domain, the chances are - you already have an 'FTDI' cable or a breakout lying around somewhere. This extra programming header gives us the option of skipping the USB bits on board so it is both a cost cutting and time saving exercise.
Please get in touch if you have any comments/questions.
Schematic
Board
Bill of Materials
Designator | Value | Description |
---|---|---|
CON1 | UX60-MB-5ST | Hirose Mini-USB Connector |
CON2, CON3, CON6, CON7 | S4108-ND | 8 Pos. Female Header |
CON5, CON8 | S7039-ND | 6 Pos. Female Header |
CON4 | WM26806-ND | 6 (2x3) Pos. ISP Header |
CON10 | PRT-09015 | 6 Pos. Male Header (FTDI) |
CON9 | 455-1749-1-ND | JST Battery Connector |
C1, C2, C3, C4, C5, C6, C10, C11, C12 | 399-1249-1-ND | .1uF (100nF) Capacitor |
C7, C8, C9 | 293D476X9016C2TE3 | 47uF Tantalum Capacitor |
D3, D4 | MBRA140T3G | Schottky Diode |
F1 | MF-USMF050-2 | PTC Fuse(Ih=.5A, It=1A) |
L1 | VLCF5020T-220MR75-1 | 22uH Power Inductor |
Q1 | NDT2955 | P-Channel Mosfet |
R1, R2, R4, R5, R6, R7, R8, R9, R10 | RHM1.00KFCT-ND | 1K Resistor |
R3, R11, R12 | RHM10.0KFCT-ND | 10K Resistor |
SW1 | B3FS-1012 | SPNO Push Button |
SW2 | JS202011SCQN | DPDT Slide Switch |
U2 | ATMEGA328P-PU | AVR Microcontroller |
U2/Socket | 4828-3004-CP | IC Socket (28 DIP) |
U3 | NCP1400ASN50T1G | Step-Up Converter |
U4 | LD1117S50TR | LDO Regulator |
U5 | LM358D | Op-Amp |
Y1 | X9080ND | 16 MHz Resonator |
D1, D2, D5, D6, D7, D8, D9 | 475-1407-1-ND | Green, Red, Blue or White LEDs |
J1, J2, J3, J4, J5, J6 | Jumper | Solder Jumper |
[JSON]
This project is © The concurrency.cc Team, and is published under the terms of the Creative Commons Attribution-ShareAlike 2.5 Generic licence.