When you first power up the device it has a blank DeviceID (address) of –. When powered it will transmit a–STARTED, if no host acknoledges the device by replying a–ACK—– then the device will try a further 5 times. It is usual therefore to see 6 a–STARTED messages if you are for example using some terminal software.
It is good practise to change your DeviceID right at the start. To do this is easy. First decide what ID you’d like it to have, this can be two capital letters (eg TT, FG or YY) you cannot use numbers. When you have chosen, we send as a single packet (paste in hyperterminal) the command CHDEVID. To issue the command and to set (for example the device to RB) we use a–CHDEVIDRB, the device will reply to you with the same message to verify it heard you. To apply the settings send a–REBOOT—. The device will now restart by transmitting aRBSTARTED. That’s it your device is now called RB.
To test RB will respond to us, try sending aRBHELLO—-, the device will reply aRBHELLO—- also.
To switch the relays there are the following commands (replace the — with your actual DeviceID if you changed it)
a–RELAYAON- Turn relay A on
a–RELAYAOFF Turn relay A off
a–RELAYATOG Toggle relay A between on/off
a–RELAYBON- Turn relay B on
a–RELAYBOFF Turn relay B off
a–RELAYBTOG Toggle relay B between on/off
There are additional commands, these are
a–HELLO—- Like a computer ping
a–CHDEVIDxx Change the DeviceID (xx is the new ID)
a–DEVTYPE–
a–DEVNAME–
a–REBOOT—
a–APVER—-
a–PANIDxxxx
a–SER——
Posted by (0) Comment
This coming weekend (Sat 3rd Sep) we will be attending the Brighton Maker Faire courtesy of the Nottingham Hackspace. This page will be updated with more details as they happen and serve after the event as a useful page of related information.
To be shown for the first time in public will be:
John has a selection of XRF powered sensors in his house, these publish to Patchube, you can see how dry his plants are, how hot the water in the tank is and more here https://pachube.com/feeds/22343
Why not make your own, here’s the code. An RGB LED was simply wired via resistors to 3 PWM pins. You will see just how simple aProtocol is to use, just 12 characters. Try sending aDDLED0000FF (full blue) or aDDLED008800 (half green), the other 16.7 million colours I’m sure you can figure out
// Arduino example code
void setup() // always called at the start to setup I/Os etc
{
Serial.begin(9600); // start the serial port at 9600 baud
pinMode(6,OUTPUT);
digitalWrite(6, LOW);
pinMode(9,OUTPUT);
pinMode(10,OUTPUT);
pinMode(11,OUTPUT);
analogWrite(9, 255); // Do a little RGB pulse to show it's running code
delay(200);
analogWrite(9, 0);
analogWrite(10, 255); //
delay(200);
analogWrite(10, 0);
analogWrite(11, 255); //
delay(200);
analogWrite(11, 0);
digitalWrite(6, HIGH);
delay(200);
Serial.flush(); // ensure input buffer is empty.
Serial.print("aDDSTARTED--");//
}
void loop() // repeatedly called
{
static boolean waitingForStart = true; // true if waiting for start of message
static long time; // used to store time of first character - for timeout
if (waitingForStart) // we are waiting for the first character of a message
{
if (Serial.available()) // got some characters
{
waitingForStart=false; // in message, enable timeout
time=millis(); // set up timeout
}
}
else // timing out
{
if (Serial.available()==12) // have we got the message?
{
processCommand(); // yes - process the message
waitingForStart = true; // and wait for the next one
}
else if (millis()-time > 100) // 100 millisecs should be enough to receive the message
{
Serial.flush(); // timed out - flush any characters received
waitingForStart = true; // wait for the next message
}
}
}
void processCommand() // message received - process it
{
char message[12]; // buffer to store message in
for (int i=0; i<12; i++) message[i] = Serial.read(); // read the message into the buffer
if (strncmp(message,"aDD",3) == 0) // check first four characters of message
{ // it is for us
if (message[3] == 'H')
{
Serial.print("aDDHELLO----");// send 12 byte reply
}
else if (message[3] == 'L') //
{
analogWrite(9, char2hex(&message[6])); // value is 0-255 in hex made from the two bytes RED
analogWrite(10, char2hex(&message[8])); // value is 0-255 GREEN
analogWrite(11, char2hex(&message[10])); // value is 0-255 BLUE
Serial.print("aDD");// send 12 byte reply acknowledging
Serial.print(message[4]);
Serial.print( message[5]);
Serial.print( message[6]);
Serial.print( message[7]);
Serial.print( message[8]);
Serial.print(message[9]);
Serial.print(message[10]);
Serial.print(message[11]);
}
}
}
uint8_t charToHex(char c)
{
if (c < 'A') return (c-'0');
return (c-'A'+10);
}
int char2hex(char* msg) // char * means a pointer to a char
{
return(charToHex(msg[0])*16+ charToHex(msg[1]));
}
end of page
Posted by (0) Comment

