Skip to the content
PCBKitNew board
2 layers74.2 × 79 mmKitchen timer, the printed circuit board in 3D

TimeUp kitchen timer based on 4-digit segment display, Raspberry Pi Pico and running on Zephyr RTOS

Size
74.2 × 79 mm
Copper layers
2
Thickness
1.6 mm
Parts
39
Nets
66
Pads
219
Tracks, vias
336, 1
Pours
2
Routed
Yes
KiCad
KiCad 8.0 (file 20240108)
Created
16 Oct 2024
Updated
30 Jan 2025

Overview

Kitchen timer is an open-source printed circuit board by krystofh, from the krystofh/kitchen_timer repository on GitHub, published under the Apache-2.0 licence. It is a 2-layer board of 74.2 × 79 mm with 39 parts on 66 nets, routed with 336 tracks and 1 via.

It is built around the BC327 and BC337. Its parts include 14 resistors, 5 transistors, 5 switches, 3 connectors and 2 ICs. It belongs with the lEDs and displays boards and the RP2040 boards of this library.

Main components

2

README

README.md

Kitchen timer

Kitchen timer based on 4-digit 8-segment display 3461BS and RP Pico

Front view of the PCB
Back view of the PCB

Electronics

The used display is a common anode display. The datasheet specifies 10 mA typical current for the optical characteristics of a segment. The GPIOs of RP Pico can provide 12 mA max. The built-in 3V3OUT voltage regulator can output up to 300 mA, which is sufficient for all 8 segemts. Not the full 32 segments are needed since the digits are displayed with a given refresh rate sequentially once at a time. Simulation using LTSpice and PNP transistor BCS327-25 leads to the choice of resistor value

s with 220 Ohm and 22k. For the edge cases "1 segment" and "8 segments" the current limitations are fulfilled.

Zephyr RTOS

Setting PWM on a pin

  1. Start by enabling PWM in the prj.conf file: CONFIG_PWM=y

  2. In the .overlay file, enable the node pwm_led0 by setting the status:

    c
    &pwm_led0 {
    status = "okay";
    };
  3. Check the PWM generator corresponding to the GPIO. For RP Pico, these are: PWM generators

    It results in a table:

    PWM channel Nr.PWM channelGPIO
    00A0
    10B1
    21A2
    ......
    157B15
    0 ❗0A16
    10B17

    This means that to set PWM ON GPIO 27, we will need PWM 5B with the number 11.

  4. In the .dts file (not the overlay!), edit the pwm_leds node:

    c
     pwm_leds {
     	compatible = "pwm-leds";
     	status = "disabled";
     	pwm_led0: pwm_led_0 {
     		pwms = <&pwm 11 PWM_MSEC(20) PWM_POLARITY_NORMAL>;
     		label = "PWM_LED";
     	};
     };
  5. Next, set the PWM on the specific pin. In the rpi_pico-common.dtsi:

    c
     &pwm {
     pinctrl-0 = <&pwm_ch5b_default>;
     pinctrl-names = "default";
     };
  6. Finally, add the pinmux in rpi_pico-pinctrl.dtsi for GPIO 27:

    c
    pwm_ch5b_default: pwm_ch5b_default {
     	group1 {
     		pinmux = <PWM_5B_P27>;
     	};
     };
  7. Follow the examples such as PWM Blinky and compile them with the changed devicetree. If it works, start coding your own application.

Device tree definitions

Device tree nodes are aliased like in the picture below. The change from - to _ is mandatory!

In the .c code, the alias is used like:

c
static const struct pwm_dt_spec my_variable = PWM_DT_SPEC_GET(DT_ALIAS(buzzer_dev));

Links

Parts

