From BitWizard Wiki
Jump to navigation Jump to search
The SPI_3FETs board
The SPI_3FETs board

This is the documentation page for the SPI_3FETs and I2C_3FETs boards. That you can buy in the BitWizard shop.


The board has 3 FETs that allow you to pull a pin of a load low. You would normally tie the other end of your load directly to the power supply.

About 5A per output is possible. Maximum voltage is 24V.

You will have to provide your own protection circuits if you are going to drive inductive loads (like a motor).

Assembly instructions

None: the board comes fully assembled.


The 3FETs board is capable of sinking about 5A per output. We have tested 5 A and the FET became slightly warm, as predicted by theory.

Although the specifications for the FETs allow a larger current, it is not recommended to exceed the 5A

Possible Configurations

External resources


The FETs

Additional software

Related projects


For the SPI connector see: SPI_connector_pinout.

For the I2C connector see: I2C_connector_pinout.

The output connector is connected as follows:

pin function
1 OUT0
2 OUT1
3 OUT2
4 V+
5 V+
6 V+

The "V+" is a convenience connector. The GND of your powersupply needs to be connected to GND, and your load goes between the plus of your powersupply and the "OUT" signals. You could wire it directly from the powersupply, or you can connect the powersupply to the "V+" here, and the loads between another V+ and the OUTx connector.

This board does not provide a protection diode between the OUTx signals and V+. This allows you to connect say a 5V powersupply to V+ and use OUT1 and OUT2 for 5V devices, while you connect a 12V load between OUT0 and a 12V powersupply. (the protection diode would allow the 12V powersupply to feed the 5V line through the 12V load and the protection diode when the 12V load was meant to be off.)

The MOSFETs that we use are specified to be able to handle an inductive kickback. This means they will survive an occasional inductive spike, but not when you trigger that too often, say by putting the output in PWM mode.

So, if you have an inductive load you will need to provide your own protection diode, especially if you're going to use the PWM mode.


The only LED is a power-LED.

Block diagram

Here is a block diagram of the board.


Power connector

Jumper settings

See solder jumpers on how to change the solder jumper.

By changing the solder jumper SJ1, you can make the connector nearest the board edge into the ICSP programming connector for the attiny44 on the board.

Powering the 3FETs board

Although some BitWizard boards will work with 3.3V as the power supply, the 7fets board needs to be supplied with 5V as this voltage is used to drive the FETs.


To make the 3fets PCB do things, you need to send things over the SPI or I2C bus to the PCB.

For the intro to the SPI and I2C protocols read: SPI versus I2C protocols.

In case of SPI, please read the General_SPI_protocol notes.

The specific commands for the 3fets PCB are explained on the page about the spi_dio board, as the two boards share the same protocol: DIO_protocol . Where the SPI_DIO drives an output high, the 3fets board will drive the output pin LOW when the pin is driven active.

Some 3fets boards were shipped with software that would default the outputs to inputs. On those you need to set all pins to outputs by sending 0xff to register 0x30 in your initialization sequence.

For arduino, a sample PDE is available, called ardemo_lcd.pde, also at the BitWizard software download directory .

This is a demo to send things using SPI to the lcd board. The SPI routines there are applicable for the dio and 3fets boards as well.

The software

Default operation

Future hardware enhancements

Future software enhancements

TODO: write a library to make handling this board easy.



  • Initial public release