BBC micro:bit
Ultimate Clock Project

Introduction

Whilst most Year 9 students worked their way through simpler tasks, Will needed a challenge. The brief that follows is the task I set for him - and which he completed in full without assistance.

Requirements

A prototype for a fully functional micro:bit clock with,

  1. Time signals should be received from an RTC and should be shown to the nearest minute.
  2. The time, date and day of the week should be shown on the LED matrix of one or two micro:bits. (David Whale has designed a font for this purpose - Whaley Sans)
  3. A buzzer and Neopixel should be used as alarms and indicators. There should be a green light indicating that the project is powered. The light should change to indicate different modes (eg setting time and date, viewing the date, the alarm sounding).
  4. Buttons should be used as inputs for setting the time, these can be the built-in buttons or external ones (eg LED buttons). External buttons attached to the button pins (5,11) do not need pull-up or pull-down resistors. LED buttons do need resistors for the LEDs.
  5. Add any additional desirable features (eg like the ability to set a short term alarm quickly using multiples of 5 minutes).

Design

Before embarking on the project, work out the stages of development that make most sense and make a list of them. For example, developing the code to display 2 digits on a single micro:bit makes sense as single stage. That stage might lead to developing the logic for using the radio to display 4 digits across 2 micro:bits.

Implementation

Develop each part of the project separately. Save the code with any comments and record in a suitably structured Word document. Use screenshots and/or photographs to demonstrate the functionality of the code and to record any key points that need to be remembered later.

Finished Prototype

Make sure that a code listing and description is included for the finished prototype.

Extension

With a finished project, turn your mind to the packaging. Design a suitable laser-cutting file for an enclosure (4-sided, held together with bolts and standoffs). Use a Pimoroni Pin:bit as the edge connector for the project. Consider the battery requirements too.