39
QtyValueFootprintReferences
8220Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR1, R2, R3, R4, R5, R6, R7, R8
422kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR9, R10, R11, R12
4BC327Package_TO_SOT_THT:TO-92_InlineQ1, Q2, Q3, Q4
4M2 holeMountingHole:MountingHole_2.2mm_M2_Pad_ViaH1, H2, H3, H4
21kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR13, R14
2LOGOLOGOG***, G***
14041BS-1Custom_footprints:Segment_display_4041BS-1U1
1BC337Package_TO_SOT_THT:TO-92L_Inline_WideQ5
1BTN_AButton_Switch_THT:SW_PUSH_6mm_H4.3mmSW1
1BTN_BButton_Switch_THT:SW_PUSH_6mm_H4.3mmSW2
1BTN_CButton_Switch_THT:SW_PUSH_6mm_H4.3mmSW3
1BTN_DButton_Switch_THT:SW_PUSH_6mm_H4.3mmSW4
1JST_2pin_2.5mmCustom_footprints:JST_2pin_2.54mm_femaleJ1
1PWM_SPEAKERTestPoint:TestPoint_Pad_2.0x2.0mmTP1
1PicoCustom_footprints:RPi_Pico_SMD_THU2
1SCHOTTKY_JUMPERJumper:SolderJumper-2_P1.3mm_Open_TrianglePad1.0x1.5mmJP1
1SEMTECH BAT54SCustom_footprints:SOT-23_Handsoldering_renumberedD1
1SWDConnector_PinSocket_2.54mm:PinSocket_1x03_P2.54mm_HorizontalJ3
1SW_DIP_x02Package_DIP:DIP-4_W7.62mm_LongPadsSW5
1Speaker_CrystalCustom_footprints:Piezzo_10mm_6.5mm_combinedLS1
1UARTConnector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_HorizontalJ2

Questions

How big is the Kitchen timer PCB?

It measures 74.2 × 79 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Kitchen timer use?

39 parts, built around the BC327 and BC337. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Kitchen timer KiCad files?

From the krystofh/kitchen_timer repository on GitHub, at the commit this page was made from: the board is electronics/kitchen_timer/kitchen_timer.kicad_pcb and its schematic electronics/kitchen_timer/charging_and_audio.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Kitchen timer design in my own project?

Its repository publishes it under the Apache-2.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

Similar boards

  • 2 layers224.2 × 153.7 mmStand, the printed circuit board in 3D

    Stand

    radiolok/dekatronpc

    DekatronPC - vacuum tube and cold-cathode tube based computer

    196 parts17
  • 2 layers213.6 × 127.5 mmZuendbox v3 32, the printed circuit board in 3D

    Zuendbox v3 32

    fixxl/el-fueradoro

    Open source ignition-system for audio-fireworks

    205 parts10
  • 2 layers120.1 × 120 mmMono amplifier, the printed circuit board in 3D

    Mono amplifier

    dario0603/AB-class-amplifier

    Design and simulation of a Class-AB audio power amplifier, focusing on output-stage linearity, crossover distortion reduction, and overcurrent protection.

    97 parts1
  • 2 layers50.5 × 42 mmAudio amplifier, the printed circuit board in 3D

    Audio amplifier

    DesignGraveyard/V007_LTspice_26_in_5_steps

    In this step-by-step tutorial, you will learn how to simulate electronic circuits in LTspice using a USB-powered audio amplifier as a practical example.

    39 parts
  • 2 layers160 × 95 mmPlaca Control Fuentes y Carga, the printed circuit board in 3D

    Placa Control Fuentes y Carga

    edgranzella/Placa-de-Corte-TX

    Circuito Impreso de la plaquetita de Corte TX que va apilada sobre el Arduino Nano de la placa Controladora de Fuentes y Carga.

    142 parts
  • 2 layers117.1 × 84.6 mmAmpli, the printed circuit board in 3D

    Ampli

    fpp3/ElectronicaAplicada2

    66 parts
  • 2 layers48 × 38 mmDominik power supply, the printed circuit board in 3D

    Dominik power supply

    kwn/dominik-power-supply

    KiCad project for Dominik power supply

    17 parts