Skip to the content
PCBKitNew board
4 layers355.6 × 144.8 mmCycloconverter, the printed circuit board in 3D

An embedded power-electronics project combining SCR switching, zero-crossing synchronisation, register-level C firmware, and a custom four-layer PCB designed in KiCad.

Size
355.6 × 144.8 mm
Copper layers
4
Thickness
1.6 mm
Parts
70
Nets
85
Pads
251
Tracks, vias
394, 15
Pours
2
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
10 Oct 2026
Updated
10 Oct 2026

Overview

Cycloconverter is an open-source printed circuit board by Moeletsi47, from the Moeletsi47/cycloconverter repository on GitHub. It is a 4-layer board of 355.6 × 144.8 mm with 70 parts on 85 nets, routed with 394 tracks and 15 vias.

It is built around the ATMEGA328P-PU, MOC3052M and H11AA1. Its parts include 27 resistors, 12 capacitors, 11 ICs, 8 diodes and 3 connectors. It belongs with the AVR (ATmega, ATtiny) boards of this library.

Main components

3

README

README.md

Single-Phase Cycloconverter | ATmega328P

An embedded power-electronics project combining SCR switching, zero-crossing synchronisation, register-level C firmware, and a custom four-layer PCB designed in KiCad.

The intended input is 230 V AC RMS at 50 Hz. The firmware runs an automatic sequence of frequency and voltage targets, then ramps down and disables gate firing.

Operating sequence

The uploaded firmware uses a nominal 5 V/Hz lookup table and the following sequence:

StepFrequency targetNominal voltage targetDuration
Ramp up0 → 10 Hz0 → 50 V5 s
Hold10 Hz50 V2 s
Ramp up10 → 20 Hz50 → 100 V5 s
Hold20 Hz100 V2 s
Ramp up20 → 40 Hz100 → 200 V5 s
Hold40 Hz200 V2 s
Ramp down40 → 0 Hz200 → 0 V5 s

After ramp-down, the controller remains in its stopped state until reset. The firmware reaches zero after 5 seconds of ramp-down and enters its final state at the next 500 ms update.

The hold-time comments in the source say 10 seconds, but the implemented thresholds are 2000 ms, giving 2-second holds.

Voltage values are intended lookup-table targets, not measurements or closed-loop regulation. The switched output is non-sinusoidal; its RMS voltage and frequency spectrum require waveform verification, particularly at the 40 Hz setting.

Firmware

The controller is an ATmega328P running at 16 MHz, programmed in embedded C using direct register access.

  • Zero-crossing interrupt: PB0 / PCINT0 supplies the input timing reference.
  • Timer1: Schedules the firing delay and gate-pulse duration with a prescaler of 64.
  • Gate pulses: Approximately 300 µs, based on PULSE_TICKS = 74.
  • Timer2: Generates a 1 ms timebase for the ramp and hold sequence.
  • Frequency control: A phase accumulator selects the commanded output polarity at input half-cycle boundaries.
  • Voltage control: fire_table[] selects a firing delay for each frequency setpoint.
  • Shutdown: A zero-frequency setpoint prevents further gate firing.

The control sequence runs in interrupt service routines; the main loop remains idle.

Pin mapping

SignalATmega328P pin
Zero-crossing inputPB0
T1PB1
T2PB2
T3PB3
T4PB4
N1PD4
N2PD5
N3PD6
N4PD7

This firmware defines eight gate outputs in two groups. Confirm that the schematic and PCB revision match this mapping before using the firmware; the earlier four-SCR PCB arrangement must not be assumed to match it directly.

Four-layer PCB design

The project also includes a custom four-layer PCB designed in KiCad, with attention to the separation of mains circuitry and low-voltage control electronics.

PCB design features include:

  • Separate high-voltage power and low-voltage control regions.
  • Isolation keepout regions around the optocoupler barrier.
  • An internal ground pour confined to the low-voltage region.
  • Wider copper tracks for the main SCR and load-current paths.
  • Dedicated routing classes for power, mains sensing, and control signals.
  • RC snubbers placed close to the associated switching devices.
  • Input fuse and MOV provision.
  • External power headers and terminal-block connections.

The design work covers schematic capture, footprint assignment, multilayer routing, and fabrication-output preparation. PCB layout completion does not by itself establish hardware validation or electrical-safety compliance.

Development tools

ToolPurpose
Microchip StudioAVR firmware development
ProteusCircuit simulation and waveform inspection
KiCadSchematic capture and four-layer PCB design

Current limitations and future improvements

  • Output voltage is controlled through a fixed lookup table; the supplied firmware has no voltage-feedback loop.
  • Input polarity is inferred by alternating a software flag at each accepted zero-crossing event.
  • The supplied firmware has no current-zero detection or current-based interlock between converter groups.
  • Planned improvements include current sensing, commutation interlocking, and measured calibration of the voltage targets.

