week 4 - Electronics Production : Local Session#

  • created for 2021 cycle: 1/29/2021 by Jun Kawahara, Kae Nagano
  • updated for 2022 cycle: 2/14/2022 by Yosuke Tsuchiya

20210217 Electronics Production: class recording


This is the first week of five electronics-related assignments.

  • Electronics Production(this week): You will learn how to make circuits
  • Electronics Design: You will learn how to design them
  • Embedded Programming: You will learn how to program them
  • Input Devices: You will learn how to bring input into them
  • Output Devices: You will learn how to bring output out of them
  • Networking and Communications: You will learn how to communicate them each other.
  • Interface and Application Programming: You will learn how to control them from PC/smartphone.

Assessment#

from Assessment - Electronics Production

  • Individual assignment
    • Make an in-circuit programmer by milling and stuffing the PCB, test it, then optionally try other PCB fabrication process.  

  • Group assignment

    • Characterize the design rules for your PCB production process: document feeds, speeds, plunge rate, depth of cut (traces and outline) and tooling.
    • document your work (in a group or individually)
  • Learning outcomes

    • Described the process of milling, stuffing, de-bugging and programming
    • Demonstrate correct workflows and identify areas for improvement if required
  • Have you?

    • Linked to the group assignment page
    • Documented how you made (mill, stuff, solder) the board
    • Documented that your board is functional
    • Explained any problems and how you fixed them
    • Included a ‘hero shot’ of your board
  • FAQ

Does the in-circuit programmer need to work to complete the assignment?
Answer: Yes. Your board must be recognized by the host computer and it must be able to communicate with the target board.

What is an ISP?#

ISP (In-system Programmer), or ICSP (In-Circuit Serial Programmer) is a device that translate the commands sent from the PC (via USB) into a language that microcontrollers understand.

commercial ISPs#

before Local session…#

  • First, decide which microcontroller you use for coming electronics assignments and possibly for final project, which defines your assignment in this week.
  • Read through past years’ pages.

Microcontrollers (old and new)#

Neil introduced new microcontrollers two years ago. Since then, he says AtTiny 44,84 and 328P are obsolete, and strongly recommends that students use new microcontrollers, such as AtTiny412, 1614, 3216, ATSAMD11, and ATSMAD21.

Chip Pins Flash RAM Max CLK Bits Prog ~Price Note
AtTiny44 14 4kB 256B 20MHz 8 ISP $1.40 1-SPI, 1-I2C
AtTiny85 8 8kB 512B 20MHz 8 ISP $0.96 1-SPI, 1-I2C
AtMega328P 28-32 32kB 2kB 20MHz 8 ISP $1.70 Arduino Uno,
1-UART, 2-SPI, 1-I2C
AtTiny412 8 4kB 256B 20MHz 8 UPDI $0.37 1-UART, 1-SPI, 1-I2C
AtTiny1614 14 16kB 2kB 20MHz 8 UPDI $0.60 1-UART, 1-SPI, 1-I2C
AtTiny3216 20 32kB 2kB 20MHz 8 UPDI $1.10 1-UART, 1-SPI, 1-I2C
ATSAMD11C14 14 16kB 4kB 48MHz 32 SWD/JTAG $0.97 2 SERCOM
ATSAMD11D14 20 16kB 4kB 48MHz 32 SWD/JTAG $1.07 3 SERCOM
ATSAMD21E18 32 256kB 32kB 48MHz 32 SWD/JTAG $2.41 Arduino Zero,
4 SERCOM

(credit: original table, and modified)

examples in past years#

workflow#

Group assignments#

  • leveling the spoil board(面だし): 60 min
  • mods and SRM-20 operartion tutorial
  • As group, characterize the design rules for your PCB production process: document feeds, speeds, plunge rate, depth of cut (traces and outline) and tooling.

    trace interior

Indivisual assignments#

  • create gcode with mods
  • mill your board
  • post-processing
  • stuffing
  • debugging
  • program

tinyAVR#

  • pros
    • relatively more examples than ATSAMD
    • no firmware programming
    • Arduino compatible after burning bootloader
  • cons
    • soldering tiny FT230X pins
    • USBPCB is far from stable connection
  • Writing a program
    • PyUPDI
    • PyMcuProg

ATSAMD#

  • pros
    • more pins and powerful than tinyAVR
    • Arduino compatible after burning bootloader
  • cons
    • firmware programing needed
    • orientation of JTAG/SWD pin is quite annoying…
  • Writing a program
    • edbg
    • openocd
      • cfg file for burning bootloader for SAMD11-Serial

references#

Class recording#