Skip to content

iz2k/flip-clock

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

71 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Flip-Clock

The Flip-Clock is an old stylish, classic alarm clock with up to date features, such as automatic time adjustment, weather forecast, FM radio or Spotify playback. The device consists of three 3D printed flip digits, a PCB with integrated drivers for the digit controlling stepper motors and a Raspberry Pi 3 A+ with 3W speakers to run the main code.

All the mechanics and electronics are mounted within an 3D printed elegant cover. Additionally, a snoozer bar, two rotary encoders and a RGBW LED strip are included for the user interface.

front right
left back

Find additional info about each design in:

Flip-Clock in action

Parts

3D printed flip digits

Each flip digit consists of a support structure with two bearings. The axle is placed inside the bearings holding two flap holders. All the flaps are mounted within those holders. The movement of the digit is achieved with a stepper motor and two gears. An IR transmitter and an IR receiver are palced on the top and on the bottom of the flaps to detect transitions. Additionally, a limit switch is placed close to the gears to synchronize with it each turn.

Subparts

  1. Support structure
  2. Bearings (623-2RS)
  3. Axle
  4. Flap holders
  5. Flaps
  6. Gears
  7. Stepper motor (28BYJ-48)
  8. IR transmitter (IR diode)
  9. IR receiver (IR photodiode)
  10. Limit switch (CLW1093)

FlipDigitController PCB

The FlipDigitController PCB includes a microcontroller and drivers to control the stepper motors. Additionally, the PCB also handles the IR transmitter and receiver to detect flap transitions and the limit switch for automatic synchronization of the axle. The PCB has an UART interface for the abstraction layer protocol.

The current version of the PCB can handle up to two flip digits at the same time. For the FlipClock device two units of the PCB have been used: one to control hours and minutes flaps, and another one to control weather flaps.

Block diagram Layout

Subparts

  1. MSP430FR2433 MCU
  2. INA333 comparators
  3. ULN2003A drivers

3D printed cover

Subparts

  1. 3D printed top cover
  2. 3D printed bottom cover
  3. 3D printed front cover
  4. 3D printed back cover

Rotary encoders

For the user interface two rotary encoders have been used. The used encoders can detect steps in both directions, and include a built-in switch. One of the encoders is used to control the volume (up/down/mute), whereas the other encoder controls the audio device (FM Radio/Spotify/OFF)

Wheels Encoders
image image

Subparts

  1. 3D printed volume wheel
  2. 3D printed control wheel
  3. TT EN11-HSM1AF15 Rotary Encoders

Snooze bar

A snooze bar is included on top of the FlipClock device. This bar can be used to trigger the nightlight by default, or to stop/snooze the alarm when it has been triggered. Tactile switches are placed under the bar to detect when it is pressed.

Bar Switch
bar switch

Subparts

  1. 3D printed snooze bar
  2. EVQ-Q2S03W tactile switches

NeoPixel RGBW Stick

Two NeoPixel RGBW LED sticks have been included in the front of the FlipClock in order to provide nightlight and light-sign functions to the device.

neopixel

Subparts

  1. NeoPixel RGBW Stick

3W Speakers

image

Subparts

  1. Stereo Enclosed Speaker Set - 3W 4 Ohm

FM radio tunner (RTL-SDR)

RTL-SDR dongle FM antenna
image image

Subparts

  1. RTL-SDR dongle
  2. FM antenna

Raspberry Pi 3 A+

Raspberry Pi 3 Model A+ Adafruit I2S 3W Stereo Speaker Bonnet
image image

Subparts

  1. RPI3 A+
  2. Adafruit I2S 3W Stereo Speaker Bonnet

Power Supply

Power Supply Module PSM Housing
image image

Subparts

  1. PS-05-5 power supply module
  2. 3D printed housing

Wiring

The correct wiring to connect the different electronics is as follows:

PSM connection:

Subpart PIN PIN Subpart
RPI3 5V 5V PSM
RPI3 GND GND PSM

NeoPixel connection:

Subpart PIN PIN Subpart
NeoPixel DIN MOSI RPI3
NeoPixel 5VDC 5V RPI3
NeoPixel GND GND RPI3

Snooze Bar connection:

Subpart PIN PIN Subpart
Snooze Bar SW0 GPIO 4 RPI3
Snooze Bar SW1 GPIO 17 RPI3

Volume Encoder1 connection:

Subpart PIN PIN Subpart
Volume Encoder SW0 GPIO 24 RPI3
Volume Encoder SW1 GPIO 25 RPI3
Volume Encoder ROT0 GPIO 27 RPI3
Volume Encoder ROT1 GPIO 23 RPI3
Volume Encoder GND GPIO 22 RPI3

Control Encoder1 connection:

Subpart PIN PIN Subpart
Control Encoder SW0 GPIO 5 RPI3
Control Encoder SW1 GPIO 6 RPI3
Control Encoder ROT0 GPIO 12 RPI3
Control Encoder ROT1 GPIO 16 RPI3
Control Encoder GND GPIO 13 RPI3

Flip-Clock-Controller PCB:

Subpart PIN PIN Subpart
RPI3 3.3V 3.3V Flip-Clock-Controller PCB 1 (HHMM)
RPI3 3.3V 3.3V Flip-Clock-Controller PCB 2 (WW)
RPI3 TX RX Flip-Clock-Controller PCB 1 (HHMM)
Flip-Clock-Controller PCB 1 (HHMM) TX RX Flip-Clock-Controller PCB 2 (WW)
Flip-Clock-Controller PCB 2 (WW) TX RX RPI3

1: For ease of connectivity, all pins of rotary encoders are routed to GPIOs. These GPIOs will be configured as required with pull resistors or fixed voltages via software.