Silicon ChipCompact OLED Clock/Timer - September 2024 SILICON CHIP
  1. Outer Front Cover
  2. Contents
  3. Publisher's Letter: Intel is in trouble
  4. Product Showcase
  5. Subscriptions
  6. Feature: Energy Harvesting by Dr David Maddison, VK3DSM
  7. Review: Exteek C28 transmitter/receiver by Allan Linton-Smith
  8. Project: Compact OLED Clock/Timer by Tim Blythman
  9. Feature: Mains Earthing Systems by Brandon Speedie
  10. Project: Pico Mixed-Signal Analyser (PicoMSA) by Richard Palmer
  11. Project: IR Helper by Tim Blythman
  12. Project: No-IC Colour Shifter by Tim Blythman
  13. Feature: Electronics Manufacturing in Oz Part 2 by Kevin Poulter
  14. Project: Discrete Ideal Bridge Rectifiers by Phil Prosser & Ian Ashford
  15. Project: Electric Guitar Pickguards by Brandon Speedie
  16. Serviceman's Log: Turning to the dark side by Dave Thompson
  17. Vintage Radio: Stromberg-Carlson “Air Hostess” model 4A19 by Associate Professor Graham Parslow
  18. PartShop
  19. Market Centre
  20. Advertising Index
  21. Notes & Errata: 180-230V DC Motor Speed Controller, July-August 2024
  22. Outer Back Cover

This is only a preview of the September 2024 issue of Silicon Chip.

You can view 42 of the 112 pages in the full issue, including the advertisments.

For full access, purchase the issue for $10.00 or subscribe for access to the latest issues.

Items relevant to "Compact OLED Clock/Timer":
  • Compact OLED Clock & Timer PCB [19101231] (AUD $5.00)
  • PIC16F18146-I/SO programmed for the Compact OLED Clock & Timer [1910123A.HEX] (Programmed Microcontroller, AUD $10.00)
  • Short-form kit for the Compact OLED Clock & Timer (Component, AUD $45.00)
  • Firmware (C and HEX) files for the Compact OLED Clock/Timer [0910123A.HEX] (Software, Free)
  • Compact OLED Clock & Timer PCB pattern (PDF download) [19101231] (Free)
Items relevant to "Pico Mixed-Signal Analyser (PicoMSA)":
  • PicoMSA PCB [04109241] (AUD $7.50)
  • Firmware for the PicoMSA (Software, Free)
  • PicoMSA PCB pattern (PDF download) [04109241] (Free)
  • PicoMSA lid panel artwork and drilling diagrams (Free)
Items relevant to "IR Helper":
  • Firmware for JMP010 - IR Helper (Software, Free)
Articles in this series:
  • Wired Infrared Remote Extender (May 2024)
  • Symbol USB Keyboard (May 2024)
  • Wired Infrared Remote Extender (May 2024)
  • Thermal Fan Controller (May 2024)
  • Symbol USB Keyboard (May 2024)
  • Thermal Fan Controller (May 2024)
  • Self Toggling Relay (June 2024)
  • Self Toggling Relay (June 2024)
  • Arduino Clap Light (June 2024)
  • Arduino Clap Light (June 2024)
  • Lava Lamp Display (July 2024)
  • Digital Compass (July 2024)
  • Digital Compass (July 2024)
  • Lava Lamp Display (July 2024)
  • JMP009 - Stroboscope and Tachometer (August 2024)
  • JMP007 - Ultrasonic Garage Door Notifier (August 2024)
  • JMP009 - Stroboscope and Tachometer (August 2024)
  • JMP007 - Ultrasonic Garage Door Notifier (August 2024)
  • IR Helper (September 2024)
  • IR Helper (September 2024)
  • No-IC Colour Shifter (September 2024)
  • No-IC Colour Shifter (September 2024)
  • JMP012 - WiFi Relay Remote Control (October 2024)
  • JMP012 - WiFi Relay Remote Control (October 2024)
  • JMP015 - Analog Servo Gauge (October 2024)
  • JMP015 - Analog Servo Gauge (October 2024)
  • JMP013 - Digital spirit level (November 2024)
  • JMP013 - Digital spirit level (November 2024)
  • JMP014 - Analog pace clock & stopwatch (November 2024)
  • JMP014 - Analog pace clock & stopwatch (November 2024)
  • WiFi weather logger (December 2024)
  • Automatic night light (December 2024)
  • WiFi weather logger (December 2024)
  • Automatic night light (December 2024)
  • BIG LED clock (January 2025)
  • Gesture-controlled USB lamp (January 2025)
  • Gesture-controlled USB lamp (January 2025)
  • BIG LED clock (January 2025)
  • Transistor tester (February 2025)
  • Wireless flashing LEDs (February 2025)
  • Transistor tester (February 2025)
  • Wireless flashing LEDs (February 2025)
  • Continuity Tester (March 2025)
  • RF Remote Receiver (March 2025)
  • Continuity Tester (March 2025)
  • RF Remote Receiver (March 2025)
  • Discrete 555 timer (April 2025)
  • Weather monitor (April 2025)
  • Discrete 555 timer (April 2025)
  • Weather monitor (April 2025)
