How to use the Prototyping Board to easily create custom hardware around the Make Controller Board.
A description of the Prototyping Board and a shopping list of compatible components.

This tutorial is designed to walk through the basics of setting up a project using the Make Controller with the
Prototyping Board.
The Prototyping Board is a simple, blank PCB (printed circuit board) that can take the place of the Application Board in your project, allowing you to expand the Make Controller with your own custom electronics.
To do this, we'll need to cover a few general topics:
- Hardware - how to physically connect the Make Controller to the Prototyping Board
- Software - how to create firmware for the Make Controller that will work with your new hardware.
Compatible Parts
One of the first things you'll want to do when starting a project with the Prototyping Board is pick up the components you'll need in order to plug the Make Controller in.
There are four
headers (male) on the Prototyping Board that will plug into four corresponding
sockets (female) on the Make Controller. These are standard 0.1" spaced headers, so you can use any kind you like. However, if you place the headers on the board unevenly (very easy to do!), it will be difficult to plug and unplug the Make Controller, putting extra stress on the connectors.
Fortunately,
DigiKey sells headers in exactly the shape we need, which makes it easier to solder them evenly on the board. The four headers are labeled on the Prototyping Board as
J1-J4, and there's one of each. These correspond to DigiKey part numbers:
Communications Connectors
You may also be interested in picking up Ethernet, USB, or JTAG connectors. The Prototyping Board is designed for each of these to plug in and work with the Make Controller. Again, DigiKey part numbers for those are:
Screw Terminals
Larger through-holes around the edge of the board are designed to accomodate the larger 0.2" spaced headers for the green screw terminals used on the Application Board. If you'd like to use these on your Prototyping Board project, the part numbers at DigiKey, for both the headers and the connectors are:
Other Odds and Ends
You may also want to pick up some diodes and resistors, depending on what you're hoping to connect.
Specifically, if you're going to power the board from both USB and a power supply, you'll want to grab a diode so the power from the power supply does not make it back up onto the USB line. A good part number to pick up for this is:
If you're connecting the Ethernet connector, you'll also want to pick up a couple resistors for the LEDs. These should be 330 ohms, and you'll want to get at least two - one for each LED. A good part number for this is:
How to connect some of the most common things - USB, Ethernet, etc.
For a bare bones project, we'll just be plugging in the J1-J4 connectors (part numbers on the first page). Do that as shown in the image below:

Prototyping Board with connectors J1-J4 installed
Once you've gotten the Make Controller connected to your Prototyping Board, you'll want to start hooking up other devices. Note that each pin on the connectors J1-J4 is connected to the pad adjacent to it, so you don't need to try to solder directly to the pin of the header itself.
Power Supply
One of the things you'll definitely be interested in is turning on your board, so you'll need to decide how to power it. The prototyping board allows the Controller to be powered via a USB connection (if you have that on your board) or directly from a wallplug style power supply.
If you're only going to be powering the board via USB, you just need to bridge the 5V from the USB connector to the V+ on the Controller.

5V bridged to V+
If you're going to power via USB and a power supply, you'll want to use a diode (part number on the front page) instead of a straight bridge, so the power from the supply does not go back onto the USB line up to your computer. Be sure to connect this with the right orientation - the stripe on the diode should face the same way as in the image.

Diode from USB to V+
Communications
Connecting the USB and Ethernet connectors is pretty simple. Plug the components (listed on the first page) into the appropriate through holes and solder them in.

The USB connector soldered in

The Ethernet connector (with LEDs) soldered in
Along with the Ethernet connector itself, you'll want to include two resistors for the LEDs on the connector - these are marked R2 and R3 on the Prototyping Board. These should be 330 ohm resistors, as listed on the first page, and it's easier to solder those in first, since they'll be difficult to reach once the Ethernet connector is in.
The JTAG connector is designed to be plugged into the underside of the Prototyping Board, such that it can be connected simultaneously with the USB connector. It gets a little cozy with both plugged in, so you may need to sit the USB connector up off the board a bit to allow room for the leads on the JTAG connector.
And Beyond
Of course, the whole point of using the Prototyping Board is to start connecting all sorts of other devices. To do this, you'll want to figure out where the signals lie on the Controller, so that you know how to make use of those devices in your firmware. Check the
Make Controller Board Pin Out diagram to see which pins correspond to which signals. We'll get into writing our firmware next.
Since we don't have the Application Board, we'll need to adjust our programs.
Programming the Make Controller when using the Prototyping Board is slightly different than when using the Application Board. If you haven't already, you'll want to familiarize yourself with the Make Controller firmware
API, which can be found
here. You'll also want to download the appropriate
toolchain to compile the firmware, and
mchelper (Make Controller Helper), an application that will allow you to upload your new firmware to the board - check the
Downloads Page.
General Purpose IO
One particularly useful library when using the Prototyping Board is the
IO system. There are 64 general IO lines on the SAM7X, broken into two banks of 32. Each can be an input or output and, confusingly, some lines can be used for up to three different peripherals. The IO system makes it easy to control these lines, and provides a way to lock lines that you only want to be used for a single purpose.
Note, however, that not all of the 64 GPIOs are available to you on the Make Controller. Some of them are tied up to things like the Ethernet PHY and the CAN transceiver. Consult the
Make Controller Pinout for a diagram of which pads correspond to which IO lines on the Controller.
Controller Specific Modules
Since your Prototyping Board project won't use the Application Board, that means you cannot (without some effort) use the AppBoard firmware module. You'll only be able to use the
Controller Board section of the API. If you develop modules for other pieces of hardware, please consider sharing them in the
Extensions section.