Using a BC548 to drive a motor?

I have seen lots of toturials saying that you need a transistor when running a motor straight from the arduino and I was wondering is the BC548 OK for this job as I can't afford a motor board at the moment?

A BC548 is a small signal transistor (<100mA).
Ok for a LED or small relay, but not for a motor.
Unless it's the size of a fingernail.

How big is your motor (voltage, stall current).
Leo..

I'm not sure. I salvaged it out of something. When would it be needed for a LED and how could you incorporate a relay into a project?

Thanks for your assistance. Is there any that u would recommend instead?

The transistor has to be able to handle the motor's stall (startup) current.
That might be <1Amp for a small motor, and many amps for a bigger one.

If you have old boards that you salvage for parts, look for transistors on heatsinks, or the flat ones that are made to go on on a heatsink.
If you have a board with BC548s, you might find e.g. a BD135.
But almost any power transistor will do for a motor.

You also need a resistor (220ohm-1k) between Arduino output pin and base.
And a diode across the motor to kill spikes that could send the transistor to silicon heaven.

Google "Arduino relay driver", images.
Relays, motors, and even LED strips are all driven the same way.
Try PWM in your code for speed control.

To change direction, you need a H-bridge motor driver.
Leo..