This small brick-type PLC open source hardware project is based on an ARM7 microcontroller from Atmel. The PLC has 10 digital inputs, 8 digital outputs, 4 analog inputs, a real time clock, RS232 port, RS485 port, USB port and JTAG port.
More information and circuit diagrams are available at the above link.
Small Open Source PLC
This Simple ARM Board Open Source Hardware project uses the AT91SAM7S256 ARM7 microcontroller from Atmel. The page at the above link contains the source files for building and modifying the board (PCB and schematic), the Gerber output files and the circuit diagram in PDF format.
AT91SAM7S microcontrollers can be programmed via the USB port — no programming device is necessary. This tutorial explains how to program the AT91SAM7S256 microcontroller on a AT91SAM7S-EK evaluation board over the USB port using the SAM-BA in-system programming software from Atmel.
The tutorial includes information on where to download the SAM-BA software from and a video on how to load firmware to the AT91SAM7S microcontroller.
AT91SAM7S ARM7 microcontrollers have a built in boot loader program called SAM-BA that allows them to be programmed in-circuit via the USB port without the need for an external programmer. This article explains what the hardware requirements are in order to use SAM-BA.