Week 6


Assignment - Electronics Design

  • 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 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

    Note: fabacademy page text adds:

  • simulate a circuit

  • check its design rules for fabrication
  • extra credit: try another design workflow
  • extra credit: design a case

KiCAD.

I decided to start with KiCAD.

KiCAD Doing Tutorial

I also followed this tutorial series, by @HTMWorkshop to familiarise myself with the interface.

KiCAD Instal FabLib Library

I found and installed the KiCAD FabLib Library. Thanks Krisjanis, Miriam, Saheen and Aapo!

Drew Schematic

And, tadaa. 2 hours later:

KiCAD Schematic

1. Finding the right part...

The part I think I need is a 3-volt regulator, but from what I can determine in the library. There are a lot of similar ones.

Library Lookup

So, I have a look at the datasheet.

Datasheet Lookup

Conclusion is that I'm more likely looking for a BD33FC0EFJ, or BD33FC0FP.

Voltage Regulator New

And the updated schematic (based on the example from the Datasheet) should look like this now:

Voltage Regulator Updated

2. Making your own symbol...

Save and close your schematic Editor. Open the Symbol Editor.

Go to File > New Library. And give it a name. You can choose whether it is available globally or just for this project.

Also, when you right-click, Pin Library is to keep it to the top in your various editors. Very handy.

  • Draw Rectangle, centred on the origin. Big enough to fit pins you're going to add. You can adjust the size later.
  • Draw Pins (P),
    • Pin name: VCC, or GND, or SDA, or MOSI etc.
    • Pin number: If you know, put it here. Keep it unique.
    • Electrical type: Used in error-checking later, possibly SPICE export files.
    • And then click OK. The circle is where the wires attach, so the other end should touch the rectangle, with the label outwards. Placement isn't important, but convention seems to be GND connections at the bottom, and power at the top.

This is the item I want to draw up.

SSD1306 I2C OLED Module

And using the steps above, I've added it as follows to the library:

OLED Module now added to the library

And added it into the schematic:

OLED updated in the Schematic

Schematic to PCB

Update PCB from Schematic

There is a button on the top menu, Update PCB From Schematic.

Updating From Schematic Options

Initially your components import at the same location:

Updating From Schematic Options

Drag them around. Use R to rotate, and try and untangle your components. The blue lines are your Rat's Nest, or Nets, that indicate the connections that need to be turned into your routed traces.

PCB move components

It seems that the missing Footprints warning, above - not only with the custom Symbols - may explain why many components haven't come through.

Assign Footprints

Footprint Preview

Tip, keep the Preview panel open, while selecting from the list.

I didn't have a Footprint for the SSD1306 OLED panel that I drew the Symbol for. This was the closest. I am going to have to draw it.

Wrong Footprint for SSD1306 I2C OLED Module

In the meantime, this is already looking better:

Improved Footprints

Download the Xiao library from the Getting Started page:

Download Xiao Library

Add Footprint library:

Add Xiao Library

Routing

Apparently recent versions of Kicad have dropped support for autorouting. :(

So the rest of this was manual. The shortcut to add a trace is X.

  • First, I moved components, but that only got me a few routes;
  • Then, I rotated components to the way that their nets indicated they wanted to be - a few more;
  • Then, I rotated the screen upside-down - still 12(!);
  • Then, went back to the Schematic Editor, and I changed GPIO14 to GPIO6, and so on - still 6...;
  • Then I gave up on a one-sided board, but the only use of the second side is under the buttons, where I joined the like-legs to make them into a jumper!

And that was all! Fully routed!

KiCAD Fully Routed

KiCAD Fully Routed

KiCAD 3D Preview

Simulate

TODO

Check the Design Rules, check the Electronics Rules

TODO

Files