

Auto dimmer
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
8ATTINY13A-SSU
SOIC-8-40℃~+85℃ 1.8V~5.5V 10bit 1KB 20MHz 6 64Byte 64Byte 8 Bit AVR Built-in FLASH SOIC-8 Microcontrollers (MCU/MPU/SOC) ROHSMicrochip TechnologyMicrocontrollers (MCU/MPU/SOC)BTA06-600TWRG
TO-220AB-3-40℃~+125℃@(Tj) 1.3V 5mA 600V 6A TO-220AB-3 Thyristors (SCR)/Modules ROHSSTMicroelectronicsThyristors (SCR)/ModulesMCP1755S-5002E/DB
SOT-223-3-40℃~+150℃ 3.6V~16V 300mA 5V Overcurrent Protection、Operating status indication SOT-223-3 Voltage Regulators - Linear, Low Drop Out (LDO) Regulators ROHSMicrochip TechnologyPower Management - SpecializedSGM809B-MXN3LG/TR
SOT-23SOT-23 Supervisor and Reset ICs ROHSSG MicroSupervisor And Reset ICsMRA4007T3G-FS
SMA(DO-214AC)Diodes - General PurposeFUXINSEMIBAV99
SOT-231 Pair Series Connection 1.25V@150mA 100V 215mA 250mW 4A 4ns 500nA@80V SOT-23 Switching Diodes ROHSNexperiaSwitching DiodesMMBT5551L
SOT-23-55℃~+150℃ 1 NPN 100nA 160V 250mV 300mW 600mA 6V 80 NPN SOT-23 Bipolar (BJT) ROHSonsemiBipolar (BJT)SMBJ5.0A
DO-214AA(SMB)-65℃~+150℃ 5V 600W@10/1000us 65.3A@10/1000us 7V 800uA 9.2V TVS Unidirectional DO-214AA(SMB) ESD and Surge Protection (TVS/ESD) ROHSMDDESD And Surge Protection (TVS/ESD)
README
README.mdDimmer with Automatic Countdown for IKEA NYMANE Lamp
Automatic dimmer for the IKEA NYMANE lamp using the low-cost 8-bit AVR ATtiny13A microcontroller.

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

Photos
The original internals of the lamp: the basic DIAC-TRIAC dimmer on the left and the connector box on the right.

Parts
56| Qty | Value | Footprint | References |
|---|---|---|---|
| 5 | 330K | Resistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolder | R3, R4, R6, R7, R13 |
| 4 | 100n | Capacitor_SMD:C_1206_3216Metric_Pad1.33x1.80mm_HandSolder | C6, C8, C9, C10 |
| 3 | 1K | Resistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolder | R5, R12, R18 |
| 2 | 10K | Resistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolder | R14, R19 |
| 2 | 150n | Capacitor_THT:C_Rect_L10.3mm_W5.0mm_P7.50mm_MKS4 | C2, C4 |
| 2 | 240 | Resistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolder | R9, R15 |
| 2 | 51 | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P5.08mm_Vertical | R1, R2 |
| 2 | 510 | Resistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolder | R11, R17 |
| 2 | Filter_EMI_CommonMode | Inductor_THT:L_CommonMode_Wuerth_WE-CMB-XS | FL1, FL2 |
| 2 | MRA4007T3G | Diode_SMD:D_SMA | D1, D2 |
| 2 | R_1206_3216Metric_Pad1.30x1.75mm_HandSolder | Resistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolder | JM1, JM2 |
| 1 | 1.5K | Resistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolder | R16 |
| 1 | 100u 16V | Capacitor_Tantalum_SMD:CP_EIA-3528-15_AVX-H_Pad1.50x2.35mm_HandSolder | C5 |
| 1 | 100u 50V | Capacitor_THT:C_Radial_D8.0mm_H11.5mm_P3.50mm | C3 |
| 1 | 125°C | Capacitor_THT:C_Rect_L13.0mm_W3.0mm_P10.00mm_FKS3_FKP3_MKS4 | F2 |
| 1 | 1A | Resistor_THT:R_Axial_DIN0414_L11.9mm_D4.5mm_P15.24mm_Horizontal | F1 |
| 1 | 330K | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P15.24mm_Horizontal | R8 |
| 1 | 390n 400V | Capacitor_THT:C_Rect_L18.0mm_W9.0mm_P15.00mm_FKS3_FKP3 | C1 |
| 1 | 3n | Capacitor_SMD:C_1206_3216Metric_Pad1.33x1.80mm_HandSolder | C7 |
| 1 | 7N511K | Varistor:RV_Disc_D7mm_W3.9mm_P5mm | RV1 |
| 1 | 9K | Potentiometer_THT:Potentiometer_Alps_RK09K_Single_Vertical | R10 |
| 1 | ATtiny13A-SS | Package_SO:SOIC-8_3.9x4.9mm_P1.27mm | U2 |
| 1 | BAV99 | Package_TO_SOT_SMD:SOT-23 | D3 |
| 1 | BTA06-600TW | Package_TO_SOT_THT:TO-220-3_Horizontal_TabDown | Q1 |
| 1 | Conn_02x03_Odd_Even | Connector_PinHeader_2.54mm:PinHeader_2x03_P2.54mm_Vertical_SMD | J2 |
| 1 | L | MountingHole:MountingHole_2.2mm_M2_Pad | H1 |
| 1 | L LOAD | MountingHole:MountingHole_2.2mm_M2_Pad | H4 |
| 1 | LED | LED_THT:LED_D3.0mm | LD1 |
| 1 | MCP1755S-5002ED | Package_TO_SOT_SMD:SOT-223-3_TabPin2 | U1 |
| 1 | MMBT5551L | Package_TO_SOT_SMD:SOT-23 | Q2 |
| 1 | N | MountingHole:MountingHole_2.2mm_M2_Pad | H2 |
| 1 | N LOAD | MountingHole:MountingHole_2.2mm_M2_Pad | H3 |
| 1 | SGM809B-MXN3LG | Package_TO_SOT_SMD:SOT-23 | U3 |
| 1 | SMBJ5.0A | Diode_SMD:D_SMB | VD1 |
| 1 | SW_Push | Button_Switch_THT:SW_PUSH_6mm_H5mm | SW1 |
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 mm

- 2 layers99.5 × 74 mm

- 2 layers95 × 57 mm

Differential Probe
ugo-silato/Differential-Probe
High-voltage differential probe PCB — KiCAD design
97 parts - 6 layers73 × 100 mm

- 2 layers100 × 100 mm

BQ76pl455a
g-rahul/BQ76PL455A-EVM-Clone
This respository contains low cost design files for BQ76PL455A-EVM Clone.
255 parts5 - 2 layers89.7 × 53.5 mm

Ardui89 Cinque Uno
Cyrillinux/Ardui89
Adds 8051 architecture family to the Arduino IDE : STC89C52RC, STC89C516RD+, STC15W408AS-DIP16
57 parts2 - 2 layers100 × 100 mm

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 mm

DigitalClock ATMega328
bostang/PCBs
My repository for documenting all PCB Projects I have done
74 parts