Skip to the content
PCBKitNew board
2 layers51 × 70 mmAuto dimmer, the printed circuit board in 3D

Automatic dimmer for IKEA NYMANE (103.569.62) lamp based on AVR ATtiny13A MCU.

Size
51 × 70 mm
Copper layers
2
Thickness
0.89 mm
Parts
56
Nets
35
Pads
130
Tracks, vias
287, 4
Pours
6
Routed
Yes
KiCad
KiCad 7 (file 20221018)
Created
2 Oct 2024
Updated
24 Jul 2026

Overview

Auto dimmer is an open-source printed circuit board by ilyushkin, from the ilyushkin/auto_dimmer repository on GitHub, published under the GPL-3.0 licence. It is a 2-layer board of 51 × 70 mm with 56 parts on 35 nets, routed with 287 tracks and 4 vias.

It is built around the ATTINY13A-SSU, BTA06-600TWRG and MCP1755S-5002E/DB, with the SGM809B-MXN3LG/TR, MRA4007T3G-FS and BAV99 among its other parts. Its parts include 19 resistors, 10 capacitors, 3 ICs, 3 diodes and 2 transistors. It belongs with the lEDs and displays boards and the AVR (ATmega, ATtiny) boards of this library.

Main components

8

README

README.md

Dimmer with Automatic Countdown for IKEA NYMANE Lamp

Automatic dimmer for the IKEA NYMANE lamp using the low-cost 8-bit AVR ATtiny13A microcontroller.

Video

If the button is held for more than 2 seconds, auto-dimming mode activates with a 20-minute countdown, during which the lamp gradually dims from the current brightness to zero. This is convenient for falling asleep without leaving the light on. The logic is somewhat similar to the dimming-out functionality of the Philips Wake-up Light alarm clock, just without all the bells and whistles.

The project is based on the AVR ATtiny13A microcontroller and written in AVR assembly. It was a fun assembly side-project that begun during the COVID-19 lockdown, and I finally decided to publish it.

The PCB is designed to fit within the base of the IKEA NYMANE swing-arm wall lamp (art. No. 103.569.62) and replace the original basic dimmer that comes with the lamp.

The lamp is turned on and off by pressing the button, unlike the original version, where you had to turn the knob to power it on. The main advantage of this approach is that the brightness setting is not reset every time the lamp is turned off.

Brightness is adjusted by rotating the potentiometer knob.

I decided to use the RV09 potentiometer because it was the easiest way to retain the brightness level between MCU power cycles. For this reason, I chose not to use a rotary encoder (e.g., EC11 with an integrated button), as that would require storing the actual brightness level in EEPROM.

I used a simple linear potentiometer without an embedded button, as potentiometers with built-in buttons are rather rare, plus I already had the RV09 in stock. Since the potentiometer lacks a button, the design includes a plastic inlay that fits inside the metal cap of the original control knob to make it pushable. This inlay allows the entire knob to slide slightly along the potentiometer shaft and press the pushbutton through a plastic spring-loaded lever mounted next to the potentiometer on the PCB.

The microcontroller is powered by an unisolated power supply based on a capacitive voltage divider, as all parts of the lamp are double insulated.

To achieve this, I designed a 3D-printed internal plastic casing and reused the screws from the lamp's original internal plastic structure.

All plastic parts are also published on Thingiverse: https://www.thingiverse.com/thing:6785874

Since there is no galvanic isolation, the microcontroller should only be flashed when the mains power is off.

For safety reasons, I used a 2.54mm ISP socket instead of a header, as the header can be accidentally touched when removing the lamp from the wall while it's still energized.

Schematics

Full Schematics

Photos

Photo 1 Photo 2 Photo 3 Photo 4 Photo 5 Photo 6 Photo 7 The original internals of the lamp: the basic DIAC-TRIAC dimmer on the left and the connector box on the right. Photo 8. The original internals of the lamp.

Parts

