Lissajous Clock

Displaying the time using Lissajous figures to represent the numbers.

Similar projects worth following
This project displays the time using Lissajous figures on a (320 x 240) IPC LCD, two figures for hours and two figures for minutes and the seconds as a progress line.

Using a Raspberry Pi Pico (Pico Lip 4MB), programmed in MicoPython V1.18

Time is set with a rotary encoder with the time maintained by an RTC (RV3028).

This is all contained within a wooden and Acrylic enclosure with brass accents in the form of a Mantel/Carriage clock complete with handle.

In addition to displaying the time in a different way the wooden enclosure is hand made from two short length of decking planks which are sandwiched together and then hollowed out to house the electronics this is then finished with Acrylic and brass.

Knowing that different Lissajous figures can be created by varying the input frequency with respect to a reference frequency. Its only a small step to realizing these figures in terms of numbers if we represent the number by the number of lobes in a Lissajous figure. By lobes this being the area bounded by the two peaks vertically aligned either side of the X-axis.

The numbers to be represented will be decimal values from 0 to 9.

From there we can create all the numbers required to indicate the time in 24H format

The numeric layout is somewhat dictated by components being used on this project.

This being the resolution and physical size of the display. (320 x 240 at 2 inches).

The screen is organised as 4 equal sized quadrants.

The top row represents the hours reading from left to right, tens then units.

The bottom row represents the minutes reading from left to right, tens then units.

The physical layout is arranged in the following manner.

1: Display Area

Shows the time as Lissajous figures.

Seconds are indicated by a line that increases in length from left to right horizontally.

The buttons on the display PCB are programmed to function enabling time setting only if the Mode switch is set, negating accidental setting.

A - Hours, X - Minutes and B - Set

However, due to the small size of the buttons, larger easier controls were fitted.

Additionally, the display is fitted behind a clear Acrylic screen for protection making the buttons inaccessible.

2: Sounder

Indicates hour intervals.

3; Controls

A simple mode selection switch which will enable or disable time adjustment.

A rotary encoder with colour mode indication, blue - adjust mode selected, green - time set.

Time is adjusted by rotating the knob forward or backwards changing minutes and hours through the 24 cycle.

A simple momentary push button that will program the time set when pressed.

Everything is mounted to the front panel to keep it compact.


Lissajous clock schematic

Portable Network Graphics (PNG) - 54.38 kB - 07/02/2022 at 17:10


  • 1 × Microcontroller Raspberry Pi Pico (Lipo 4MB)
  • 1 × Real Time Clock RV3028
  • 1 × Rotary Encoder RGB Encoder Breakout
  • 1 × Development Board Pico Omnibus Dual Expnader
  • 1 × Switch1 Momentary SPST

View all 7 components

  • 1
    Panel Assembly

    Much of the panel and enclosure are bespoke being hand made and need to be made prior to assembly.

    Place the brass display frame over the display protector and align with the corner holes.

    Align with the corner holes on the panel.

    Insert two M2 bolts in the lower corners of the display frame and protector combination and secure.

    Place the display into the cavity at the back of the panel and secure with the flat clamp held in place by two M2 bolts in the upper two corners.

    Fit the Pico support board in place and secure with four M2 bolts.

    Plug the Pico into the Dual Expander in the centre DIL socket.

    Place the Dual expander on the Pico support aligned such that the USB-C socket is pointing downwards.

    Fit the two flat clamps over the Dual expander and secure to the M2 bolts.

    Solder a 5 pin right angle SIL to the rotary encoder and fit 5 socket to socket jumpers.

    Feed the jumper wires between the DIL socket under the Pico.

    Push the rotary encoder througn the central hole for the panel controls and secure in place.

    Connect SDA to GP2, SCL to GP3, 3-5V to VS and GND to 0V.

    Insert the rotary switch and the push button switch in to the remaining holes and secure in place.

    Fit the brass plate over the control spindles and secure in place with four M2 bolts.

    To the push button solder two, pin to socket jumpers.

    Connect one pin to GP5 and the other pin to VS

    To the rotary switch solder two, pin to socket jumpers.

    Connect the NO pin to GP4 and the COM pin to VS.

    Attach the RTC, SDA to GP0, SCL to GP1, 3-5V to VS and GND to 0V.

    Be sure to fit a backup battery.

    Connect the Interposer with the socket to Deck 2 of the Dual Expander.

    Connect the interposer with the pins to the display.

    Connect between the two interposers using 16 socket to socket jumpers as per the schematic.

  • 2

    The enclosure is made from a piece of decking plank which is cut to create two equal size pieces of 120mm(W) x 180mm(L) x 24mm(D). I wanted to create a block box but did not have a solid block and therefore used two pieces sandwiched together.

    The cavity is 134mm(H) x 80mm(W) and the full depth of the sandwich.

    The two pieces are held together with clamps during the cutting process.

    The inner was removed by cutting into the perimeter of the dimensions using a oscillating multitool.

    The decking plank has a distincly deep grooved pattern but wanting more smooth lines, this required sanding the front and back of the enclosure such that the groove depressions were less than 1mm from a maximum of 4mm.

    Once the inner has been removed the pieces are permanently held in place by M4 bolts these are held by four inset nuts fitted at the back of the enclosure.

    Drill four 5mm holes 17mm in from the edge at the back and 6mm above the top edge of the cutout and 6mm below the bottom edge of the cutout.

    Provision is made for a transparent acrylic window on the back and this requires two 4mm insert nuts fitting at the back on the central line and midway between the enclosure fixings.

    A cut out is filed below the bottom centre Allen bolt to accomodate the USB lead.

    The top and bottom of the enclosure is capped with black Acrylic sheets, these are both 140mm(L) x 65mm(W) X 5mm(H).

    The base plate has four 4mm holes drilled, two in the centre of each end of the two halves of the sandwich.

    Along a centre line on each half of the sandwich 39mm in from each side two 4mm holes are drill.

    This is then repeated on the other half of the sandwich.

    25mm M4 self tapping screws are used to hold the base in place.

    Four non slip stick on feet are attached at the corners of the base plate for stability.

    The top plate has four 4mm holes drilled, two in each corner of each end of the two halves of the sandwich.

    Along a centre line on each half of the sandwich 20mm in from each side two 4mm holes are drill.

    This is then repeated on the other half of the sandwich.

    These holes are used as a template to mark the top of the enclosure and using a 5mm drill bit make the hole to accomodate the M4 insert nuts.

    Fit the insert nuts into the holes and tighten with a 4mm Allen key.

    Along the longitudinal centre line of the top plate drill two holes to accomodate the handle and fit and secure with screws.

    The top plate is held in place with four 25mm M4 bolts, screwed into the insert nuts.

View all instructions

Enjoy this project?



uk4dshouse wrote 07/17/2022 at 14:16 point

Thanks, glad you like it.

  Are you sure? yes | no

Edgar Kogler wrote 07/14/2022 at 10:17 point

Really great! I like such an idea, combining elements of different scientific disciplines to a witty gadget !

  Are you sure? yes | no

Does this project spark your interest?

Become a member to follow this project and never miss any updates