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
- group assignment
- characterize the design rules for your in-house PCB production process
- extra credit: send a PCB out to a board house
-
individual assignment
- make and test the development board that you designed to interact and communicate with an embedded microcontroller
- extra credit: make it with another process
-
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#
- AVRISP mkII / ¥4,968 JPY - Microchip Technology
- Atmel-ICE / $100.00 - Microchip Technology
- LPC-Link2 / $23.53 - NXP
- ST-link/V2 / $21.30 - STMicroelectronics
- ARM-USB-TINY-h / 39.95 EUR - Olimex
- ULINK2 Debug Adapter / $395.00 - arm
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#
- tinyAVR
- hello.USB-FTDI.FT230X ( + Serial-UPDI.2pin)
- USB-FTDI is more flexible than USB-UPDI.FT230X (but it is VERY difficult to solder FT230X chip. )
- hello.USB-UPDI.FT230X
- USB-D11C-Serial( + Serial-UPDI.2pin)
- added from 2022 Cycle. Make this one with SAMD11 for writing tiny AVR via UPDI. Need Atmel-ICE (or FreeDAP) to write SAMD11-Serial.
- ATtiny1614
- Adrián Torres - Fab Lab León, 2020
- ATtiny 3216
- Justin Browning Christensen - MIT/HTMAA
- ATSAMD
- FreeDAP
- JTAG writer for SAMD chips
- USB-D11C-SWD-10 pin
- USB-D11C-SWD-4
- http://fab.academany.org/2020/labs/bahrain/students/maryam-ali/posts/2020/02/21/week05.html
- http://fab.academany.org/2020/labs/bahrain/students/sara-islam/assignments/week05/
- SAMD11C
- Adrián Torres’s SAMDino - Fab Lab León, 2020
- Quentin Bolsee - FabLab ULB, 2020
- SAMD21E
- SAMDuino - FabLab Kamakura, 2020
- FreeDAP
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.
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
- SAMD21E for 32-pin version of Arduino Zero >> SAMDuino
- 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#
- mods / its repo on gitlab
- mods community edition / its repo on gitlab
- mods | Fab Academy Tutorial - Fab Academy
- Electronics Production - Fab Academy
- SRM-20 user’s manual - Roland DG
- RML-1 PROGRAMING GUIDELINE
- 資材・材料棚卸し調達リスト2021 (FabLab Kamakura Inventory 2021)
- プロなみJTAGデバックを個人でも!オープンソースOpenOCD入門 Interface 2015年3月号