LumiClock
This is a clock based project. The title of which embodies the main means of displaying the time.
The "Lumi", being an abbreviation for Luminous.
Utilising lumious paper in conjunction with UV LED's to display the time which fades over a period of time between updates.
For a bit of added nostalgia, the numbers are in a dot matrix format.
In addition to luminous paper and UV LED's the clock uses a Microbit, RTC, Digital Logic, 3D printing and Mechanical parts.
Downloads
Supplies
Compact All in One Robotics Board
DS3231 RTC
Resistor 2k2 - Qty 2
Resistor 10k - Qty 2
Resistors 220R - Qty 8
Capacitor 100nF MLC - Qty 3
74HC541 Octal Buffer IC
UV LED's 5mm - Qty 8
Hall sensors - Qty 2
Momentary contact push button (SPST) - Qty 2
Push button (on/off) switch
Toggle switch
Terminal Posts - Qty 9
Jumper Jerky F/F 185mm
Jumper Jerky Junior F/F 100mm
Jumper Jerky Junior M/M 100mm
3d Printer
Filament
Clear Laminating Sheet, Clear sticky back plastic or A4 pocket sleeves.
20pin DIL IC socket
Ball magnets 3mm - Qty 2
Stainless steel tubes 30cm(L) X 6mm(Dia.) - Qty 2
M4 threaded rod 32cm long - Qty 2
M4 threaded rod 34cm long
Flanged Bearings 8mm OD x 4mm ID - Qty 2
Hex standoffs M4 x 5mm - Qty 3
M4 nuts - Qty 5
Hex standoffs M3 X 5mm - Qty 4
Hex standoffs M3 X 10mm+6mm - Qty 2
Hex standoffs M3 X 10mm
Hex standoffs M3 X 25mm - Qty 6
Bolts M3 x 12mm - Qty 24
Bolts M3 x 10mm - Qty 2
Bolts M3 x 16mm
M3 nuts - Qty 8
Countersunk Bolt M3 x 12mm
Screws M2 x 8mm self tapping - Qty 2
Grub Screw M4 x 6mm
Pin Header right angle 22 pins
3 pin terminal block, 2.54mm pitch - Qty 2
Acrylic Sheet 24cm (W) x 40cm (L) x 5mm (D) - Qty 2
Spring (Compression) 10mm free length x 5mm dia.x 0.5mm wire
May prove more cost effective to buy a range of values rather than individual values unless you already have them available. Some components may also have a MOL greater than the quantity specified in the component list.
No affiliation to any of the suppliers used in this project, feel free to use your preferred suppliers and substitute the elements were appropriate to your own preference or subject to supply.
Links valid at the time of publication.
2mm drill bit
3mm drill bit
6mm drill bit
7mm drill bit
Drill
Saw
Clamps
Ruler
Combination Square
Allen Keys
Pliers
Soldering Iron
Solder
Sanding paper
Know your tools and follow the recommended operational procedures and be sure to wear the appropriate PPE.
Principle
This project makes use of Photo Luminescence using paper layered with Strontium Aluminate which has a green glow although different mixes can result in different colours and persistence.
Once charged, light from the paper will continue to be emitted after the charging light has been remove. The charging light in this case comes from UVA LEDs.
The light emitted after charging is initially very bright but quickly decays to a lower intensity becoming further deminished over time, this persistance can last for several hours. if the paper is exposed multiple times in relatively quick succession then multiple ghost images will be present. Therefore, to minimise this effect a delay is applied between successive exposures.
Consequently, this project is best viewed in a low light environment.
Mechanics
UV LED's are used to illuminate luminous paper but require some means of moving the LED's over the paper to create the numbers.
This is achieved by using a single (x axis), leadscrew.
The leadscrew is directly driven by a DC motor which can rotate clockwise and anti-clockwise.
Fitted to the leadscrew is an arm and to this 8 LED's are attached to form one column.
Although 8 LED's are available to form characters, only 5 will be used at this time to retain compatibility with the Microbit display.
As the leadscrew rotates the arm moves across the paper pausing momentarily to turn on the required number of LED's this continues until all the required numbers are displayed.
The leadscrew supports the LED arm and is 3D printed.
Luminous Paper
The Luminous paper should be protected against creases, fingerprints or other damage which may affect the effect.
Hot laminating the sheet, makes it more robust, resists bending, fingerprints and makes it easy to clean too. Note subject to the type of sheet hot laminated may not be recommended, please check supplier recommendations first.
Once laminated a two hole paper punch was used to make holes, these two holes would line up with alignment pins on the base board holding the paper in place.
The paper is available in a number of colours.
Coding
The coding was carried out using Makecode for MicroBit.
The delay between time updates is controlled by that value of the passing parameter in the long_dly procedure.
On demand display is available simply by switching the unit on at which point it will auto home and display the current time.
Character Format
Each character is stored as an array element in a string of five 2 character decimal numbers, one number per column
When converted to binary the character is formed in a 5 x 5 matrix
Each array element from 0 to 9 corresponds to the numbers 0 to 9
0 = "1417211714" ... 9 = "0221130502"
Taking the "0" character for example.
Each number is formed of 5 columns of 5 digit binary with LSB at the top of the column and MSB at the bottom of the column. The sum of the weighting were the value in the colunm is one gives us our decimal column number.
Resulting in 5 decimal values per number.
.....c1 c2 c3 c4 c5 .......weighting
lsb .0.. 1 ..1 ..1 ..0 .....: 1
... ....1 ..0 ..0 ..0 ..1 .....: 2
.... ...1 ..0 ..1 ..0 ..1......: 4
..... ..1 ..0 ..0 ..0 ..1..... : 8
msb 0 ..1 ..1 ..1 ..0 ....: 16
dec 14 17 21 17 14
Reading back the time for example "12:45"
Separating the digits and ignoring the ":", gives us "1", "2", "4" and "5"
We identify the array element for the required number based on the number itself.
Array index 1 gives us the 5 digits [1818311616] for the number 1 which is converted in to a 5 x 5 matrix as described previously.
Once converted to binary each column digit is assigned to an LED, energising the paper when the binary digit is one.
Schematic
All elements are connected to the Robotics Board, this can control 4 motors and 8 servos and allows connection to MicroBit pins.
In this application only one motor will be used which will drive the leadscrew.
No servos will be used but instead these 8 outputs will be utilised to control 8 UV LED's
Hall sensors will be connected to the MicroBit on P1 and P2 for endstop detection. Both active low.
Buffer enable (active low), is on P8
Time setting is enabled and disabled with a switch connected to P0.
Button A is used to set the Hours and this is connected to an external switch connected to P5
Button B is used to set the Minutes and this is connected to an external switch connected to P11.
Some soldering is required for the IC buffer, Hall sensor circuits, pin headers on Microbit and LED board.
Short 100mm jumpers are used to connect the RTC and Micro USB breakout.
A combination of 185mm jumpers and custom leads are made for the longer cables runs to the Buffer Board, LED's, Hall sensors, switches and motor.
Hall Sensors
The Hall effect sensors are omnipolar, meaning they will respond to either magnetic polarity.
They are open collector output, meaning that a pull up resistor is required, in this case 2K2R.
The 100nF capacitor is for noise decoupling.
For ease of insertion or removal the sensor is screw fitted to a 3pin terminal block whilst the resistor, capacitor and flying leads are soldered to the pins.
When powered and in the abscence of a magnetic field the output is High when a magnetic field is detected the output goes Low.
Ensure that is sufficient cable length from the right hand motor support to the Robotics board.
LED Driver
The UV LED's are not driven directly by the microcontroller.
We will make use of the Robotics board which has 8 servo outputs allowing us to control each LED individually with PWM.
But due to low drive capability a buffer IC rated up to 7.8mA per output is used to drive the LED's from a 5V supply.
The IC is a Non Inverting Octal Buffer with TriState outputs. In this case the IC is mounted on a piece of stripboard in a IC socket.
Right angle pin headers are used to make the connections for inputs, outputs and power.
With one supply decoupling capacitor and a pull up resistor to pin 19. When this pin is low the outputs follow the inputs and when high the outputs are high impedance and disabled. This pin is driven by the microcontroller on P8
This board is fitted between the base boards either under the top board or on the base board at three fixing points.
The centres for the fixing holes are marked by a single cross in the corners on the stripboard, cuts are included to isolate the corner when using metal standoffs.
The holes are made with a 3mm drill and attached to the board on M3 x10mm standoffs.
LED Board
This board has the 8 UV LED's complete with 220R resistors and terminal posts to which the leads are attached.
The LED's are configured as common cathode and driven by the IC Buffer.
These are mounted on a piece of stripboard (4 strips x 30 holes), and fixed to the LED support with two M2 x 8mm screws.
3D Design
The elements to be 3D printed were designed using BlocksCAD.
The elements consist of a motor support, this supports the motor at the correct position.
The rail supports, these support the two glide rails and both centre and support the lead screw.
A motor/leadscrew coupling that links the motor spindle to the leadscrew.
Provision is made for a hex nut into which the leadscrew is inserted and a grub screw which tightens against the motor spindle flat.
A leadscrew bearing retainer, holds the leadscrew bearing and leadscrew at the extreme end.
The motor and rail supports are fitted with holes to secure them in place.
The motor support and one rail support are attached together forming one unit.
In addition to supporting the mechanical parts, provision is made for end sensors to prevent the LED arm hitting the end stops.
The LED arm is in two parts the rail rider and the arm, these are connected together at a pivot point, a tension spring and adjustment screw. This allows the arm to be adjusted to enable levelling compensation.
Elements are printed using PLA at 100% infill, layer height 0.15mm.
Leadscrew Cap
The leadscrew cap allows the tension on the bearing to be adjusted to reduce wobble.
Apply, glue to the external surface of the 10mm long M4 hex standoff and insert into the leadscrew cap, allow the glue to cure.
Motor Coupling
Into the side hole in the motor coupling carefully insert the M4 x 6mm grub screw and tighten.
A thread will be cut into the plastic as its tightened.
To prevent stripping the thread or possibly splitting the plastic, tighten half a turn than slacked by a quarter turn until the grub screw is visible in the motor spindle hole.
Apply, glue to the external surface of the 5mm long M4 hex standoff and insert into the motor coupling, allow the glue to cure.
Motor Support
Solder the Shim to the back of the motor to enable connections, in this case the shim uses a JST-ZH and the other end is connected to DuPont pins to fit in the screw terminals on the Robotics board for the motor.
The motor is a push fit into the motor support, although some filing may be required.
In the event that it does not fit snugly, a cap is included to hold it in place.
Once the motor is fitted the coupler can be attached as a push fit with additional security enabled by tightening the grub screw.
Align the flat of the motor coupling with the flat on the spindle and fit the motor coupling over the motor spindle.
There are four 3mm holes in the motor support .
Attached to these holes are 20mm hex standoffs held in place with M3 x 12mm bolts.
The rail support also with four 3mm holes is aligned to the hex standoffs and fixed with M3 x 12mm bolts.
LED Arm
The LED arm is propelled down the leadscrew by a nut, this nut fits into a retainer that fits into a slot in the body.
The retainer also has a hole which aligns with one of the glide rods
The retainer will require some sanding to ensure its a snug fit in the slot and that the nut and glide hole aligns with the main body to enable smooth transit of the LED arm.
If the retainer is too slack it behaves as a break impeding travel.
Check that the glide holes do not impede movement of the arm along the glide tubes by sliding it up and down each tube and if necessary run a 6mm drill or round file in the hole to remove high spots and improve travel.
Align the retainer ensuring the nut is positioned in line with the central hole and push home.
The support for the LED's is attached to the main body at the pivot point by two M3 x 12mm bolts and tensioned by a spring (between the arm and main body), fit the spring whilst pressing the arm and body together whilst fitting the pivot bolts. Clamping in a vice to compressing spring whilst fitting the pivot bolts will make the task easier.
Fit the level adjusting bolt at the back of the main body and tighten on a level surface such that the main body and LED support sit relatively flat. Further levelling can be performed once fitted to the glide rails.
Fit the LED's
In order to determine whether the arm has reached either end stop, ball magnets are affixed to the left and right hand sides with epoxy. These will trigger Hall effect sensors when in close proximity.
Ensure there is sufficient cable length from the arm to the driver board when the arm it at its maximum travel .
Glide Rails
The two glide rails are 30cm lengths of 6mm stainless steel tube, these are cut from longer lengths with a saw.
Use a v-block or vice with soft jaws to prevent deforming the tube.
Two 32cm lengths of 4mm diameter threaded rod are sawn.
Remove any burrs with a file or sanding paper.
Into each tube insert a length of threaded rod.
Leadscrew
Cut a 34cm length of threaded rod with the saw.
Use a vice with soft jaws to prevent deforming the thread or the rod.
Remove any burrs with a file or sanding paper.
Check if the leadscrew for deforned from sawing by rolling on a flat surface, resistance to rolling will indicate deformation.
The high points can be pressed out by supporting two points equidistant from the centre of the bend and carefully applying pressure to the high point. However, this becomes more difficult the further the bend is from the centre.
Ideally, try not to bend the leadscrew.
Base
The base is constructed from two Acrylic sheets 24cm (W) x 40cm (L) x 5mm (D).
These are placed one on top of each other separated by a 25mm gap, enabling wire runs and circuit boards to be placed out of sight.
The 25mm gap is maintained with M3 hex spacers, one in each of the corners and one in each of the long edges to prevent the board sagging.
The majority of the drill holes are 3mm with the exception of the RTC requiring 2mm holes, 6mm holes for cable runs and switches.
When drilling the holes it's recommened to clamp the two sheet together, this will save drilling the holes twice particularly for the corners and long edges which have screws top and bottom aligned with the pillars.
It also enables the elements to be fitted and removed without disassembling the base by using the holes to access the fixing screws from both the top and the bottom.
A slot is required to enable the Microbit to be inserted in the Robotics Board via the PinBetween.
The RTC, USB socket, Driver board and Robotics board are fitted between the base boards and therefore out of site.
X Axis Assembly
Feed the leadscrew through the central horizontal hole and through the nut.
Spin the arm down the thread about half way down.
Take the motor support and rail support asembly and into one of the 4mm holes insert a 31mm threaded rod with 5mm of rod visible on the other side and fit a washer and a nut on the thread.
Repeat the process with the other 4mm hole.
Slide both 6mm diameter tubes over the rods.
Slide the LED arm over the rods and down until it meets the motor coupling.
To the leadscrew at the end closest to the motor, fit a M4 nut such that 5mm of thread is visible and insert into the motor coupling, turn the rod until the nut meets the coupling and tighten the nut.
Align the 4mm holes of the other rail support over the threaded rods and with the leadscrew passing through the central hole, ensure the tubes are aligned with the depressions in the rail supports then fit washers and nuts to both and tighten.
Ensure the nuts at the other end are held in place and not allowed to spin while that other end is being tightened.
Do not overtighen the nuts as this may damage the rail support or deform the tubes.
Fit a flanged bearing over the leadscrew and push fit into the central hole.
Attach the leadscrew cap onto the leadscrew and tighten as close as possible to the bearing but not to impede smooth rotation of the leadscrew. Turn the leadscrew between your fingers to assess the tension, too tight will prevent movement and excessive tension will bow the glide rails and or leadscrew.
Place the X-Axis assembly on a flat surface to ensure that rail supports sit evenly at all four fixing points.
Check the glide rails are parrallel with a small spirit level.
If it does not sit flat, hold by the rail supports, one in each hand and rotate carefully in opposiing directions and recheck and repeat, adjusting the tension on the nuts and the leadscrew cap as required until level.
If everything is level fit to the base board and recheck.
The height of the Luminous paper in relation to the LED arm is adjusted by adding multiple sheets of A4 card directly beneath it. These too have holes punched to align vertically and fit on the two alignment pins. Add sheets to position the Luminous paper as close as possible to the LED arm and LED's without it touching.
Adjust the levelling screw if necessarily.
Operation
Before setting the clock ensure that the RTC has a battery fitted to retain the time when/if power is removed.
Setting the clock.
The default time format is 24 hour mode.
Move the switch to the set time position.
Press Button A (on the Microbit or H on the base board), for Hours. (0 to 24)
Press Button B (on the Microbit or M on the base board)for Minutes. (0 to 59)
Press Buttons A & B together to set the time.
Move the switch from the set position.
At switch on or after setting.
If the clock has been previously set, it will auto home unless it is in the home position already.
The time will be displayed on the Microbit.
After the time is displayed the character column indicator is illuminated for columns 1 to 5 in turn for each character.
For each column indicator illuminated the LED arm will move to the right.
The first character position is effectively a space before the time is displayed.
The time is displayed as four numeric characters in a dot matrix 5 x 5 format.
The LED arm will move one column space and stop at which point for each column of a character the appropriate LED's will be turned on, energising the paper causing it to glow.
This will be repeated until all four characters are displayed.
After the required wait time the LED arm will return to the home position prior to updating the time.
If the Microbit displays a "X" this indicates a homing error which may be related to one or both of the end stop sensors.
If such a condition occurs it will disable the leadscrew motor.
Positioning
Due to the Photo Luminescent effect viewing in a subdued light is recommended.
Mounted in a location out of direct sunlight.
It can be laid flat on a table, vertically on end or wall mounted.
Finally
Tha's it for now until the next time.
Hope you found this of interest.