OT-Proto1 Example Projects

Here are some projects we built up for different applications, and also to illustrate the versatility of the OT-Proto1 Shields.

Generic OT-Proto1 Buildup


This project involved building up the major subsections of the OT-Proto1 Shield, including power supply (5V & 3.3V regulators, plus heatsink), headers, Leds, XBee and nRF2401 sockets, LM386 audio amplifier, and SRAM socket.

Since both XBee and nRF2401 transceivers plug in, the shield can be used for either device.

We also wired up the 8-pin socket to mount an SPI SRAM or EEPROM chip to provide the host Arduino (on the board this shield is mounted upon) an extra 128 KBytes of RAM or EEPROM memory, accessible via the SPI port (pins D11...D13). This chip can be jumpered to operate at either 5V or 3.3V for easy interfacing to the Arduino.

The prototyping area is available for adding additional custom circuitry, such as series-Rs for Arduino I/O pin protection, voltage dividers on A/D channels, and level-shifters for interfacing the 3.3V transceivers to 5V Arduino chips, since both XBee and RFM12/22 transceivers operate at 3.3V only.

OT-Proto1 328/RFM22 Project

[OT-Proto1] This project involved using the OT-Proto1 Shield to build a platform to test the RFM22 transceiver, as well as using the prototyping area to mount an ATmega328 Arduino bootloader chip.

In this case, we've only added the circuitry needed for the project: 3.3V power, RFM22 transceiver, ATmega328 chip, and some headers.

RF Transceivers. Because the RFM22 units must be soldered in, this setup precludes use of an XBee or RFM12 device on the same board. However, an nRF2401 transceiver can still be plugged into its own header, and the transceivers separately accessed via the Arduino SPI port via different chip-select pins.

This board was setup for 3.3V operation only, since the transceivers operate at that voltage, and not at 5V. The Arduino chip is running at 16-Mhz, which is about 20% overclocking for Vcc = 3.3V, but it runs fine.

[NOTE as an aside - actually, if you look closely at the RFM22 chip mount, you'll see we mounted it on a piece of double-sided tape, and used thin 30-gauge wire to make connect the RFM22 pads to the Proto1 smt pads. This was done to create a semi-permanent arrangement that would allow the RFM22 to be removed if so desired. One downside to the RFM22 design is that the side-on pads are connected to tiny 6-mil traces, and a little too much heat will quickly damage them [ie, they fall right off], so if the module were soldered as normal directly to the Proto1 smt pads, it would be impossible to remove later on without damaging it].

I2C Comms. The ATmega328 chip on this board also operates at 3.3V, therefore no level-shifting was required to interface to the 3.3V RFM22 module. This 328 chip communicates with the Arduino chip on the host board [not shown here] using the I2C interface. Because the I2C peripherals on Arduino chips use open-drain and external pullup-Rs, the pullups are connected to 3.3V on the OT-Proto1 Shield, and this suffices for both chips.

Parallel Processing. This project is basically a test platform for parallel-processing using Arduinos. The host and shield Arduino chips can each execute their own program sketches, and communicate with each other via the I2C buss. A 6-pin header (visible next to the ceramic resonator) is installed so the shield Arduino chip can be programmed using a standard FTDI Cable or FTDI Friend.

The big advantage of this arrangement is that, besides doubling processing power, it also doubles the number of I/O pins available - ie, from 20 to 40. This works because the Arduino stacking headers and the OT-Proto1 Extension Headers are electrically-separate on the shield, so the latter can be used by the shield Arduino chip.

Other Ideas - for things to solder into the OT-Proto1 prototyping area

  • General Robotics Applications - the OT-Proto1 Shield is especially suited for robot control. R/C servos and various sensors, such as Ping and Maxbotix sonars, can be directly connected and powered using the Extension Headers. Motor controller shields can be stacked above the Proto1 Shield. H-bridge chips, accelerometer modules, and other devices can also be wired into the prototyping area of the Proto1 Shield.

  • connect up to 20 R/C servos - this is done by simply using series-Rs in the prototyping area to connect the Arduino Stacking Headers to the OT-Proto1 Shield Extension Headers.

    Note that the servo power supply or battery can be connected to the "extra" header pins on the Proto1 Shield added for that purpose. In addition, there is space to add filter capacitors on the power busses (middle row of Extension Headers), to reduce motor-generated electrical noise.

  • connect H-bridges for motor control (eg SN754410, L293D, L298N) - the h-bridge inputs can be wired to Arduino I/O pins and the outputs to the OT-Proto1 Extension Headers.

  • produce Odd Voltage-Level Power Generation - a high-current TO-220 adjustable voltage regulator [eg, LM1084 5-Amp] can be soldered into the REG1 layout and it's output voltage adjusted to 9V or 12V, etc, to power miscellaneous devices. Input power comes from the Power Jack on the Proto1 Shield.

  • add even more SRAM/EEPROM storage - the prototyping area has space to add up to 5 more DIP8 sockets, so the combined storage space on the Proto1 Shield could be increased to as much as 768 KBytes of RAM and/or EEPROM.

    Note that the common 23LC1024 SRAM and 25LC1024 EEPROM SPI chips will operate at either 5V or 3.3V. Furthermore, there are DIP8 Flash Memory chips available that have up to 8 Mbits of storage each, although these operate at 3.3V only.

  • add a DIP28 ENC28J60 chip and a Magjack, and make an ethernet interface.

  • connect misc chips - all told, several 8-pin, 14-pin, 16-pin, 18-pin, 20-pin, or 28-pin sockets can be wired into the prototyping area, along with associated parts.

  • add Signal Conditioning Circuitry - opAmps and voltage dividers can be used to interface external sensor signals to the Arduino A/D converter pins on the host board.

  • connect a 74HC595 Shift-Register to expand the number of available I/O lines - with the 595 output pins connected to the Proto1 Extension Headers.

  • wire MOSFETS [eg, IRL540] or driver chips [eg, ULN2803] or pcb Relays - to switch external load devices via the Proto1 Extension Headers.

  • connect A/D converter chips, such as MCP3002 or MCP3008 with SPI interface, to add more (and much faster) analog channels.

  • connect DAC (digital-to-analog converter) chips, such as MCP4921 with SPI interface, to produce superior audio output quality to that obtained using PWM (eg analogWrite() command) - use to drive the LM386 audio amp.

  • connect an LCD or a couple of 7-segment Leds in the proto area.

  • add a DIP socket and crystal to the proto area to use for programming Arduino bootloader chips, when not using the rest of the shield for other purposes.

  • solder in a Voice Recorder chip, eg ISD4002 with SPI interface, to playback recorded messages through the LM386 audio amp.

  • design a lot of other circuitry - limited only by imagination.
  • <| TOP

    © OT-Hobbies, April 2013