Skip to content

4. Electronics production

Weekly Summary

  • Checking parameter of SRM-20
  • Make a USB-D11C-serial

Assignments

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 an in-circuit programmer that includes a microcontroller: ( extra credit: customize the design ) - mill and stuff the PCB - test it to verify that it works ( extra credit: try other PCB processes )

Kamakura Group Assignment Week04

Individual Assignment

I will create a USB-D11C-serial.

I already had a “hello.t412” in fablab kamakura training.


mods

Get a rml file.

I saved the png files from class website.

Right click > programs>open server programs>machines>SRM-20>PCB png

Right click near “Roland SEM-20 Milling Machine” > modules>open server module>file>save

Connecting ”save file” inputs file and “Roland SEM-20 Milling Machine” outputs file

Press “select png file” in “read png” and select trace ping. Check the size and dpi.

Change the origin to 0,0,0.

Select “mill traces (1/64)”

Check the values and press “calculate”.

Press “select png file” in “read png” and select interior png.

Select “mill traces (1/32)”

Check the values and press “calculate”.


SRM-20

I used to 1/32 and 1/64 mill.

Move to SRM-20 and milling as group assignment setting.

USB-D11C-serial

Pick up parts and stuffing

Soldering with 320℃

I followed this documentation.

Connect the line as follows:

Open Bash.

But An Instructor suggested me to use “Windows PowerShell” or “Command Prompt” on windows pc.

Download edbg file from here

I downloaded “edbg-windows-r29.exe”.

Type command (Don’t forget to type .\ before edbg)

.\edbg-windows-r29.exe -h

.\edbg-windows-r29.exe -bpv -e -t samd11 -f sam_ba_Generic_D11C14A_SAMD11C14A.bin

I checked the connector of atmel-ice and reconnect multiple way.

But it didn’t work…

We tried again and took off that you don’t need with ultrasonic cutter this time.

And my instructor tried soldering. But it didn’t work.

So we offered to try another atmel-ice from Fablab Kamakura.

It will take around couple days. So we decided to try FT230.

FT230

Save the png files from class website and get the rml files in mods.

I added a little bit “hope” in trace design with illustrator.

Milling with SRM-20.

Taking off extra part with ultrasonic cutter.

Pick up parts and stuffing

Soldering with 240℃ for MCU and 340℃ for another parts

Connect with Arduino IDE.

But It didn’t show up…

Find out USB-D11C-serial wrong

First of all, regulator was different that we believe. it was different in and out.

Thank you soooooo much for our instructor.

I took it away and soldering again.

Trying programming again.

It didn’t going well…

Because I didn’t download bootloader!!

I added the bootloader file to the same folder with “edbg-windows-r29.exe”!!!!!!

and try again!!

verification failed…(TT)

type this code to cut off the security stuff!?

this code from here (Embedded Programming > JTAG SWD > softwear > Edbg > disable SAMD bootloader protection)

.\edbg-windows-r29.exe -b -t samd11 -F w,2:0,7

and try again!!

done, done and done!!!!!!!

Download this sketch.

And open Arduino file. Board : Gereric D11C14A

Programmer : AtmerlEDBG

Press “Barn Bootloader”

And you can see “Done upload”!!!!!!!!!!!!!!!


Open Arduino > preferences > click the right icon of Additional Boards Manager URLs

Add following URL to Additional Boards Manager URLs section.

http://drazzy.com/package_drazzy.com_index.json

Press okay.

Tools > Board > Boards manager > Install “mega TinyCore”

And add following URL to Additional Boards Manager URLs section too.

http://www.mattairtech.com/software/arduino/package_MattairTech_index.json

Press Okay.

Tools > Board > Boards manager > Install “MattairTech SAM D|L|C core for Arduino - Beta build”

Now you can select

Board : ATtiny412/ 402 / 212 / 202

Port : COM xx (select your board)

Programmer : ”SerialUPDI - SLOW: S57600 board, any platform, any v…”

Try to uplode

//
// hello.t412.blink.ino
//
// tiny412 blink hello-world
//
// Neil Gershenfeld 12/8/19
//
// This work may be reproduced, modified, distributed,
// performed, and displayed for any purpose, but must
// acknowledge this project. Copyright is retained and
// must be preserved. The work is provided as is; no
// warranty is provided, and users accept all liability.
//

#include <avr/io.h>

#define LED_AVR PIN2_bm
#define LED_ARDUINO 3

void setup() {
   PORTA.DIRSET = LED_AVR;
   //pinMode(LED_ARDUINO,OUTPUT); // does the same thing
   }

void loop() {
   //
   // timing tests
   //
   // Arduino digitalWrite: 3.9 us/bit
   //
   digitalWrite(LED_ARDUINO,HIGH);
   digitalWrite(LED_ARDUINO,LOW);
   //
   // port read-modify-write: 304 ns/bit
   //    6 cycles at 20 MHz
   //
   PORTA.OUT |= LED_AVR;
   PORTA.OUT &= ~LED_AVR;
   //
   // port bit write: 96 ns
   //    2 cycles at 20 MHz
   //
   PORTA.OUTSET = LED_AVR;
   PORTA.OUTCLR = LED_AVR;
   //
   // virtual port write: 50 ns
   //    1 cycle at 20 MHz
   //
   VPORTA.OUT |= LED_AVR;
   VPORTA.OUT &= ~LED_AVR;
   //
   // blink
   //
   digitalWrite(LED_ARDUINO,HIGH);
   delay(500);
   digitalWrite(LED_ARDUINO,LOW);
   delay(500);
   }

It didn’t work…

03.06.2022

I remake the FT230 programmer again.

And it’s worked with my ATtiny 1614 board!!!!

I can program “hello eco”.

You can check it from “week6 documentation”.

  • hello.D11C.serial.5V.1.1.traces[.png]
  • hello.D11C.serial.5V.1.1.interior[.png]
  • hello.D11C.serial.5V.1.1.traces.png[.rml]
  • hello.D11C.serial.5V.1.1.interior.png[.rml]
  • ex_USB-FT230XS-serial.traces[.ai]
  • ex_USB-FT230XS-serial.traces[.png]
  • USB-FT230XS-serial.interior[.png]
  • ex_USB-FT230XS-serial.traces.png[.rml]
  • USB-FT230XS-serial.interior.png[.rml]


What I learned

Don’t trust your equipment. Overall instructors find out about our problem of USB-D11C-serial was regulator. It was different way to the in and out that we need.

So we needed to research what kind of parts we use.

I am really glad our instructors find out this issue with us!!!!!!!


Appendix


Last update: May 1, 2022