Skip to content

Week 06: Electronics Design

Motor Driving Board

Hero image Motor driving board — Designed an electronics board for my potential final project, featuring two dual H-bridge drivers for stepper motor control.


Assignments

Group assignment:

  • Use the test equipment in your lab to observe the operation of a microcontroller circuit board (as a minimum, you should demonstrate the use of a logic analyzer)
  • Document your work on the group work page and reflect on what you learned on your individual page

Individual assignment:

  • Use an EDA tool to design a development board that uses parts from the inventory to interact and communicate with an embedded microcontroller

1. Group Assignment

We analyzed the QPAD board running the FabDino game using a digital oscilloscope. We observed the I2C signals — both SCL and SDA — and discovered a mismatch between the pull-up resistance and the I2C frequency configured in software. The waveforms showed ringing and slow rise times as a result. By adjusting the software settings to better match the hardware, we obtained significantly cleaner waveforms.

FabLab Kannai group work page

This exercise was a valuable reminder that hardware and software must be designed in concert. An oscilloscope is an excellent tool for diagnosing exactly this kind of interface mismatch — something that would be very difficult to identify from code inspection alone.

2. Individual Assignment — Electronics Design

2-0. Simulation on Wokwi

Before moving to schematic capture, I wanted to simulate my circuit to validate the concept. My goal was to prototype the electronics for my final project — a drawing robot that uses stepper motors and a servo. However, Wokwi’s component library does not include the specific H-bridge drivers I planned to use, so a full simulation was not feasible.

Instead, I used Wokwi to simulate the QPAD Dino game as a way to familiarise myself with the tool and practice simulation-driven development.

Wokwi simulation

2-1. Designing the Schematic in Fusion Electronics

The board is designed around the Seeed Studio XIAO RP2040 as the main microcontroller. The design goals were:

  • Drive two stepper motors — one for each axis of the drawing robot
  • Control a servo motor for raising and lowering the pen
  • Expose an I2C port for a camera or other sensors

To drive the stepper motors, I used two DRV8421 dual H-bridge ICs. Each DRV8421 provides one full H-bridge per channel, allowing precise bipolar stepper motor control from a compact footprint.

Starting a new design

Open Fusion, select Electronics DesignNew Schematics. This opens the Fusion Electronics workspace with a blank schematic sheet.

Starting Electronics Design

To facilitate selection of fab inventory parts, especially those SMD parts, I uploaded pinhead2 and fab libraries. They should be directly available as Fusion’s public libraries, but unfortunately they did not work, so I received the files from Tamiya-san and uploaded them locally as Hub libraries. I also uploaded necessary parts such as DRV8421ADFUR and xia_RP2040.

Library Manager showing uploaded libraries

Setting up the sheet

Mark the local origin on the schematic sheet. Then, using the Add Component tool, select the A4L-LOC frame from the Frames library to set the sheet size and add a title block.

A4L-LOC frame placed on the schematic sheet

Adding components

Add more parts from relevant libraries.

select parts

Placing and wiring

After placing each component on the canvas, use the Net tool to draw connections between pins.

Components being placed and wired in the schematic

Running the ERC

Before moving to the board, run Validate → Electrical Rules Check to catch unconnected pins or short circuits.

ERC results panel

Now the schematic is complete.

Schematic

2-3. PCB Layout Process

Switching to the board view

Once the schematic was complete, I clicked Switch to PCB Editor. All components appeared as an unrouted nest — connected only by thin airwires showing which pads need to be connected.

PCB editor after switching, showing unrouted airwires

Placing components

I arranged components manually, keeping the DRV8421 drivers near the power connectors and the XIAO RP2040 near the signal connectors.

Setting design rules

Before routing, I should have configured the design rules under Edit → Design Rules: minimum copper clearance, minimum trace width, and drill sizes. These are critical for fab-lab milling — our CNC SainSmart Genmitsu Cubiko needs at least 16 mil for both Copper Width and Copper Clearance.

I initially mistakenly skipped this step, but for future reference, I have included it here.

Design Rules dialog with copper width set to 16 mil

Routing traces

I routed traces with the Route tool, using wider traces for power paths and narrower ones for signal lines. After routing, I ran Validate → Design Rules Check (DRC) to confirm no clearance or width violations. There is one remaining error for the 0Ω resistor, which is placed to avoid crossing wires, but this was intentional.

Design rule check

Defining the board outline

I drew the board boundary on the user defined Outline layer using the Line tool to set the physical size.


Before Review PCB layout

The design was reviewed by the instructor Tamiya-san, and it was pointed out that the line width was not optimal and was not optimized for SMD. The design below was the final version after incorporating the review feedback.

After Review

PCB layout updated

Checklist

  • [x] Linked to the group assignment page
  • [x] Documented what you have learned in electronics design
  • [x] Checked your board can be fabricated
  • [x] Explained problems and how you fixed them.
  • [x] Included original design files (Eagle, KiCad, etc.)
  • [x] Included a ‘hero shot’

Digital Files

References


Copyright 2026 Fumiko Toyoda - Creative Commons Attribution Non Commercial Source code hosted at gitlab.fabcloud.org