Safety

This project involves hazardous 230 V AC. Gate signals turning off do not force an SCR to stop conducting. Hardware testing requires appropriate protection, mains-rated measurement equipment, and verification of commutation behaviour, especially with inductive loads.

Author

Jason Nkuna

Embedded systems, power electronics, and PCB design.

Parts

70
QtyValueFootprintReferences
8220Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR20, R21, R22, R23, R24, R25, R26, R27
822nFCapacitor_THT:C_Rect_L18.0mm_W8.0mm_P15.00mm_FKS3_FKP3C1, C2, C3, C4, C5, C6, C7, C8
83.9kResistor_THT:R_Axial_DIN0414_L11.9mm_D4.5mm_P20.32mm_HorizontalR9, R10, R11, R12, R13, R14, R15, R16
847Resistor_THT:R_Axial_DIN0516_L15.5mm_D5.0mm_P20.32mm_HorizontalR1, R2, R3, R4, R5, R6, R7, R8
8MOC3052MMOC3052M:DIP762W46P254L851H508Q6U2, U3, U4, U5, U6, U7, U8, U9
8Q_SCR_AGKSCR:IFX-PG-TO220-3-904-1D1, D2, D3, D4, D5, D6, D7, D8
215kResistor_THT:R_Axial_DIN0411_L9.9mm_D3.6mm_P12.70mm_HorizontalR17, R18
222pFCapacitor_THT:C_Disc_D4.3mm_W1.9mm_P5.00mmC10, C11
2Screw_Terminal_01x02TerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-2_1x02_P5.00mm_HorizontalJ1, J2
1100nFCapacitor_THT:C_Disc_D4.3mm_W1.9mm_P5.00mmC9
110kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR19
110uFCapacitor_THT:C_Disc_D4.3mm_W1.9mm_P5.00mmC12
1ACS712xLCTR-05BPackage_SO:SOIC-8_3.81x9.347mm_P2.54mmU1
1ATmega328P-PPackage_DIP:DIP-28_W7.62mmU11
1Conn_01x02Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJ3
1CrystalCrystal:Crystal_HC49-U_VerticalY1
1FuseFuse:Fuseholder_Clip-6.3x32mm_Littelfuse_102_Inline_P34.21x7.62mm_D2.54mm_HorizontalF1
1H11AA1Package_DIP:DIP-6_W7.62mmU10
1VaristorVaristor:RV_Disc_D15.5mm_W4.3mm_P7.5mmRV1

The 64 most common of 70 parts.

Questions

How big is the Cycloconverter PCB?

It measures 355.6 × 144.8 mm and has 4 copper layers, 1.6 mm thick.

What parts does the Cycloconverter use?

70 parts, built around the ATMEGA328P-PU, MOC3052M and H11AA1. 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 Cycloconverter KiCad files?

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

Can I use the Cycloconverter design in my own project?

Its repository states no licence, so its author keeps all rights: ask Moeletsi47 before reusing the design.

Similar boards

  • 2 layers73.2 × 81.3 mmFurnace control, the printed circuit board in 3D

    Furnace control

    marcass/furnace_control

    Control a FUWI pellet boiler with arduino to improve smarts

    24 parts2GPL-3.0
  • 4 layers100.1 × 79.2 mmSolder oven PCB, the printed circuit board in 3D

    Solder oven PCB

    JuanDavidBarrero/SolderingOvenPCB

    44 parts
  • 2 layers100 × 100 mmEsp32 dimmer, the printed circuit board in 3D

    Esp32 dimmer

    fborello-lambda/pcbs_llm_driven_design

    🔌 PCBs made with LLMs

    23 parts1MIT
  • 2 layers99.1 × 76.2 mmSsr, the printed circuit board in 3D

    Ssr

    Miceuz/triac-bloc

    An universal power block based on triac. In essence this is a solid state relay with some bells and whistles

    39 parts54
  • 2 layers74.7 × 33.5 mmDimmer, the printed circuit board in 3D

    Dimmer

    n3rd-bugs/weird-rtos

    This is a not so small RTOS for low end MCUs.

    23 parts5
  • 2 layers41 × 38 mmRS Board, the printed circuit board in 3D

    RS Board

    VGCH/radar_switch

    DIY module for lighting control with radar sensor

    35 parts5
  • 2 layers79.1 × 56.3 mmFan reg, the printed circuit board in 3D

    Fan reg

    VGCH/smart_fan

    Smart controller for fan

    41 parts4
  • 2 layers59.9 × 103.5 mmHM AsksinPP Phasenanschnitt, the printed circuit board in 3D

    HM AsksinPP Phasenanschnitt

    mankut80/AskSinPP_HM-LC-Dim1L-CV

    Mit der Technik des Phasenanschnitts lassen sich ohmsche und induktive Wechselstromlasten in der Leistung steuern.

    36 parts1