The following files are required to support the new 18F25K22 microcontroller. Make sure to use version 2.2.0.3 of Swordfish. If you are using an older version of SE then download the latest SE and simply install, you wont lose anything. Registered users can click “upgrade” in the IDE and it will upgrade the IDE automatically. So far the K22 support files have to be manually added. In future they will be part of the IDE install.
Save (right click + save as) these two files into one of the following directories (depends which version of windows you are using)
Windows XP - c:\program files\mecanique\swordfish\includes\
Windows Vista & 7 – c:\users\all users\mecanique\swordfish\includes\ (HINT: windows often hides this folder, cut and paste the path instead of browsing to it.)
Sample code to see if Swordfish will compile:
‘ BLINK LED
Device = 18f25k22
Clock = 16
Main:
High(PORTB.6)
DelayMS (500)
Low(PORTB.6)
DelayMS (500)
GoTo main
Some useful other files
The above blink LED as a HEX file here
A version of MPASM that will work with the K22 and 2203 version of SF here
Version 2203 of swordfish SE here
DS30 loader known to work with both PIC’s below (what you might be using on your XINO board) here
HEX file for DS30 loader for 18F25K20 here
HEX file for DS30 loader for 18F25K22 here
The XINO basic for Atmel follows the exact same pin layout as the arduino, the circuit in most areas is identical two, however there are two major differences.
Customer review and his approach to building the board (we do the same): http://blog.thiseldo.co.uk/?p=543
Board Layout

Programming “in place” with another Adrduino board
Many thanks to Andy for this idea and the photo.

