Schematics and Layout

Hardware in detail

The Copperduino board is organized in three main sections:

  1. The CopperLan/Ethernet processor
  2. The application processor
  3. The supply


1. The CopperLan/Ethernet processor

This part of the circuit is essentially a turnkey communication block.
It deals with Ethernet at one end and offers the complete CopperLan facilities via a fast serial line, and a C API at the other end. This API is the CHAILink client code; its client driver is supplied.

The only control on this side is the possibility to force the MCU in bootloader mode. This might be useful to upgrade the CopperLan code in flash via the network.
To enter into bootloader mode there are two small rectangular pads on the underside that need be shorted while the board is powered.

The user feedback of this MCU comes from three LEDs:

  • The YELLOW LED on the RJ45 connector tells the Ethernet activity, not only CopperLan but all activity.
  • The GREEN LED on the RJ45 connector tells the CopperLan activity on the network:
    • it blinks when pinging the network to search for CopperLan peers.
    • it goes on with black drops when exchanging data with CopperLan members
    • it goes in slow flashing mode while in bootloader mode, waiting for its firmware update
  • The RED LED in the middle of the board reflects the data exchanges between the CopperLan and application processors.
    When no "useful" data is exchanged, a regular flash confirms a line validation activity.
    When the application runs from USB instead of Ethernet, this LED stays off.

  Copperduino

2. The application processor

This section includes the application processor, the connectors to the shield, the USB connector, the uSD connector, the two push-buttons and two LEDs.

The processor is programmed via the 6-pin socket into which the provided adapter cable should be inserted. The Microchip Pickit3 programmer comes at the end of this cable. (see the tools page for proper orientation).

The USB socket can be used as a host or a device.
When the Copperduino is used a device, its power comes from the host (computer).

The expansion connectors comply to the Arduino Uno layout except that one of the connectors is a bit longer and offers two additional pins, A6 and A7.

Beware that not all pins accept 5 Volts !   The ADC cannot handle voltages beyond 3V3
Check carefully the specifications of a shield before inserting it !
In order to reflect the original Arduino-Uno board connector features, some connector pins are connected to more than a single processor pin.
Be careful when setting up these connector pins as you might create conflicting situations if the two processor pins involved are both set as outputs.
The right procedure is to set as an input the processor pins whose function is not required.

Here are the signals that share the same connector pin:

Shield connector pinPIC32 pinsOther connection
A4/SDA1CTS1/RB8RD9
A5/SCL1RB9RD10
D2/BUTRD0RD4User push button
D13/SCKGreen LED (D3)

The µSD connector is sharing its SPI signals with those on the shield connectors.

The D2 signal cannot be used in high-speed while C29 is in place - If needed, this capacitor could be safely removed - Further use of the button will then require the implementation of software debouncing. On some boards, C29 is not installed.

Except when the signal D13 is used as an input, the JP1 copper jumper can be left in place. When used as an input, the load of the LED may hamper the proper operation of your design; in that case, carefully cut the thin copper trace in the middle of JP1 two halves.

The white labeling of A6 and A7 is reversed - these signals are nevertheless corresponding to the schematics pinout


3. Supply

The board can be powered in two ways, from the DC socket and from USB.
When powered from the DC socket, any voltage between 7 and 12 volts can be fed in.
The switch-mode supply regulator provides the 5 volts rail to the board and the shield.
An LDO linear regulator further downs the 5V to 3V3 for the on-board circuitry and the shield.

The main role of the AP2151 USB switch is to power the USB connector when in Host mode. It also checks the compliance of the supply for a safe operation of USB.

When the board is used as a USB device (slaved to a computer), it is powered via the USB cable.
The external supply might nevertheless be needed in case the total consumption (Copperduino + shield) exceeds the 500mA limit that USB allows.



Copperduino PIC32 V2 revC


Click to zoom - right click to save the full-resolution image


Legal aspects

All you need to know about Copperduino Legal aspects

Install CopperLan

Visit our forum

Give us your feedback and share your knowledge with the community