56
QtyValueFootprintReferences
5330KResistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolderR3, R4, R6, R7, R13
4100nCapacitor_SMD:C_1206_3216Metric_Pad1.33x1.80mm_HandSolderC6, C8, C9, C10
31KResistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolderR5, R12, R18
210KResistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolderR14, R19
2150nCapacitor_THT:C_Rect_L10.3mm_W5.0mm_P7.50mm_MKS4C2, C4
2240Resistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolderR9, R15
251Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P5.08mm_VerticalR1, R2
2510Resistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolderR11, R17
2Filter_EMI_CommonModeInductor_THT:L_CommonMode_Wuerth_WE-CMB-XSFL1, FL2
2MRA4007T3GDiode_SMD:D_SMAD1, D2
2R_1206_3216Metric_Pad1.30x1.75mm_HandSolderResistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolderJM1, JM2
11.5KResistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolderR16
1100u 16VCapacitor_Tantalum_SMD:CP_EIA-3528-15_AVX-H_Pad1.50x2.35mm_HandSolderC5
1100u 50VCapacitor_THT:C_Radial_D8.0mm_H11.5mm_P3.50mmC3
1125°CCapacitor_THT:C_Rect_L13.0mm_W3.0mm_P10.00mm_FKS3_FKP3_MKS4F2
11AResistor_THT:R_Axial_DIN0414_L11.9mm_D4.5mm_P15.24mm_HorizontalF1
1330KResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P15.24mm_HorizontalR8
1390n 400VCapacitor_THT:C_Rect_L18.0mm_W9.0mm_P15.00mm_FKS3_FKP3C1
13nCapacitor_SMD:C_1206_3216Metric_Pad1.33x1.80mm_HandSolderC7
17N511KVaristor:RV_Disc_D7mm_W3.9mm_P5mmRV1
19KPotentiometer_THT:Potentiometer_Alps_RK09K_Single_VerticalR10
1ATtiny13A-SSPackage_SO:SOIC-8_3.9x4.9mm_P1.27mmU2
1BAV99Package_TO_SOT_SMD:SOT-23D3
1BTA06-600TWPackage_TO_SOT_THT:TO-220-3_Horizontal_TabDownQ1
1Conn_02x03_Odd_EvenConnector_PinHeader_2.54mm:PinHeader_2x03_P2.54mm_Vertical_SMDJ2
1LMountingHole:MountingHole_2.2mm_M2_PadH1
1L LOADMountingHole:MountingHole_2.2mm_M2_PadH4
1LEDLED_THT:LED_D3.0mmLD1
1MCP1755S-5002EDPackage_TO_SOT_SMD:SOT-223-3_TabPin2U1
1MMBT5551LPackage_TO_SOT_SMD:SOT-23Q2
1NMountingHole:MountingHole_2.2mm_M2_PadH2
1N LOADMountingHole:MountingHole_2.2mm_M2_PadH3
1SGM809B-MXN3LGPackage_TO_SOT_SMD:SOT-23U3
1SMBJ5.0ADiode_SMD:D_SMBVD1
1SW_PushButton_Switch_THT:SW_PUSH_6mm_H5mmSW1

The 52 most common of 56 parts.

Questions

How big is the Auto dimmer PCB?

It measures 51 × 70 mm and has 2 copper layers, 0.89 mm thick.

What parts does the Auto dimmer use?

56 parts, built around the ATTINY13A-SSU, BTA06-600TWRG, MCP1755S-5002E/DB and SGM809B-MXN3LG/TR. 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 Auto dimmer KiCad files?

From the ilyushkin/auto_dimmer repository on GitHub, at the commit this page was made from: the board is pcb/AutoDimmer.kicad_pcb and its schematic pcb/AutoDimmer.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Auto dimmer design in my own project?

Its repository publishes it under the GPL-3.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

  • 4 layers208.3 × 261.9 mmIlemt hw, the printed circuit board in 3D

    Ilemt hw

    robmacl/ilemt_hw

    Hardware design files for ILEMT position tracker

    204 parts
  • 2 layers99.5 × 74 mmDimmer pcb, the printed circuit board in 3D

    Dimmer pcb

    Bonusbartus/ac_pwm_led_dimmer

    A PCB for dimming AC LED lamps

    35 parts
  • 2 layers95 × 57 mmDifferential Probe, the printed circuit board in 3D

    Differential Probe

    ugo-silato/Differential-Probe

    High-voltage differential probe PCB — KiCAD design

    97 parts
  • 2 layers100 × 100 mmBQ76pl455a, the printed circuit board in 3D

    BQ76pl455a

    g-rahul/BQ76PL455A-EVM-Clone

    This respository contains low cost design files for BQ76PL455A-EVM Clone.

    255 parts5
  • 2 layers89.7 × 53.5 mmArdui89 Cinque Uno, the printed circuit board in 3D

    Ardui89 Cinque Uno

    Cyrillinux/Ardui89

    Adds 8051 architecture family to the Arduino IDE : STC89C52RC, STC89C516RD+, STC15W408AS-DIP16

    57 parts2
  • 2 layers100 × 100 mmKicad LFO 1 2, the printed circuit board in 3D

    Kicad LFO 1 2

    promesoft/KicadJE_LFO_1

    Initial Analogue LFO - Mult/Mix - NAND/AND/NOT - FlipFlop - 555LFO

    147 parts2MIT
  • 4 layers68.9 × 50.7 mmDigitalClock ATMega328, the printed circuit board in 3D

    DigitalClock ATMega328

    bostang/PCBs

    My repository for documenting all PCB Projects I have done

    74 parts