Posted by (5) Comment
We were using PICKIT software version 2.60.00 which gave the message “unsupported device”. To use a 25K22 with a PICKIT 2 we need to update the PK2DeviceFile.dat file which is usually in C:\Program Files\Microchip\PICkit 2 v2.
Download it from Microchip, the PK2 page is here
Older versions of MPLAB will need updating.
Download it from Microchip, the PK2 page is here
How to install the update file:
Our 25K20 version of the 64Mhz PLL bootloader HEX was programed into the 25K22. When restarted the PIC refused to run the loader. It will need a new version of the DS30 bootloader creating.
DS30 is opensource and can be downloaded from here
AMICUS: Will in a future update we are told (date unknown)
Proton: Probably should (as yet untested by us)
Swordfish: Here’s a post from the SF forum http://www.sfcompiler.co.uk/forum/viewtopic.php?t=1344&sid=85ec5887a57e8964c9e08f96db7cd466 (as yet untested by us)
PICAXE: Yes, the 28×2 that is based on this device has had limited testing.
If you know of any other compilers that do support this PIC that you have tried sucessfully on a XINO basic for PIC please let us know and we’ll add them.
Posted by (14) Comment
Transmission range on whip antenna of easily 300+ meters L.O.S. (570m in our tests)
Transmission range with external SMA antennas of Km’s (figures yet to be published)
Varaible: baud rate, over the air rate & frequency.
Repeater mode (mirrors data over 2 PANID’s).
Low power consumption 19ma RX, 32ma TX @full power (to be selectable)
Serially (RX/TX) updateable firmware, no CTS/DTR required.
Can be used as CC1110 micro with IAR C compiler software.
Radio
High-performance RF transceiver based on the market-leading TI CC1101
Excellent receiver selectivity and blocking performance
High sensitivity (–110 dBm at 1.2 kBaud)
Programmable over the air data rate up to 500 kBaud
Programmable output power up to 10 dBm for all supported frequencies
Frequency range: 300 – 348 MHz, 391 – 464 MHz and 782 – 928 MHz
Digital RSSI/LQI support
Low Power
Lowest current consumption (RX: 16.2 mA @ 1.2 kBaud, TX: 15.2 mA @ –6 dBm output power)
High speed, full power consumption (RX:19mA @ 250kBaud, TX:32mA @ +10 dBm output power)
0.3 µA in PM3 (operating mode with the lowest power consumption, only external interrupt wakeup)
0.5 µA in PM2 (operating mode with the second lowest power consumption, timer or external interrupt wakeup)
MCU, Memory, and Peripherals
High performance and low power 8051 microcontroller core.
Powerful DMA functionality
8/16/32 KB in-system programmable flash, and 1/2/4 KB RAM
128-bit AES security coprocessor
7 – 12 bit ADC with up to eight inputs
I2S interface
01 - +3V3 20 - Future use 02 - Data Out 19 - Future use 03 - Data IN 18 - Future use 04 - Future use 17 - Future use 05 - Reset 16 - Future use 06 - Heart Beat 15 - Future use 07 - Future use 14 - Future use 08 - Future use 13 - Future use 09 - Sleep 12 - Future use 10 - GND 11 - Future use
http://focus.ti.com/docs/prod/folders/print/cc1110f32.html
01 - +3V3 20 - P2_4 02 - P0_3 19 - P2_3 03 - P0_2 18 - P2_2 04 - P0_4 17 - P2_1 05 - Reset 16 - P2_0 06- P1_7 15 - P0_7 07- P1_6 14 - P0_6 08- P1_5 13 - P0_5 09- P1_4 12 - P0_0 10 - GND 11 - P0_1

