A handheld control with an OLED display

This unit provides the parameters for the Lamp. It is not needed for the Lamp's continuing operation, since the Lamp stores the parameters in EEPROM non-volatile memory.
An Arduino microcontroller was selected because I could not figure out how to read on incremental encoder in Picaxe Basic. I used one in the Weather Station but via a flip-flop circuit.
There are libraries available for Arduinos for this, but the first one I tried did not work in the full program with 3 encoders and a display, although it worked in a simple demonstration.
It uses a Pololu 32U4 A-Star mini ULV because it works directly from the battery and contains a switching DC-DC converter with a regulated 5V output for both internal and external use.

Here are the circuit diagrams

Here is the code

This is a view of the control panel which appears when the cigar box lid is lifted.
The switch controls power to the Controller, and also selects whether temperatures are displayed in degrees F or C.
The three controls are incremental encoders with push-buttons:
* The top knob controls brightness and its push-button cancels steady color mode.
* The left knob sets the lower range of temperature and its push-button sets steady color mode.
* The right knob sets the upper range of temperature and its push-button nitiates an RF control message.

The panel assembly includes everything but the battery and the transmitter. It is hinged to provide access to the battery and the micro USB programming connector on the micro-controller. This is not very visible in this photograph.

All interconnections are by jumper wires.