Here is my suggsted schematic.
It is based on a single transistor current source using a switchable current setting resistor in the emitter path.
SW2 is a two-pole five-position rotary switch. The "A" pole enables one of five LEDs (LEDR, LEDS, LEDT, LEDU and LEDV) which indicate the current output setting - either 0.5 mA, 1.0 mA, 1.5 mA, 2.0 mA, or adjustable (via RV). These LEDs are 3 mm red low-current devices, operated at slightly over 1 mA forward current (set by RL).
Q1 is used as a current regulator. A fixed voltage is generated between its base and the positive supply rail via LEDC, a 5 mm low-current red LED operated at a forward current of 1 mA (set by RB). Q1 tries to keep its emitter voltage equal to its base voltage plus one Vbe voltage drop, by providing current at its collector.
If there is a path for current from Q1's collector to the negative rail, this emitter-to-collector current flow causes the necessary voltage to appear across the resistors in Q1's emitter circuit. The emitter-collector current is then equal to the total voltage across the emitter resistors divided by their value (I = V / R). If sufficient current will flow in the collector circuit, regulation is achieved. In this state, Q1's base current is negligible.
If insufficient current flows in the collector circuit (e.g. because the load is open-circuit or has a high resistance), Q1's base will draw current, leaving insufficient voltage for LEDC. So LEDC will go out when the load is disconnected or high-resistance. This should be regarded as a warning that the load is not properly connected.
Current regulation is determined mainly by the characteristics of LEDC and Q1 and these characteristics are affected by temperature. When the circuit has been set up, you should measure its output current over a range of operating temperatures to be sure that it is stable enough for your application.
Safety considerations during construction: (1) protect and insulate the connection between Q1 emitter and RX (this is an important node in the circuit, and must not be allowed to touch any other part of the circuit); (b) ensure that the path to Q1 base is wired such that DZ cannot become disconnected from Q1 base without RB also being disconnected; i.e. connect from RB, via LEDC and DZ (either order), and finally to Q1 base. Also ensure that DZ's cathode cannot become disconnected from the positive supply rail.
DZ is connected across LEDC to limit Q1's base bias if LEDC becomes broken or disconnected, to prevent excessive output current. DR protects Q1 against connection to some types of inappropriate loads. F1 is a tiny 5 mA fuse intended as a simple safety precaution in case the current regulator fails in some way (for example, Q1 is damaged).
All components are available from Digikey.
The values of all resistors and trimpots in the Q1 emitter circuit should be taken as estimates; proper values will need to be determined during testing.
The battery voltage can be increased as long it remains safely within Q1's maximum Vce specification and RL and RB are changed accordingly. RB sets the current in LEDC which should be about 1 mA, so RB can be calculated as (VBatt - 2V) * 1000 with the result being in ohms. So for example if the battery voltage was 24V then RB would be 22 kilohms. RL similarly sets the current in the five mode indicator LEDs and can be chosen to trade off brightness against battery lifespan.
Here is the procedure for determining the resistor and trimpot values in the emitter circuit. You will temporarily need several ten-turn trimpots, connected to two alligator clips. Values of 100R, 200R and possibly higher may be needed.
1. Determine RX and RM. These set the maximum output current, which corresponds to VAR mode with RV fully clockwise.
Connect a milliammeter between the negative side of M1 and the circuit 0V rail. Leave the RX position open. Clip a 100R ten-turn trimpot between Q1 emitter and the positive supply rail (anodes of the LEDs) and set it to maximum resistance. Turn on the circuit and adjust the trimpot to get your desired maximum current flow.
Power off and remove the trimpot, and measure its resistance. You now need to recreate that resistance using a fixed resistor in series with a trimpot. Multiply the measured resistance by 0.93 and find the closest E24 resistor value less than that. This will be RX. Now subtract that value from the measured resistance, multiply the result by 1.3 and find the closest available trimpot value that is higher than the number you calculated. This is RM.
Install RX and RM, power up the circuit and adjust RM for the desired maximum output current with SW2 set to "VAR" and RV fully clockwise.
2. Determine the resistor and trimpot values for the four fixed currents.
Disconnect RM from the SW2B wiper. Connect a ten-turn trimpot (start with 100R and use a higher value if the current won't go low enough) from the free end of RM to the positive supply rail.
For each of the four fixed current options, starting with the highest current option, turn on the circuit and adjust the trimpot for the desired current, turn off, disconnect the trimpot and measure it, and recreate that resistance using a fixed resistor and a series trimpot using the calculations given in step 1.
Install the calculated resistors and trimpots into the four emitter circuits. Turn on the circuit, and for each position on SW2, adjust the related trimpot to get the desired current flow.
For safety reasons you must follow these guidelines.
While it is being used, this circuit must be kept electrically isolated from the mains and all other electical circuitry. This circuit must be constructed in a non-conductive box. This circuit must not be powered from an AC adapter. This circuit must be powered from batteries only. If rechargeable batteries are used they must be removed for external recharging. A charger input must not be added to this circuit.
Disclaimer: I cannot warrant that this design, or its construction (which I cannot control), will meet mandated safety standards for electronic devices for connection to the human body. Unless you have had this design, and your construction of it, tested and approved by the relevant safety agencies, any such application of this circuit is made entirely at your own risk and I disclaim all liability for all intended and unintended effects it may have on that person.