Calculated antenna lengths.
433 1/4 wave = 164.7mm
433 1/2 wave = 329.4mm
433 full wave = 692.7mm
868 1/4 wave = 82.2mm
868 1/2 wave = 164.3mm
868 full wave = 345.5mm
915 1/4 wave = 77.9mm
915 1/2 wave = 155.9mm
915 full wave = 327.8mm
Useful site for calculation http://www.csgnetwork.com/antennaevcalc.html
TI uses slightly longer on CC1110 reference, unknown why. Chipcon/TI primer paper on antenna design with calculations http://www.ti.com/litv/pdf/swra088
Attach the XRF to a PC using either the Cisceo FTDI USB interface or something similar. The baud rate by default is 9600
Note [ret] represents a carriage return character (enter key)
To enter command mode:(hyperterm/xctu etc)
Do nothing for at least 1 second
type in +++ (press nothing else)
then wait 1 second
XRF will reply OK, you are now in config mode, the wireless is suspended
General format of commands:
Command without parameter (usually used to query a configuration)
ATxx[ret]
Command with parameter (up to 32 bytes of data)
ATxx [space] dddddd[ret] (versions after and inc. v0.11 the space is optional)
The XRF will reply ERR[ret] for any command that is not recognised.
Command Meaning XRFResponse XRFResponse
without parameter with Parameter
Actions the Sets the value
command or reads
the value
_______________________________________________________________________________
AT Null command OK[ret] OK[ret]
_______________________________________________________________________________
ATAC Apply Changes OK[ret] N/A
Returns OK and then
applies changes to baud
_____________________________________________________________________
ATBD Baud rate nnnnn[ret] OK[ret]
not set until ATAC command OK[ret]
Common baud rates in HEX:
1200 4b0 Where nnnnn is Parameter is the
2400 960 the baud rate baud rate in HEX
4800 12c0 in HEX
9600 (default) 2580
19200 4b00
31250 (MIDI) 7a12
38400 9600
57600 e100
115200 1c200
_______________________________________________________________________________
ATCC Change AT guard character +[ret] OK[ret]
Example change to "///" /[ret]
_______________________________________________________________________________
ATCH Radio frequency n[ret] OK[ret]
Not set until ATCH command OK[ret]
1 – 915MHz
2 – 903MHz Where n is the Parameter is the
3 – 868MHz frequency number frequency to set
4 – 433.5MHz to.
5 – 868.3MHz (default)
6 – 315MHz
_______________________________________________________________________________
ATDN Done OK[ret] N/A
exit AT command mode
_______________________________________________________________________________
ATDR Radio data rate n[ret] OK[ret]
Not set until ATCH command OK[ret]
1 – 250Kbaud (default)
2 – 38.4Kbaud Where n is the Parameter is the
3 – 1.2KBaud data rate (0-5) data rate (0-5)
4 – 100KBaud
5 – 500KBaud
______________________________________________________________________________
ATID PANID (aka network name) nnnn[ret] OK[ret]
Four hex characters OK[ret]
Default – 0000
Max value FFEF Where nnnn is Parameter is the
(last 256 PANIds reserved for the PANID PANID
internal use)
______________________________________________________________________________
ATI2 PANID2 – for repeater function nnnn[ret] OK[ret]
Four hex characters OK[ret]
Default – 0000
Max value FFEF Where nnnn is Parameter is the
(last 256 PANIds reserved for the PANID2 PANID2
internal use)
______________________________________________________________________________
ATNT Node type n[ret] OK[ret]
0 – Serial pass through mode OK[ret]
1 – reserved
2 – Repeater mode Where n is the Parameter is the
current mode mode to set
NOTE: In repeater mode you cannot use the normal serial. What
happens instead is that RF data on PANID and PANID2 are
mirrored in both directions. This is useful for merging
separate PANID networks or for extending the whole network
by one node.
_______________________________________________________________________________
ATPC Reprogram OK[ret] N/A
Chip will reprogram itself and reset
Will return ERR if an image has not
been downloaded into memory
______________________________________________________________________________
ATPG Enter program download mode OK[ret] N/A
_____________________________________________________________________________
ATPK Radio packet length (in hex) nn[ret] OK[ret]
Inc. 2 byte PANID, so min. is 3 OK[ret]
Parameter is 3 to FC (3 to 250 decimal)
Default is OE (14 - i.e. 12 data bytes)
______________________________________________________________________________
ATPL Radio TX power level n[ret] OK[ret]
0 -30dBm OK[ret]
1 -20dBm
2 -15dBm
3 -10dBm
4 -5dBm
5 0dBm
6 +5dBm
7 +7dBm
8 +10dBm (default)
______________________________________________________________________________
ATRE Restore factory defaults OK[ret] N/A
Note this loads the config from the
default settings, baud rate, radio data
rate and radio freq will be actioned
when changes are applied.
______________________________________________________________________________
ATRO Packet timeout nnnn[ret] OK[ret]
The time in milliseconds before OK[ret]
a packet is sent if packet is
not complete (hex)
Range 1 to FFFF (65535)
Default is 64 (100 mS)
______________________________________________________________________________
ATVR Software revision number n.n[ret] OK[ret]
OK[ret]
______________________________________________________________________________
ATWR Save config changes to flash OK[ret] N/A
The config changes will be preserved
for the next startup.
______________________________________________________________________________
1. Attach the XRF to a PC using either the Cisceo FTDI USB interface or something similar (eg sparkfun xbee explorer, AXE210), CCFlashProg assumes the XRF baud rate is 9600bps.
2. Start CCFlashProg.exe
3. Select the serial port that XRF is connected to
4. Select the hex file to program to the XRF
5. Press program – if it fails to start try again, the serial timing could be a little different between the PC and XRF
6. After it programmed, press verify – if it fails to start, try again
7. If all is reported OK press commit.
8. XRF will restart with the new firmware
9. (Optional) Using a terminal emulator app (XCTU, Hyperterm etc) issue +++ to the XRF and then using the ATVR command check the new software revision number.
Short pins 19 and 20 during startup and the XRF will load in factory configuration (not firmware). If you wish to retain this configuration then you need to issue an ATWR command to save the config, otherwise at next power up the previous configuration will be used.
This is useful for recovering from unknown configurations.
v0.11 – Added ATRO/ATPL/ATPK/ATCC commands
v0.10 – Baud rate command changed to provide even more flexibility in baud rates.
v0.09 – First commercial release.
Posted by (10) Comment
Very low cost development system. Supports the following PICAXES: 18M2, 18, 18A, 18M, 18X (18M2 and 18X tested), 28A, 28X, 28X1, 28X2 (28X1 and 28X2 tested). Versions of the 18 pin PICAXE’s below the 18M2, require an additional 4K7 resistor which is supplied with the kit.
For PIC’s any similarly pinned 18 or 28 leg devices will work (far too many to list). We like and supply the 18F25K20 with the DS30 bootloader installed. You can easily make a cable or board to allow hardware programming (see later in this document).
When plugging in add on shields, please make sure the voltages are appropriate to power and interface to it. The XINO Pro has onboard voltage regulation and provides a much more “plug and play” environment which is much closer to the original Arduino, the XINO basic is much simpler and requires a little more thought.

