Assignment

  • 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 multimeter and oscilloscope)
  • 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 to interact and communicate with an embedded microcontroller
  • All the important links are Here

    Learning outcomes

  • Select and use software for circuit board design
  • Demonstrate workflows used in circuit board design
  • Group Assignment

    For further information, please check our 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 multimeter and oscilloscope)
  • Multimeter

    This is the multimeter we used

    Your Image Description

    Here is a labelled image of it.

    Your Image Description

    What is a Multimeter?

    A multimeter, short for "multiple meter," is a versatile electronic instrument used to measure various electrical characteristics of electronic circuits and components. It typically combines several measurement functions into one device, allowing users to measure voltage, current, resistance, and often other parameters such as capacitance, continuity, and diode testing.

      Here are some common functions and features of a multimeter:

    • Voltage Measurement: Multimeters can measure both DC (Direct Current) and AC (Alternating Current) voltage levels. They are used to measure the voltage across different points in a circuit.
    • Current Measurement: Multimeters can measure both DC and AC current. They can be used to measure the current flowing through a circuit or component.
    • Resistance Measurement: Multimeters can measure the resistance of resistors or other components in a circuit. This feature is useful for troubleshooting circuits and checking for faulty components.
    • Continuity Testing: Multimeters can check for continuity in a circuit, indicating whether there is a complete path for current flow. This is often used to check for broken wires or connections.

    Oscillioscope

    What is a Oscillioscope?

    Your Image Description

    An oscilloscope is a tool used in electronics to visualize and measure electrical signals over time. It displays these signals on a screen as waveforms, allowing engineers and technicians to analyze various properties such as voltage, frequency, and timing. Oscilloscopes are essential for troubleshooting, design, and testing electronic circuit

      Common functions and features of an oscilloscope include:

  • Channels: Most oscilloscopes have multiple input channels, allowing you to measure and display several signals simultaneously.
  • Vertical Controls: These controls adjust the voltage scale and position of the waveform on the screen for each channel.
  • Horizontal Controls: These controls adjust the time scale and position of the waveform on the screen, enabling you to analyze signal timing.
  • Waveform Display: The oscilloscope displays waveforms graphically on a screen, showing voltage on the vertical axis and time on the horizontal axis.
  • Measurement Functions: Oscilloscopes can measure various waveform parameters, including voltage, frequency, period, rise time, fall time, and more.
  • Automatic Measurements: Some oscilloscopes offer automatic measurement functions that calculate and display waveform parameters without manual intervention.
  • Individual Assignment

  • Use an EDA tool to design a development board to interact and communicate with an embedded microcontroller
  • Designing

    To design the Schematic and PCB, I used the Kicad Software

    I started my schematic with this as a reference, I created the sketch for my final project board. And also considering the basic circuit for the ATtiny44 I found in embedded programming page under the fab academy site.

    Image 1
    Image 2

    Firstly, to get familiar with using the software. It is a must you know the tools availble.

    Image 1
    Image 2

    Tools you need to keep in mind

    Adding symbol library

    Your Image Description
    Image 1
    Image 2

    Electronic Rule Checker(ERC)

    It's a feature that automatically checks your schematic for common electrical errors or rule violations. When you run the ERC, KiCad analyzes your schematic to ensure that it adheres to certain electrical design rules and standards. ERC in KiCad acts like a spell checker for your schematic, helping you catch potential mistakes or problems that could cause issues in your circuit. It checks things like unconnected pins, duplicate net names, incorrect power connections, and other common errors to ensure your design is electrically sound. Running ERC before moving to PCB layout helps prevent costly mistakes and ensures a smoother design process.

    Your Image Description
    Your Image Description

    Annotate

    Annotation in KiCad refers to the process of assigning unique identifiers or reference designators to the components in your schematic. These identifiers help distinguish one component from another and are essential for the proper organization and assembly of your circuit.annotation in KiCad ensures that each component in your schematic has a distinct name or number so that they can be easily identified during the design process and when assembling the physical circuit board. This helps avoid confusion and ensures that all components are correctly placed and connected.

  • Go to "Tools" on the top tool panel, and click on "Annotate Schematic"
  • Your Image Description

    Adding footprints

    Footprints in KiCad are like outlines or stamps that show where to place electronic components on a printed circuit board (PCB). They define the size, shape, and layout of pads and solder mask openings for soldering components onto the board.

  • Go to "Tools" and click on "Assign footprints"
  • Your Image Description

    Starting the schematic

    At first I connected every symbol with wires and added a resistor for every switch I had.

    Your Image Description

    Then I remembered that our instructor taught us about labels!

    Your Image Description

    Then I switched to PCB editor

    Your Image Description

    Now lets get to know the tools there!

    Your Image Description

    Additing predefined netclass

    Adding predefined net classes in the PCB editor in KiCad allows you to organize and manage groups of nets with similar properties, such as signals or power connections. This feature simplifies the routing process by applying specific design rules or settings to entire groups of nets at once.

    Your Image Description
    Image 1
    Image 2
    Your Image Description
    Your Image Description

    While editing the pcb, I needed more 0 ohm resistors.

    Image 1
    Image 2

    These are the versions of my board(I am very bad in making connections in PCB editor)

    Image 1
    Image 2
    Image 1
    Image 2
    Your Image Description

    Then finally I was relieved but..

    Your Image Description

    .....I ended up with 19 0ohm RESISTORS!!!

    Your Image Description

    Printing

    I will be using the Roland SRM 20

    Your Image Description
    Your Image Description

    UH OH...

    I set the origins wrong and not 0 while making the .rml file. And it resulted in the printer milling the wrong way and breaking a 1/64 drilling bit.

    Image 1
    Image 2

    But our instructor gave us a new drilling bit! YIPPEY!!

    Your Image Description

    Becuase I broke a drilling bit, Damzang helped me set the machine up and create the .rml file.

    Your Image Description

    Printing(milled the right direction)

    Routes

    Image 1
    Image 2

    Edge cuts

    Image 1
    Image 2

    Taking out!

    Your Image Description
    Your Image Description

    Done!!

    Your Image Description

    Soldering

    Components

    Image 1
    Image 2
    Your Image Description

    Programming

    With the help of Yangtshel(My friend), I tried programming my board using AVR ISP. But the code never uploaded. And everytime we connected the GND of my board to the GND of the Arduino UNO it kept losing connection. I showed it to my Instructor and he helped me fix the problem. It turned out that the problem was with my 19 0ohm RESISTORS! So the main problem was caused when I added a 0 ohm resistor of which one side connected to VCC and the other to GND. And the reason why you can't connect a resistor between a VCC and GND is because(As explained by my friend Yangtshel to me) connecting VCC and GND directly with a 0 ohm resistor effectively creates a short circuit between the power supply's positive and ground terminals. This short circuit could potentially damage the power supply or other components in the circuit(The GND and VCC always have to be seperated)

    That is why the below didn't work. I didn't remove the 0 ohm resistors that created a short circuit in my board.

    Your Image Description

    After my instructor pointed the problems out and left me to identify what the problem really was, I concluded that:

    Your Image Description

    I programmed my board using Arduino Uno as my programmer!

    Firstly making the Arduino Uno a programmer

    Image 1
    Image 2
    Image 1
    Image 2

    Uploading the blink code to my board using the Arduino Uno as the programmer

    Image 1
    Image 2
    Image 1
    Image 2
    Image 1
    Image 2
    Image 1
    Image 2
    Your Image Description
    Your Image Description

    Testing

    To make sure, (My friend Yangtshel's advice) Initialize the wrong digital pin LED_BUILTIN to check whether your board is really programmed or not.