Articles in this series:
  • Wired Infrared Remote Extender (May 2024)
  • Symbol USB Keyboard (May 2024)
  • Wired Infrared Remote Extender (May 2024)
  • Thermal Fan Controller (May 2024)
  • Symbol USB Keyboard (May 2024)
  • Thermal Fan Controller (May 2024)
  • Self Toggling Relay (June 2024)
  • Self Toggling Relay (June 2024)
  • Arduino Clap Light (June 2024)
  • Arduino Clap Light (June 2024)
  • Lava Lamp Display (July 2024)
  • Digital Compass (July 2024)
  • Digital Compass (July 2024)
  • Lava Lamp Display (July 2024)
  • JMP009 - Stroboscope and Tachometer (August 2024)
  • JMP007 - Ultrasonic Garage Door Notifier (August 2024)
  • JMP009 - Stroboscope and Tachometer (August 2024)
  • JMP007 - Ultrasonic Garage Door Notifier (August 2024)
  • IR Helper (September 2024)
  • IR Helper (September 2024)
  • No-IC Colour Shifter (September 2024)
  • No-IC Colour Shifter (September 2024)
  • JMP012 - WiFi Relay Remote Control (October 2024)
  • JMP012 - WiFi Relay Remote Control (October 2024)
  • JMP015 - Analog Servo Gauge (October 2024)
  • JMP015 - Analog Servo Gauge (October 2024)
  • JMP013 - Digital spirit level (November 2024)
  • JMP013 - Digital spirit level (November 2024)
  • JMP014 - Analog pace clock & stopwatch (November 2024)
  • JMP014 - Analog pace clock & stopwatch (November 2024)
  • WiFi weather logger (December 2024)
  • Automatic night light (December 2024)
  • WiFi weather logger (December 2024)
  • Automatic night light (December 2024)
  • BIG LED clock (January 2025)
  • Gesture-controlled USB lamp (January 2025)
  • Gesture-controlled USB lamp (January 2025)
  • BIG LED clock (January 2025)
  • Transistor tester (February 2025)
  • Wireless flashing LEDs (February 2025)
  • Transistor tester (February 2025)
  • Wireless flashing LEDs (February 2025)
  • Continuity Tester (March 2025)
  • RF Remote Receiver (March 2025)
  • Continuity Tester (March 2025)
  • RF Remote Receiver (March 2025)
  • Discrete 555 timer (April 2025)
  • Weather monitor (April 2025)
  • Discrete 555 timer (April 2025)
  • Weather monitor (April 2025)
Articles in this series:
  • Electronics Manufacturing in Oz Part 1 (August 2024)
  • Electronics Manufacturing in Oz Part 1 (August 2024)
  • Electronics Manufacturing in Oz Part 2 (September 2024)
  • Electronics Manufacturing in Oz Part 2 (September 2024)
Items relevant to "Discrete Ideal Bridge Rectifiers":
  • Discrete Ideal Bridge Rectifier TH PCB [18108241] (AUD $5.00)
  • Discrete Ideal Bridge Rectifier SMD PCB [18108242] (AUD $2.50)
  • Discrete Ideal Bridge Rectifier all-TH kit (Component, AUD $30.00)
  • Discrete Ideal Bridge Rectifier SMD kit (Component, AUD $27.50)
  • Discrete Ideal Bridge Rectifier PCB patterns (PDF download) [18108241-2] (Free)
Items relevant to "Electric Guitar Pickguards":
  • Guitar Pickguard - Jazz Bass [23109241] (PCB, AUD $10.00)
  • Guitar Pickguard - J&D T-Style Bass [23109242] (PCB, AUD $10.00)
  • Guitar Pickguard - Music Man Stingray Bass [23109243] (PCB, AUD $10.00)
  • Guitar Pickguard - Fender Telecaster [23109244] (PCB, AUD $5.00)
  • Guitar Pickguard PCB patterns (PDF download) [23109241-4] (Free)

Purchase a printed copy of this issue for $12.50.

