For projects with just a few LEDs, a small display or a buzzer,
power is usually not a big issue and can easily be supplied by the Arduino pins itself or through a battery or small USB power supply.
But for projects that involve larger motors, solenoids, high-power LEDs, Peltier elements, etc, the power management is often non-trivial and appropriate power supplies and switches (relays, MOSFETs, BJTs) become non-trivial parts of the design, often the most challenging!
To test whether the project can handle the required current, it is often crucial to test it with a dummy load instead of the actual motor/lamp/relay. This allows in particular to stress-test the system by making it sure it can run with for example 400mA, when the actual motor only requires 300mA.
Fancy dummy loads with constant current, constant power or constant resistance can be bought, but it's a niche market for professionals, and for a hobbyist a simpler system is often sufficient.
The most common small-signal resistors used in circuits have a power rating of 0.25W, which is really not a lot. However, they are very cheap, a pack of 100 costs about 50 cents, so 1 euro buys you 200, which can dissipate in theory 50Watt, if the power is distributed equally and the resistors are not packed too close.
Here's the description of a board with 192 equally valued resistors: they nicely fit in 24 rows of 8 on a 7x9cm prototype board, with still space for an 8-fold dip switch and 2 female banana connectors. Each row has 8 resistors in series, and with the dip switch one can select how many of these rows to put in parallel, and thus how much current to let flow.
Step 1: Theory
Current I, voltage V and resistance R are related by Ohm's law: V=IR.
The power dissipation of a resistor is P=IV=I^2R=V^2/R. Thus, the maximum voltage across a resistor is Vmax=sqrt(P*R). For P=0.25W, this gives Vmax=1,58V for R=10Ohm, Vmax=5V for R=100Ohm Vmax=15,8V for R=1kOhm etc. For a string of n resistors in series, the total voltage is equally divided over the n resistors and thus can be n times larger: Vmax=n*sqrt(P*R).
Boards with 10Ohm or 100Ohm resistors come out to practical values this way: a row of eight 10Ohm resistors can be used up to 12.6V and a row of eight 100Ohm resistors can handle up to 40V. At these maximum voltages, each string will draw 12.6V/80Ohm=158mA, or 3.8A for 24 rows in parallel. For R=100Ohm, each row draws 40V/800Omh=50mA, corresponding to 1.2A in total.
In either case the board dissipates a total of 192x0.25W=48W. In practice, it is better to stay well below this, since the resistors are closely packed together and heat up each other, so their temperature will rise above that of a single resistor at its maximum dissipation. As a rule of thumb, it is best to stay at half the nominal voltage if kept on for long amount of time, while running at the full nominal voltage is fine for a few tens of seconds. So the 40V board will do fine for typical laptop power supply voltages of circa 20V, and the 12.6V board will be fine for 5V from USB supplies.
Step 2: Construction
MATERIALS AND TOOLS
192 0.25W 1% resistors of equal value. A 7x9cm prototype board with 24x30holes An 8-position DIP switch 2 female banana connectors Soldering iron, some tin, some solid-core hookup wire Multimeter to check the correct resistors and connections
Sample a couple of resistors from each string to make sure that their value is close (within 1%) of the nominal value. If it turns out that half the resistors are somewhat below the average value and the other half above, it's best to make rows with 4 resistors from batch A and 4 from batch B.
Take 8 resistors and bend their legs 90degrees. Stick one leg in the corner and the other 3 holes lower. On the other side, bend the legs 45 degrees to hold it in place. The next resistor has one leg in the same hole as the previous resistor, and the other three holes lower. Also here bend the legs 45 degrees. Continue with all eight.
Solder the eight resistors in place (9 joints) and cut off the legs. Repeat this 24 times for all 24 rows. Now all 192 resistors are in place. Check with a multimeter that each row has a resistance of 8R, and that the resistance between the rows is infinite. Solder the dip switch array to the board. Make some holes in the PCB for the banana connectors. The board shown is soft enough that the sharp end of a pair of scissors will do. Mount the banana connectors
Connect the top of all 24 resistor rows together and connect with an insulated wire to one of the banana connectors. Connect the bottom 8 connections of the dip switch together and to the other banana connector.
Now the 24 resistor rows need to be connected to the 8 dip switches. One practical way is connect 5 of the switches with 4 rows each, one switch with two rows and two switches with one row each. This way any number of rows from 1-24 can be activated. In addition, it is better to avoid a single switch to connect neighbouring rows: this way the heat is distributed more equally over the board in case only part of the rows are active. The picture shows two ways how I connected them. The left setup was the first attempt to distribute the rows homogeneously over the board, but the result is a rather messy spaghetti of hookup wire. On the right the distribution is less even, but in my \ opinion still satisfactory, and it reduces the soldering work significantly.
Label the board, in particular note down the resistance per row and the maximum voltage and for each row indicate the switch that it is connected to. On the dip switch, I indicated with '|' a switch that actives four rows, ':' for the switch that connects two rows and '.' for the switches that activate one row.
Test the board with a multimeter. Activating one group of 4 rows should give a resistance of 2R, two groups R, four groups R/2, etc.
The board is now ready for use!