Making a loop controller PCB is pretty straightforward.
I used my normal approach. Design the PCB on a scrap of paper, and then lay it out in PCB Express. Print the circuit design on a laser printer, and then iron it onto a clean piece of printed circuit board. Etch the circuit board in a DIY solution of hydrogen peroxide and muriatic acid. Drill holes. Insert and solder parts.
Where possible I used mounting headers for parts, rather than soldering them into the board. In my case, only the power supply parts and headers are soldered.
Drilling holes in a loop controller PCB is tedious work. Especially if you are not using halfthe pins on a part such as the Arduino Pro Mini, which has two rows of 12 pins each. I solved this problem by leaving unused pins out of the PCB design, and just cutting the unused pins off the bottom of the mounting headers.
Loop Controller PCB Details
The heart of the design is the Arduino, which controls everything except the power supply. The Arduino’s digital I/O pins are used as follows.
- End Stop switch between #2 and ground. This is used for homing the stepper.
- Motor direction control on #6 through #9.
- Communications with the WiFi #3 and #5.
- Hard reset of the Wifi #4
- Startup External Jumpers for the loop controller’s running mode, #10 to #12. These jumpers can be set to tell the Arduino which running mode it should select – wired or wireless. Jumper #12 selects a debug mode.
If needed, the controller card can be connected, programmed and controlled over a USB cable to a PC. This connection is on the Arduino using a CP2102 USB-to-Serial converter.
Lastly, the power section is shown on the lower right. It consists of an LM1117 3.3 volt regulator with some bypass capacitors. The loop controller PCB runs off 5 – 12 volts. At some point I need to figure out how to send power to the antenna in the back yard, but that’s for another day. The fat traces on the PCB carry the power. At 5 volts, the motor and WiFi running together seem to draw about 800 ma.