1. Solder onto the board the 10K, 22K, 4.7K resistors and 0.1uf capacitor. If you intend to use a pre 18M2 PICAXE add the second “diagonal” 4.7K resistor (usually the much smaller resistor in your kit)


2. Add the 18 and 28 pin IC sockets with the indentation towards the top of the board (end marked XINO)
3. Add the remaining stereo jack, reset switch and the 3 pin voltage selection header with jumper.
4. Add the female header sockets (1 x 6 way, 3 x 8 way)
5. To power the board solder onto the GND, 3V3 and 5V connections (NOTE: 2 AA cells is 3V this will work in most situations for the 3V3 supply as will 3 AA’s giving 4.5V for the 5V supply, for an easy solution use a 3 x AA box and take a third wire off the 3V point) . There is space on the board to utilise a 4 way header or 3 way screw terminal block instead.

6. The voltage selection jumper is marked on the board, to the right 5V and to the left 3.3V (as shown in the photo)
That’s it, should take between 10 to 20 minutes depending on your soldering speed and skill.
'P0 - NOT CONNECTED 15 - NOT CONNECTED 'P1 - NOT CONNECTED 14 - GND 'RST 13 - B.4 I2C SCI/Touch/ADC/Out/In '3V3 12 - B.1 I2C SDA/Touch/ADC/Out/In '5V 11 - C.6 In/Out 'GND 10 - SERIAL OUT 'GND 09 - NOT CONNECTED 'VIN 08 - C.7 In/Out ' 'A0 - C.2 DAC/Touch/ADC/Out/In 07 - NOT CONNECTED 'A1 - B.7 In/Out/ADC/Touch 06 - NOT CONNECTED 'A2 - C.0 In/Out/ADC/Touch 05 - NOT CONNECTED 'A3 - C.1 In/Out/ADC/Touch 04 - B.3 In/Out/ADC/Touch/PWM 'A4 - C.4 In/SERIAL IN 03 - B.6 In/Out/ADC/Touch/PWM 'A5 - C.5 In 02 - B.0 SRI/Out/In ' 01 - TX B.5 hserout/Touch/ADC/Out/In ' 00 - RX B.2 hserin/Touch/ADC/Out/In '
'P0 - C.1/PWM C.1 15 - NOT CONNECTED 'P1 - C.2/PWM C.2/HPWM A 14 - GND 'RST 13 - C.3/HSPI SCK/HI2C SCI '3V3 12 - C.4/HI2C SDA/HSPI SDI '5V 11 - C.5/HSPI SDO 'GND 10 - A.4/SERIAL OUT 'GND 09 - B.7 'VIN 08 - B.6 ' 'A0 - ADC0/A.0/C1- 07 - B.5 'A1 - ADC1/A.1/C2- 06 - B.4/ADC11/HPWM D 'A2 - ADC2/A.2/C2+ 05 - B.3/ADC9 'A3 - ADC3/A.3/C1+ 04 - B.2/ADC8/HINT2/HPWM B 'A4 - SERIAL IN 03 - B.1/ADC10/HINT1/HPWM C 'A5 - C.0/TIMER CLK 02 - B.0/ADC12/HINT0 ' 01 - TX/C.6/HSEROUT/KB CLK ' 00 - RX/C.7/HSERIN/KB DATA '
Push an LED and an “in series” 330R resistor into sockets numbered 13 (output) & 14 (gnd), then cut and paste this code into the editor window. The “flat” of the LED should go to pin 14 (gnd). This code was tested at both 3.3v and 5v, all PICAXE’s appeared to work. For the 18X it requires the additional 4K7 diagonal resistor to be installed. Note the reset button only works for the 28 pin devices.
PICAXE 18X
Start:
High 4
Pause 1000
Low 4
Pause 1000
Goto Start
PICAXE 18m2
Start:
High B.4
pause 1000
Low B.4
pause 1000
Goto Start
PICAXE 28X1
Start:
High PORTC 3
Pause 1000
Low PORTC 3
Pause 1000
Goto Start
PICAXE 28X2
Start:
High C.3
Pause 1000
Low C.3
Pause 1000
Goto Start
Using a hardware programmer such as the PICKIT2 is relativly easy. Just connect the following pins. Diagram for the PICKIT2 available on http://www.embedded-knowhow.co.uk/MPLAB%202.gif. Here is the pinouts for the 28 pin devices (such as the 16F886 & 18F25K20).
PICKIT2 PIN (pin 1 denoted by the white triangle)
1 – VPP/MCLR > RST pad on XINO
2 – POWER/VDD > MCUPOWER pad on XINO (which ever you are using 3V3 or 5V)
3 – GROUNDVSS > GND pad on XINO
4 – ICSPDATA/PGD > 09 pad on XINO
5 – ICSPCLOCK/PGC > 08 pad on XINO
6 – Not connected
………………..End of document
Posted by (5) Comment
The ProtoX is one of the lowest cost Aduino shaped prototype boards available today. It supports the XINO and Amicus too. Supplied with 3 x 0.1uf ceramic capacitors and 3 x 8 pin male headers (break two off for 6 pin arduino boards) and 1 x 6 pin male header. Useful surface mount pads for SOIC, TSSOP (on back of the board) and 2 x SOT 223 or SOT 22-3.

