Skip to content

Electronics Production

Group assignments

  • characterize the design rules for your in-house PCB production process
  • submit a PCB design to a board house

My group assignments


Individual Assignments

  • make and test a microcontroller development board that you designed
  • extra credit: make it with another process

Have you answered these questions?

  • Linked to the group assignment page
  • Documented how you made the toolpath
  • Documented how you made (milled, stuffed, soldered) the board
  • Documented that your board is functional
  • Explained any problems and how you fixed them
  • Uploaded your source code
  • Included a ‘hero shot’ of your board

PC working environment

  • PC: MacBook Pro(16-inch,2019)
  • OS: Sonoma 14.7.2
  • Terminal: zsh

hero shot

alt text

hero video

Original development board

In this case, we used the one created in week6.

1.Board design

  • Schematic alt text

  • PCB alt text

2.tool path

2.0 add filled zone(Kicad)

There seem to be several advantages, but in my case, I chose Fill GND to reduce the machining area and shorten the machining time.

alt text alt text

In my case cutting time was reduced by 1/3.

2.1 Export file

file > export > SVG

alt text alt text

2.2 V Carve Pro Operation

  • As a preliminary preparation, convert the exported SVG file in Kicad to a PNG file.

  • Create New File Open Create a new file

alt text

  • job setup

Set up the left material you will use.

my setup
width 100mm
height 75mm
thickness 1.6mm

NOTE :
 

Note the following as it relates to the work that follows, “Setting the User Origin for V Panel Operation”.

Set Z Zero Position to Material Surface

  • The instructor told us that Zero Position is set to Material Surface in order to make delicate cuts in base cutting and to make thickness variation more uniform.

XY Datum PositionUser

  • Be sure to uncheck Offset.

alt text

  • Fileをimport

file > import > import Bitmap > open File

alt text

  • Trace Bitmap

1.setting
2.Preview
3.Apply
4.Delete superfluous layers that overlap

alt text

  • Grouping of outline and pattern separately

Ungroup
Right click > Ungroup Object > Ungroup back onto original object layers

grouping
Right click > Group Objects

alt text

  • Material setup

alt text

Check that there is no difference from the value set in job setup, and click “OK” if there is no difference.

alt text

Pocket Toolpath

alt text

  • Add the endmill to be used. If none, add the following

1.select
2.+
3.tool diameter,flutes
4.Apply
5.Select

my setup
diameter 0.4mm
flutes 2

Feeds and Speeds

  • Spindle Speed > 15000 r.p.m
  • Chip load > 0.005 mm
  • Feed Rate > 150 mm/min
  • Plunge Rate > 200 mm/min

alt text

  • setting passes

1.Edit passes
2.depth
3.Number of Passes > set passes
4.OK

my setup
Depth 0.2
Number of passes 1

alt text

  • select offset,climb

alt text

  • Calculate

Calculate it as follows.

3D

alt text

2D

alt text

Profile Toolpath

alt text

  • Add the endmill to be used.

1.select
2.+
3.tool diameter,flutes
4.Apply
5.Select

my setup
diameter 0.8mm
flutes 2

Feeds and Speeds

  • Spindle Speed > 15000 r.p.m
  • Chip load > 0.005 mm
  • Feed Rate > 150 mm/min
  • Plunge Rate > 200 mm/min

alt text

  • setting passes

1.Edit passes
2.depth
3.Number of Passes > set passes
4.OK

my setup
Depth 0.4
Number of passes 4

alt text

  • Calculate

  • simulation

Blue frame : result
Red frame : Check the Rapid Rate you selected.

alt text

  • save toolpath

Save each tool used at this time.

alt text

0.4mm

alt text

0.8mm

alt text

3.milling

3.0 MDX-40A, V Panel operation

Pay attention to west-harima week-assignments 08 regarding feed rate, spindle ratio, and origin, and proceed with the following process.

  • Fixtured the board to spoil board (sacrificial layer).

NOTE :

  • In FabLab West-harima, Acrylic double-sided tape in 100 yen shop is used.

  • Set chuck (Depend on mill size, change Chuck)

alt text

  • Mill set(Do not overtighten)

alt text

  • Set Z Probe and click button to set the Z origin. (NOTE: Z Probe set = tool path origin)

alt text alt text

  • Set X0 Y0

    • Move the mill to the XO and YO position.

alt text alt text

NOTE :
It is possible to move endmill fast, but be careful.

  • File upload

alt text

  • If the upload file is remain, "all file delete" and "add file" and click "output". (Automatically, start machining )

alt text

  • Milling start

alt text

  • Vacuum

  • Take off the board from spoil board (sacrificial layer).

alt text

  • Take off the mill.

  • Done!

alt text

4.Soldering

4.0 Parts Preparation

Actually, there was another 0-ohm resistor, but I failed to take a picture of it...

alt text

4.1 Datasheet check

Before Soldering, check the datasheet for components that need attention.

4.2 Resistor mounting

alt text

At that time, I was soldering while looking at the PCB I designed, but I accidentally attached a resistor with the wrong value...
I realized that it is important to note which resistor value should be used and where, so that I can understand it later when I look at the PCB.

alt text

4.3 LED Mounting

Since I installed the LEDs in the opposite way in week4, this time I marked them while looking at the data sheet to make sure I did not make a mistake. This time, I installed the LEDs without making a mistake.

alt text alt text

4.4 Button Mounting

Attention to installation polarity

alt text

4.5 ESP32S3 installation

This time I put Kapton tape on the back side before installing. (Be careful not to cover the pins.)

alt text

I will heat it properly and install it so that the solder flows into the hole.
Be careful not to let the adjacent ones touch each other at this stage.

alt text

4.6 PinHeader取り付け

The instructor taught me an easier way to install it! This is the West-Harima method :)

alt text alt text

4.6 Testing with a multimeter

Wipe off the flux before testing.
After testing, I found some soldering defects, so I corrected them.

alt text

This time, I programmed using the Arduino IDE.

5.0 Open the Arduino IDE

5.1 Choose Board

Tools > Board > ESP32 > ESP32S3

alt text

5.2 Choose Port

Tools > Port > Select the Port you want to use

alt text

5.3 Programming

I used the code previously used in week4.

On my board, the pin connected to the LED is D9, and the pin connected to the button is D10, so I just modified that.


const int ledPin1 = D9;
const int buttonPin = D10;
int buttonState = 0;
int i = 0; 

void setup() { //declaration of inputs and outputs
  pinMode(ledPin1, OUTPUT);
  pinMode(buttonPin, INPUT);
}
void loop() {
  buttonState = digitalRead(buttonPin);
  if (buttonState == HIGH) { 
  digitalWrite(ledPin1, HIGH);
  delay(1000);                       
  digitalWrite(ledPin1, LOW);    
  delay(1000);
  digitalWrite(ledPin1, HIGH);
  delay(1000);                       
  digitalWrite(ledPin1, LOW);    
  delay(1000);
  digitalWrite(ledPin1, HIGH);
  delay(1000);                        
  digitalWrite(ledPin1, LOW);    
  delay(1000);

}
  else {  
  digitalWrite(ledPin1, LOW);

5.4 result

Datasheet

  • ESP32S3

    • Pinout

lat text

impressions

  • I learned that it takes a lot of process and time to design and program a board.
  • I was happy to be able to install the LEDs with the correct polarity.
  • I thought it would be easier to make mistakes when soldering if I knew which resistor goes through how many resistors when I looked at the PCB design later.