A Windows.NET c# based control interface for controlling a GW INSTEK PSU
The goal was to create a windows based PSU interface to controll the GW INSTEK PSU .
STM32F107RCTx was selected for its integrated USB peripheral and rich I/O set.
Linear PSU based on the ASM1117-3.3 voltage regulatore was used to step down the +5v frrom the USB to3.3v , C1 and C2 are the input and output smoothing capacitors R1 which is the 1.5k ohms current limmiting resistor for the LED D1 which is the power indicator LED .
Crystal and capacitor values were chosen to match the microcontroller’s requirements and ensure stable clocking.
USB FS and UART headers were included for both firmware upload and serial debugging.
SWD header for programming/debugging and 3 onboard LEDs for user output were integrated.
Common GPIOs were routed to headers for flexibility in testing peripherals , the LEDs D2,D3 and D4 together with their limmiting resistors R4,R5 and R65 ,.
Components were selected for compactness and availability; footprints were verified in 3D view.
A 2-layer PCB design was used to minimize cost. Final dimensions: 80mm x 50mm.
The microcontroller was centrally placed to reduce trace lengths to supporting components.
Standard Gerber and drill files were generated and verified using Gerber Viewer.
JLCPCB was chosen for prototyping due to cost and turnaround time.
FR4, 1.6mm thickness, 1oz copper, green solder mask.
Total fabrication cost was under $10 with delivery within 7 business days.
Components sourced from LCSC and local distributors. Total BOM cost: approx. $15.
Hand-soldered under magnification using leaded solder for ease of rework.
// Simple LED Blink Test
HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_13);
Consider adding onboard debugger (ST-Link), USB-C, and additional protection circuits in future revisions.
I designed and developed the board end-to-end—from schematic and PCB layout to component sourcing, assembly, and firmware testing. I also documented the entire process for future iteration and reuse.