PROJECT BY TIM BLYTHMAN This handy, portable, rechargeable device combines a clock, timer and stopwatch and can display different time zones. It has an internal crystal and incorporates a WiFi time source, so it is always accurate, even if a leap second occurs. COMPACT OLED CLOCK/TIMER Y OU MIGHT THINK THAT WHAT THIS CLOCK/TIMER does could easily be done by an app on a smartphone, and you are probably right. The March 2018 Editorial Viewpoint (siliconchip. au/Article/10990) discusses how so many projects could be ‘just an app’. However, there is a good reason to make the Clock/Timer a separate device. My wife runs a business where she needs to keep track of time spent with clients. Using a phone app to do that tends to drain the phone’s battery and makes it difficult to use the phone for other purposes. So, a separate device that can keep track of time has its place. The Compact OLED Clock and Timer also makes it easier to keep track of time in different time zones. This is another handy feature if you arrange appointment times with people in different locations. It has an alarm feature that is tied to a ‘home’ timezone. This means that if you are travelling, you can be alerted each day at the same time in that zone, even if you are using the Clock to see the local time in a different time zone. This feature is notably absent from most clock apps. There are countdown timer and stopwatch functions that can work in the background. For example, you can set the countdown timer running and then switch to the clock or stopwatch. The timer will still alert you when it is finished. Internally, time is kept by a watch crystal. An integrated WiFi time source is also used to keep the time updated OLED Clock & Timer Features & Specifications » » » » » » » » » » » » 32 Clock with multiple time zones Automatic daylight saving adjustments Alarm with day and repeat options Countdown timer up to 99 hours Stopwatch up to 99 hours Rechargeable 600mAh battery Battery charging and status display OLED screen with adaptive brightness Resolution: one second Crystal timekeeping backed by integrated WiFi time source Current draw: 15-20mA during operation, 5mA with screen off Current draw during WiFi operation: up to 80mA (typically for 30s per day) Silicon Chip Australia's electronics magazine and trim out any crystal errors. Time is kept to the nearest second, so you should never be more than a few seconds out. Compact case Readers who remember the Pico Audio Analyser project from November 2023 (siliconchip.au/Article/16011) will see that the Clock bears a striking similarity. It uses the same case, a UB5 Jiffy box, and the same user interface with a small OLED screen and four pushbuttons. We think this size and shape work well for a clock. The box can sit on its edge with the display clearly visible, but it is also unobtrusive. While the form factor is similar, this design uses a different processor from the Pico Audio Analyser, and the circuitry is quite different. Circuit details The complete circuit diagram of the Clock/Timer is shown in Fig.1. Instead of a Pico microcontroller board, it is controlled by a PIC16F18146 microcontroller (IC1). Since this IC is capable of low-current operation, we can dispense with the complexity of providing an on/off switch. Microcontroller IC1, in combination with 32768Hz crystal and its two 4.7pF load capacitors, is responsible for timekeeping. IC1’s oscillator can remain operating even when it is in deep sleep power-saving mode so that siliconchip.com.au Fig.1: microcontroller IC1 keeps time with crystal X1 and displays it on OLED screen MOD1 by updating it over an I2C serial bus. IC1 can also control the power supply to all other components, keeping the idle current low. The battery is kept charged by IC2, which also drives LED1 to display the charge status. it continues to keep track of the passage of time. IC1 also drives OLED screen MOD1 via an I2C serial bus to update the display. The display’s power supply comes from digital output RB4 of IC1 (pin 13), so it is powered down when not in use by pulling that pin low or powered by bringing it high. The I2C bus pullup resistors are on MOD1; IC1 uses ‘bit-banging’ to drive SDA and SCL since high-speed data transmission is not required. MOD2 is a Raspberry Pi Pico W board programmed as a WiFi time source with an NMEA output compatible with GPS modules. We previously described how that works (June 2023; siliconchip.au/Article/15823). Important to the operation of the circuit is that the Pico W has a schottky diode between its VBUS pin, pin 40 (anode) and its VSYS pin, pin 39 (cathode). This diode feeds microcontroller siliconchip.com.au IC1 when USB power is available since it will supply a higher voltage than the battery via schottky diode D1. This arrangement removes the load from the battery while it is charging, allowing it to charge fully. The remainder of IC1’s various I/O pins manage the clock functions and user interface. A 10kW resistor pulls up IC1’s reset pin 4 to allow normal operation, except when a programmer is connected at optional ICSP (in-circuit serial programming) header CON2. Four tactile pushbuttons, S1-S4, connect to pins 8, 16, 12 and 11 of IC1. These pins are set to have internal pullup currents, so the closure of the pushbuttons can be detected when the pin is pulled to ground. Pin 17 is connected to piezo transducer SPK1 to create alarm sounds. Pin 13 of IC1 also powers a divider formed by the 1MW resistor and LDR1. The 100nF capacitor smooths the resultant voltage and provides a Australia's electronics magazine low-impedance input to IC1’s ADC (analog-to-digital converter), sampled at pin 10 to measure the ambient light level. Pin 9 connects to the 3V_EN pin of MOD2. When this is pulled low by IC1, the 3.3V regulator on the Pico W is disabled and MOD2 is shut down. If it is allowed to float, it is weakly pulled up by the Pico W so it can operate. IC1 can thus choose to enable the time source only when needed. The NMEA data stream from pin 1 on MOD2 is fed to pin 5 of IC1 via a 10kW resistor. Software running on IC1 decodes this data, including the time the time source has obtained via NTP. By comparing an internal 2.048V reference to its supply voltage, IC1 can also monitor the battery level or note that USB power is being supplied. IC1 can shut down all of the surrounding circuitry by bringing its pins 9 and 13 low. The normal operating current draw is dominated by September 2024  33 Screen 1: the initial screen; if you see the “NO DATA” message for more than a few seconds, check that the WiFi time source’s LED is on or flashing. Once the time has been acquired, check that IC1 has shut it down. The battery life will be severely affected if the Pico W does not shut down. Screen 2: this will briefly appear to show that the time has been updated. The Clock/Timer can be powered from the Pico W’s USB socket, allowing you also to use the time source’s USB interface for debugging. The 5V lines of the sockets are joined, so don’t plug into both simultaneously. Screen 3: the Clock mode display. The default time zone is Sydney (the same as Melbourne, Canberra and Hobart). To access the settings, press and hold the MODE button until SETTINGS appears on the screen. All settings are kept in EEPROM and generally take effect immediately. the OLED module, except for the brief periods when MOD2 is enabled. Mini Type-B USB socket CON1 provides 5V power to the circuit. It goes directly to IC2, an MCP73831 Li-ion battery charging IC. 10μF bypass/filter capacitors are provided for its input and output, while the 10kW resistor on its PROG pin sets the battery charge current to 100mA. The battery is connected to the BAT+ and BAT− pads. IC2 also provides a status indication at its STAT pin. Bicolour LED1 connects between the STAT pin and a pair of 1kW resistors between the 5V rail and ground. The STAT pin is low during charging and the red LED is driven. When charging is complete, the STAT pin goes high, allowing the green LED to light. When 5V power is unavailable, the STAT pin is high-impedance and LED1 does not light. The power from the battery feeds IC1 via schottky diode D1. IC1 is powered at pins 1 and 20, with the standard 100nF bypass capacitor across them. copper layer and solder mask to create an outline resembling a battery icon. Unlike the Analyser, we have designed the front panel PCB to sit over the edge of the enclosure rather than recess into it. This makes the Clock slightly deeper, giving more room for the battery and other components. While we generally use USB-C sockets for power these days, we have stuck with a mini Type-B USB socket here to save a little more space; the USB-C sockets require two extra resistors to communicate the role of the device. The various headers connect via surface-­ m ounting pads, allowing wires to connect to devices in the space behind the PCB. The battery and speaker are both on flying leads to allow this. Parts List – OLED Clock and Timer We’ve crammed an awful lot into a small enclosure, so we’ve opted for some creative assembly options. Readers familiar with the Pico Audio Analyser will recall the arrangement of the pushbuttons and OLED display, which are reverse-mounted to protrude or show through the PCB that also forms the enclosure’s front panel. The LDR peeks through a hole in the front of the case too, while the LED shines through the PCB substrate from the back of the panel. We’ve used the 1 double-sided PCB coded 19101231, 83 × 53mm 1 UB5 Jiffy box (83 × 53 × 30mm) – translucent blue recommended 1 single AA cell holder with flying leads 1 14500 (AA-sized) Li-ion rechargeable cell with nipple (LiFePO4 type recommended) 1 1.3-inch (33mm) OLED module (MOD1) [Silicon Chip SC5026 or SC6511] 1 Raspberry Pi Pico W programmed as WiFi Time Source for GPS Clocks (MOD2) [Firmware: siliconchip.com.au/Shop/6/188] 4 reverse-mount SMD tactile switches (S1-S4) [Adafruit 5410] 1 SMD mini-USB socket (CON1) 1 5-pin male header, 2.54mm pitch (CON2; optional, for ICSP) 2 4-pin male headers, 2.54mm pitch (for MOD2) 1 single-pin header (for MOD2) 1 100kW (light) to 10MW (dark) 5mm LDR (LDR1) [Jaycar RD3480] 1 32768Hz watch crystal (X1) 1 passive piezo element (SPK1) [Digi-Key 433-PT-1306T-ND] 1 small tube of neutral-cure silicone sealant or similar 4 small self-adhesive rubber feet (optional) Semiconductors 1 PIC16F18146-I/SO microcontroller programmed with 1910123A.HEX, SOIC-20 (IC1) 1 MCP73831-2ACI/OT Lithium battery charge regulator, SOT-23-5 (IC2) 1 SS34 40V 3A schottky diode, DO-214 (D1) 1 bi-colour red/green 3mm LED (LED1) Capacitors (all M3216/1206 size, X7R ceramic unless noted) 2 10μF 2 100nF 2 4.7pF C0G (to suit crystal X1) Resistors (all M3216/1206 size, 1% ⅛W) 1 1MW 3 10kW 2 1kW 34 Short-form kit (SC6979; $45): includes all parts except the case & Li-ion cell PCB arrangement Silicon Chip Screen 4: the OK button will cycle through the available fonts used for all large time displays. The UP and DOWN buttons trim the horizontal position of the display. Adjust the position until the box characters in both lower corners look the same as the one between the arrows. Screen 5: MODE cycles between the SETTINGS pages. GPS refers to the time source; its maximum runtime can be set on this page. You can manually trigger a time update with the OK button. The TRIM value is zero initially but will update as the timekeeping is adjusted daily. Screen 6: test tones are played while this screen is showing. Press OK to toggle between the alarm clock tone and the countdown tone, then use the UP and DOWN buttons to choose which tone to use for each. If you don’t hear a tone, there may be a problem with your piezo speaker. The Pico W only needs connections on a handful of its pins; it is mounted behind the OLED module. The design of the time source puts all of its active pins at one end, which helps everything fit into the case. reprogramming the Pico W or changing the WiFi time source settings. With a small amount of flash memory spare in the chip, we have added alternative fonts to provide some novelty to the main timekeeping display. There are also six different alarm tones, so you can choose your preferred alert sounds for the clock alarm and countdown timer. These sounds are provided by combining a PWM signal with a UART (serial data) signal through the CLC peripheral. The rise and fall of the serial data modulates the signal, giving different tone patterns. Once the pattern is activated, it plays with no further processor input. The details of the software operation and user interfaces will be discussed later. you have the right gear. Our PIC Programming Adaptor from September 2023 (siliconchip.au/Article/15943) has examples of SMD-to-DIP adaptors that can be used to do this. Otherwise, you will have to make a temporary connection to the CON2 ICSP header after the chip is installed. You can see a header in some of our photos; this is what we fitted to CON2 to help with repeated programming during software development. Programming the Pico W module can be easily done before or after soldering it. Simply connect it to a computer using a standard USB cable. See the panel on setting up the WiFi time source for more details. Software The watch crystal is used by a timer on IC1 to generate an interrupt once every second, making accurate timekeeping a priority. Every second, the clock is advanced; if the timer or stopwatch is active, they are also updated. It keeps track of time internally as UTC (universal coordinated time) and calculates offsets based on the time zone and daylight saving status. All the Australian and New Zealand time zones are inbuilt; it also has a custom timezone that can be set to any time zone that is a multiple of 15 minutes from UTC (we aren’t aware of any that are not). The clock can display the current time in any of the time zones by selecting them. A ‘home time zone’ is selected, which is used to check the alarm. Every 24 hours, the WiFi time source is activated and the time is checked and updated (if necessary). The Clock/Timer also checks how much drift has occurred and provides an internal correction for up to 24 seconds of drift per day. Watch crystals are typically well within that tolerance. The WiFi time source can also be manually activated. A switch in the settings menu allows the Pico W that acts as the WiFi time source to be powered up. This can be handy for siliconchip.com.au Programming the chips If your PIC16 microcontroller (IC1) is not programmed, you might find it easier to do it before soldering the chip to the board if Construction The Clock/Timer is built on a double-­ sided PCB coded 19101231 that measures 83 × 53mm. The design necessitates surface-mount construction, so you will need the usual surface-­mount gear such as a fine-tipped soldering iron (a medium tip can be The SMD parts are fitted conventionally, although we recommend splaying the leads of S1-S4 so their stems project more through the panel. Note how we’ve fitted leaded parts like the crystal, LDR and LED. At this stage, the board can be powered from CON1 and (with IC1 programmed) you can confirm that the OLED and pushbuttons work. Australia's electronics magazine September 2024  35 Screen 7: the alarm clock is always based on the HOME timezone, which can be set here. Pressing OK also allows you to set the parameters for a custom time zone, including the default offset and when daylight saving starts and ends. This defaults to Greenwich Mean Time (GMT). Screen 8: the last SETTINGS screen lets you return to regular operation and manually power the time source on and off with the UP and DOWN buttons. This is handy if you ever need to change the settings on the time source or update its firmware. It switches off when you exit SETTINGS. Screen 9: this shows an alternative font. The available time zones can be viewed by pressing the UP and DOWN buttons while the clock is showing. Pressing OK toggles between a 12hour (AM and PM) or 24-hour clock. AM is shown by the letter A, PM by P and 24-hour mode with no letter. Fig.2: the PCB is populated mainly with surface-mounting components, plus a handful of through-hole parts fitted in surface-mounting fashion. This figure is shown at 140% of actual size for clarity. OK if you have some experience), flux paste, solder-wicking braid, tweezers, a magnifier and a good light source. You should have some sort of fume extraction gear; a fan close to your workspace pointing out an open window may be sufficient. You could also work outside or right next to an open window, which might also help with illumination. Note that some through-hole components are fitted in a surface-mounting fashion. You can get an idea of how these are installed by examining Fig.2, the PCB component overlay diagram, and the photos of the partially and fully populated PCB. Start by soldering IC1 and IC2. IC1 must have its pin 1 marker aligned with that on the silkscreen, while IC2 will only fit one way as it has two pins on one edge and three on the other. Apply flux to the PCB pads and rest the chips in place. Tack one lead on each and check that the pins are aligned with the pads before soldering the others. If solder bridges form across any pin pairs, apply more flux and use the braid to draw out the excess. Fit CON1 next. It has plastic locating lugs on its underside, making it easy to position. Solder the smaller pins and confirm that the part is flat against the PCB, then secure the larger pins with a generous amount of solder to ensure that the connector is firmly attached. There are three different capacitor values (two of each), so do not mix them up, as they will not be marked with their values. Like the other parts, Australia's electronics magazine siliconchip.com.au 36 Silicon Chip Screen 10: the alarm symbol in the upper-right corner flashes while the alarm is sounding. Pressing OK stops the alarm. The top of the screen shows the battery status (voltage) display if USB power is not available. During a WiFi time source update, this will show “GPS”. Screen 11: pressing MODE switches to the Countdown Timer; you can then press OK until the SET screens appear. The UP and DOWN buttons on these screens change the clock’s hours, minutes and seconds. The TIMER PAUSED status is shown when the timer is ready to start counting down. Screen 12: pressing OK after setting the countdown time returns to the main Timer screen. Pressing UP will start (or resume) the Timer or pause it if it is running. DOWN will reset the Timer if it is paused or has expired. This screen shows the third font that’s available (refer to Screen 4). use some flux and tack one lead in place. Confirm that the position is correct and that the first joint has solidified before soldering the other lead. Refresh the first lead if necessary (eg, with a touch of flux paste). Follow by fitting the resistors similarly, then move on to D1, the schottky diode. Ensure that its cathode stripe is towards the K marking before soldering it. If this diode is reversed, power from the USB socket could feed directly into the battery, which would be catastrophic! Next, mount the three through-hole components. Keep the lead offcuts from these, as they can be used to mount the OLED module later. Look closely at the photos since they are all arranged in a specific way. Crystal X1 is fitted so that it can be glued against IC1 later. It is not polarised, so it does not matter which lead goes to which pad. Splay the leads slightly to suit the pad spacing and bend them in an arc. They might also have to be trimmed. Once you have the leads adjusted, solder one to its pad, then tweak the leads if necessary before soldering the other lead. For LDR1, trim one lead to around 5mm and bend it in a 180° arc. You can leave the other lead at its full length to ease handling. Press the LDR into the hole and tack the short lead in place. Adjust the position and orientation, if necessary, with the aim of having the front of the LDR flush with the outside of the PCB. Then cut down the other lead and bend it into position over the other pad. Solder the second lead and refresh the first if necessary. LED1 is a bit more tricky. The K cathode marking refers to the green LED of the bicolour device. So it’s best to test the LED as some are marked (with the flat or longer lead) with reference to the red LED instead. Set a DMM on diode test mode and probe the leads. The red probe will indicate the anode of whichever colour LED lights up, and the black lead (cathode). Bend the leads in the shape shown in the photos so that they reach the pads below. We’ve left quite a bit of lead on our prototype to make it easier to position and aim the LED so it shines towards the cutout in the solder mask on the back of the PCB. The finished board, ready to be mounted in the case. The Pico W for the WiFi time source is mounted over the back of the OLED screen while silicone sealant secures the battery leads. We attached our piezo with header pins, but you can use flying leads. We inserted standard headers from the top of the Pico W’s PCB so it would sit at the right height. Note the single-pin header on the right to add some mechanical strength. There is about 2mm between the Pico W and the OLED module underneath it. siliconchip.com.au Australia's electronics magazine September 2024  37 Screen 13: when the Timer finishes, you will see the hourglass symbol flashing in the corner of the display and hear the Timer tone. Press DOWN to stop the alert and reset the Timer. The Alarm and Timer icons and tones will occur in any operating mode except possibly SETTINGS. Screen 14: the Stopwatch is much simpler than the other modes. It is started, resumed or paused by pressing the UP button and can be reset while paused with the DOWN button. The timings are only updated every second by the timer interrupt. Screen 15: pressing MODE takes you to the Alarm clock setup. Press OK to cycle between the options, with UP increasing or enabling the setting and DOWN decreasing or disabling it. You can set the time to the nearest minute, choose days of the week, whether the alarm repeats and whether it is on. Cleanup doing this, ensure the OLED is square and symmetrical within the cutout. At this stage, the assembly should look like the earlier partially completed PCB photo. The circuit is complete enough to do a basic test. If you still need to program IC1, do so before proceeding. It is safe to apply power to the circuit via the programming header, CON2. Alternatively, you can apply power to the board by plugging a USB cable into CON1. The OLED should light up, and the LED will probably show both red and green because no battery is attached. Check the voltage on the BAT+ terminal relative to BAT− (which is also circuit ground). It should be no more than 4.3V. If there are any problems, verify that diode D1 is correctly orientated. The display will show a countdown from 60 seconds. If the countdown is not proceeding, there may be a problem with crystal X1. a sharp hobby knife to trim the hole to fit the USB socket comfortably. Check that no parts prevent the PCB from sitting flush against the case. We’ve squeezed everything in tightly, but nothing should stop the case from closing. If you have soldered a header to the CON2 ICSP pads, that could clash with the pillar inside the case. We found that trimming the plastic on the header was enough to prevent that, but you might consider removing the header if you only fitted it for programming IC1 initially. Now is a good time to clean off any flux residue and closely inspect the board before proceeding to the next step. Use your flux’s recommended solvent or some isopropyl alcohol to dissolve the flux and then allow the board to dry thoroughly. Scrutinise the board with a magnifier to double-check that everything is soldered correctly and that there are no bridges. IC2 and CON1 have closely spaced pins, so look at them carefully. Next, fit tactile switches S1-S4. The reverse mounting types are pretty nifty, but they will benefit from having their leads splayed back slightly to give the switch stems a bit more length projecting through the front of the PCB. Tack one lead on each switch in place and tweak the position so that they are centred in their holes. It’s worth spending some time getting this right, as it looks much better with the stems centred. It also eliminates the possibility of the stems binding. When you are happy, use a generous amount of solder to mechanically secure all four leads on each switch. The next job is fitting OLED module MOD1. Attach a lead offcut to each of the four small PCB pads for MOD1, then thread the OLED over them, ensuring that the protective film is removed and the module is flat against the main PCB. Solder the offcuts to the main PCB. The two large holes along the lower edge can be similarly attached to the large pads on the PCB below. Before 38 Silicon Chip Setting it up If you haven’t already done so, prepare the WiFi time source according to the instructions in the panel opposite. It’s possible to program a Pico W in place or even modify its settings, but this is done more easily before it is attached to the PCB. Male header strips are used to solder Case cutting The only necessary hole in the case is to allow the USB socket, CON1, to protrude out the side. Fig.3 shows the measurements, but this one is relatively easy to do by eye, especially if you use a transparent case like ours. Rest the PCB just inside the case with the USB socket against the wall of the case. You should be able to mark the outline of the socket using a pencil or similar. Perform the downward cuts most of the way and then carefully flex the tab formed by the cuts. You can then use Australia's electronics magazine Fig.3: it is easy to cut out the small rectangular region for the USB socket by eye, allowing you to make it a snug fit. Here are the suggested dimensions of the cut if you wish to measure it out first (viewed from outside the box). All dimensions are in millimetres. siliconchip.com.au the Pico W to the PCB. Locating it behind the OLED module is the only way to get enough clearance to also fit the battery inside the enclosure. The bottom of the Pico W should be about 5mm above the PCB, leaving about a 2mm gap between the OLED module and the Pico W. We achieved the correct height on our prototype by soldering the pin headers with the plastic shrouds above the Pico W’s PCB. You can see the remnants of the shrouds in the photos (we trimmed off the tops of the pins). Solder the two rows of four-pin headers to the USB end of the Pico W, keeping the pins square. Check that your positioning allows enough space to plug a USB cable into the Pico W; the cable’s bezel should just clear the CON1 USB socket on the main PCB. Solder the tips of one of the pin headers to the main PCB and check that everything is aligned. Next, solder the single-pin header from pin 20 of the Pico W to the main PCB. There is a pad for this adjacent to D1. When everything looks correct, you can proceed to add a fillet of solder from each of the Pico W pins back to the main PCB, securing it. Trim any excess height from the pins to give the battery as much clearance as possible. Solder the battery holder to its terminals marked BAT+ and BAT−, taking great care that the polarity is correct. The way we installed the battery holder in the case allowed us to shorten the red (BAT+) wire. Also solder the piezo element to the SPK1 pads. We used header pins, but you could use flying leads (such as offcuts from the battery leads) to allow the piezo to be glued to the case. In that case, we also recommend drilling a hole in the case to enable the sound to escape. Now glue the battery holder into the case as shown in the photos. Also apply neutral-cure silicone sealant to the BAT+ and BAT− terminals to insulate the pads and secure the wires mechanically. If you have the piezo on flying leads, glue it to the case now. You can also add a dab of glue to the crystal to secure it to the top of IC1. After that, wait for all the adhesive to cure fully. Now insert the battery into the holder. The screen should light up, and you should see the LED on the siliconchip.com.au Setting up the WiFi time source The June 2023 project article for the WiFi Time Source for GPS Clocks (siliconchip.au/ Article/15823) details how the time source works, but this overview should have enough information for you to set it up. You will need a Raspberry Pi Pico W microcontroller board programmed with the time source firmware, which can be downloaded from siliconchip.au/Shop/6/188 Hold the white BOOTSEL button of the Pico W while connecting it to a computer. This will put it into bootloader mode, and you should see a drive named “RPI-RP2” appear. Copy the “NEW_CLAYTONS_1.uf2” file to that drive to upload the firmware. If all is well, the LED on the Pico W should light up, the drive should disappear, and you will have a virtual USB serial port available. Use a serial terminal program like Tera­ Term on Windows to connect to the port (you could use minicom on Linux). Set the terminal to use CR or CR+LF as the line ending and press Enter. It should then show the status and command menu. The following is not a comprehensive overview of the time source’s capabilities, but it will be sufficient to program it for use with the Clock/Timer. Use command 9 (press the 9 key followed by Enter) and then enter the two-letter country code (eg AU, NZ, US, UK etc). If you are likely to use the Clock internationally, the global “XX” setting is safest. Next, use command 8 (8, Enter) to save that setting to flash and follow with command J (capital J, Enter) to reboot the time source. This ensures the WiFi radio is initialised with the correct country code at power-up. Use command 1 to run a scan of WiFi networks. The nearby networks should be listed with a number next to each one. Then run command 4 with one of the listed numbers as a parameter. For example, if your home WiFi network is listed first, as number 0, type 40, then Enter. You will then be prompted for the password; type it, then press Enter again. Use command 7 to test the network and, if all is well, use command 8 to save the settings to flash memory. Use J to reboot again and check that the time source connects to the network. The LED should change from solid to flashing when it successfully connects to a network. Flashes occur in groups of three if everything is working and the time has been acquired from the NTP service. You can add multiple networks by running commands 1, 4, 7 and 8 when in the vicinity of each network. If you see groups of three flashes, the time source is working as expected. If you run into problems, you can also examine the output and debugging data to determine the source of the problem. Many other settings are available, but there is little need to change any of them. The Compact Timer has been designed to work with the WiFi time source’s default configuration. With the important pins at one end of the Pico W, near the USB connector, it’s easy to connect to the Clock/Timer PCB without using up much space. Pins 1, 3, 37, 38, 39 and 40 are used in the circuit, while pins 2, 4 and 20 are also connected to add mechanical stability. Australia's electronics magazine September 2024  39 Pico W come on after a second. Carefully fit the PCB into the case, being careful not to pinch any wires. Attach the rubber feet to the bottom edge of the box to complete the assembly. Now is a good time to plug in a USB cable to charge the battery fully. Setup and usage The Compact OLED Clock & Timer mounts in the smallest Jiffy box, UB5 size. We have chosen an all-blue colour scheme. The controls are simple and, once configured, it will always keep time to within a few seconds. The Clock/Timer is shown in its lowest power mode – use the MODE button to switch to the Clock display, then hold the OK button until this screen appears. It will wake when the OK button is pressed again, if an alarm occurs or the countdown timer expires. The Clock/Timer will attempt to set the time via NTP when powered on, so allow that to happen. We’ve included several screenshots of the Clock and Timer in various states. Refer to those screen captions for the basics of setting up and using it, in the order shown. The low power mode (with the screen off) can be activated by holding the OK button in the Clock Mode. When the SLEEPING message appears, release the button. Pressing OK again will reactivate the display. The alarm and timer will also reactivate the display when they sound their respective alert tones. If both alerts are active, their tones and icons will alternate. The software is set to perform several actions at five minutes past the hour (relative to UTC). This is when the clock trimming will occur if you wish to observe it. The automatic time updates occur at five minutes past UTC midnight. That will be, for example, 10:05am in Sydney or 11:05am during daylight saving time. The crystal trimming routine needs two synchronisations before it will make adjustments, so you might have to wait a day or two before the trimming settles. Once that has occurred, the clock should always be within two seconds of the correct time. Operation of the LDR and OLED brightness is fully automatic. Small adjustments are made so that the changing brightness is not noticeable; it can take up to a minute to settle after a change in ambient lighting. If you find the OLED is too bright, try decreasing the value of the 1MW resistor in series with the LDR. Summary The LED and LDR are standard through-hole parts that have been surfacemounted to avoid solder joints on the front of the PCB (see Fig.2). We have also splayed out the leads of the switches to bring them closer to the PCB. 40 Silicon Chip Australia's electronics magazine The Compact OLED Clock and Timer is a portable and easy-to-use device that boasts features that even some clock apps do not. Once set up, it will maintain time within a few seconds as long as it can connect to a WiFi network daily. SC siliconchip.com.au