Layout of the board – larger picture here

Kit of parts

As supplied with male headers

Alternative with through stackable headers (available separately)

Back view, click here for larger image.
Posted by (0) Comment
The relay shield allows for the easy interfacing of an Arduino, XINO or compatible development board to a power relay to control much larger voltages and currents. The relay can switch up to 10 amps at 250 volt AC. Simply wire from the pad you want to use from your micro to the pad marked “input”. A 3V3 or 5V “high” output signal will suffice.
This however should be met with extreme caution, mains voltages will kill, if you are unsure in any way or are unfamiliar with mains electricity STOP, do not attempt to proceed.
The relay can be used to switch AC or DC. If using the shield for DC voltages use LIN/LOUT and NIN/NOUT as the two connections (we suggest using LIN/LOUT as the positive as it is the switched line), leave Earth unconnected.
For mains voltages use only LIN/LOUT for live (the switched line), NIN/NOUT for neutral and earth.
If the shield is to be used for mains switching, never program the microcontroller in situ, only when mains voltages are disconnected. The shield and it’s base board MUST when in operation be physically isolated from human touch by means of a suitable enclosure.
Posted by (0) Comment
The PWM/MOSFET shield provides an Ardunio/XINO or similarly shaped microcontroller development board with two very high power channels for the switching or Pulse Width Modulation of DC currents. A normal microcontroller might be able to power a 20ma (1/200th of an amp) LED but not usually much more.
There are many available add-on boards utilising single integrated circuits that can switch an amp or two (the L298D is very popular choice), this shield however utilises 52 amp switching MOSFETs and a 1.2 amp driver for much greater drive capability.
Ideally suited to motor, lighting and heating control but has a million and one uses. The onboard heat sinks cool the TO-220 sized MOSFETs. If further cooling is required the heat sinks can be changed for larger items (easily available at Farnell/DigiKey/RS etc). Alternatively they can be force cooled by a fan, there are two pads on the board for powering such a fan. The fan output is 5v and the recommended fan size is 30mm as this can be affixed to the heat sinks with either pilot drilled screws or simply glue/tape.
The shield “logic” ie the LED’s and driver (not the MOSFETs) are powered by the normal Arduino style supply on the header pins to the left hand side, it utilises the 5v and GND rails. The MOSFETs and therefore the load being switched is powered by the central screw terminal marked “source”, please observe the polarity marked on the board, failure to wire correctly could result in damage.
There are 5 connections to consider for basic use. The first two are PWM input 1 & 2 (these are fed directly from your microcontroller outputs). The last three are the voltage (being switched) source and the two MOSFET outputs to your load.
PWM input 1 & 2 are independent of each other. The microcontroller PWM signal is fed into these inputs. The frequency & duty cycle are controlled by your microcontroller, the PWM shield adds nothing to the signal except amplification. These inputs are routed through the LED’s to give a visual indication of operation and into the 1.2 amp driver circuit. The driver circuit is necessary as unlike transistors MOSFETs require much greater current to turn them on and off.
There are pads marked driver output, these you would normally leave “jumpered” in place such that the output from the driver is fed straight to the input of each MOSFET. You can if desired remove the jumpers and use the driver or the MOSFET’s separately from each other.
We will consider you have left the jumpers on as is normal and by default. The last connections are from your supply being switched and o the load being controlled. There are three screw terminals, the centre one being where to wire the “source” supply. Please note to polarity, this is very important. To this centre terminal wire the + and – (ground) of your supply using an appropriately sized 2 core cable. Your “load”, ie the motor, lamp, heater etc is wired to the MOSFET output (there are two if you are using both channels), again here observe the polarity marked on the PCB.
The PCB has thick copper tracks, the largest we could design in, these however have been calculated to carry a maximum of around 5 amps. If you want to switch currents in excess of this please add heavy gauge wire between the MOSFET pins and the screw terminal as shown in the photo.
Currents in excess of 16 amps (the rated current of the screw terminals) should be soldered directly to the MOSFET pins using very heavy guage wire and the wire length kept to a minimum.
The driver can be driven at a voltage greater than 5v if required, the link marked EXT need to be cut or de-soldered and then the XXXX pad is then given the appropriate supply, the ground of this external supply needs connecting to the board GND pads. NOTE: All supplies must share the same ground.
The standard supplied MOSFETs can be easily changed for another type. The easiest to implement would be a similarly sized TO-220 device however with a little ingenuity almost any sized device could be used.
The supplied microchip xxxx driver has a sister that “inverts” the signal instead of the more normal standard operation. This IC can be substituted without any modification to the circuit.