Fab Academy 2024 Website

  • Home
  • About
  • WEEK1 Project Management / Principles and Practices
  • WEEK2 Computer Aided Design
  • WEEK3 Computer-controlled cutting
  • WEEK4 Electronics production
  • WEEK5 3D scanning and printing
  • WEEK6 Embedded programming
  • WEEK7 Computer-controlled machining
  • WEEK8 Electronics design
  • WEEK9 Output devices
  • WEEK10 Mechanical design, Machine design
  • WEEK11 Input devices
  • WEEK12 Molding and casting
  • WEEK13 Networking and communications
  • WEEK14 Interface and application programming
  • WEEK15 Wildcard week
  • WEEK16 System integration
  • WEEK17 Applications and implications, project development
  • WEEK18 Invention, intellectual property, and income
  • Final
目次
  • WEEK4 Electronics production
    • Group Assignment
    • Indivisual Assignment
      • Data
        • Traces data
        • Drills data
        • Interior data
        • Generate G-code from PNG
        • gSender (Send g-code to CNC milling machine)
        • Start milling
        • Leveling
        • Finally
        • Deburring
        • Using the water stone sharpening sheet
        • Finished
        • Soldering
          • Tools
        • Soldering
        • Ready to run test program.
      • Install Arudino IDE
        • open the Arduino Program
        • boards manager
        • configure the Arduino IDE for the Seeed Studio XIAO RP2040.
        • Load the Blink program.

WEEK4 Electronics production

  1. Fab Academy 2024 Website
  2. WEEK4 Electronics production
hito |


WEEK4 Electronics production

Group Assignment

characterize the design rules for your in-house PCB production process send a PCB out to a board house
Group assignment Page

Indivisual Assignment

make and test a microcontroller development board
extra credit: personalize the board

Data

Traces data

alt text

Drills data

alt text

Interior data

alt text

Generate G-code from PNG

I generate G-code from PNG files using mods CE.
alt text

gSender (Send g-code to CNC milling machine)

alt text

Start milling

This is my fourth try using the V-bit on the milling machine, but I still can't cut properly.
alt text alt text

Leveling

Because the base is not level, We level it. During the leveling process, we use the vacuum suction to suck up wood chips that may fly around.
alt text

Finally

After the fifth failed try with the V-Bit, We gave up on it and switched to a 1/64 bit. On the sixth try, We finally succeeded.
alt text

Deburring

alt text

Using the water stone sharpening sheet

alt text alt text

Finished

alt text

Soldering

Tools

alt text
・Soldering iron
・Solder
・Flux
・Solder sucker
・Nipper
・Tweezer

Components Amount
SEEED STUDIO XIAO RP2040 1
CONN HEADER SMD 10POS 1.27MM 1
CONN HEADER SMD R/A 6POS 2.54MM 1
Tactile Switch SPST-NO Top Actuated Surface Mount 1
LED BLUE CLEAR 1206 SMD 3
RES 1K OHM 1% 1/4W 1206 4
RES 499 OHM 1% 1/4W 1206 1
CONN HDR 7POS 0.1 TIN SMD* 2
alt text alt text alt text

Soldering

Apply a small amount of flux to the solder pads where the component leads will be soldered.
Single-Point Soldering:
・Use a soldering iron to melt solder onto one pad of the PCB, creating a small solder blob.
・Accurately position the component
・Reheat the solder blob with the soldering iron, allowing the component's terminal to come into contact and melt the solder.
alt text

Ready to run test program.

alt text

Install Arudino IDE

alt text

open the Arduino Program

Open up the Arduino IDE and go to File->Preferences.
In the dialog that pops up, enter the following URL in the "Additional Boards Manager URLs" field:
https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json
alt text

boards manager

Go to Tools->Boards->Board Manager in the IDE
Type "pico" in the search box and select "Add":
alt text

configure the Arduino IDE for the Seeed Studio XIAO RP2040.

alt text

Load the Blink program.

alt text

const int buttonPin = 27;
const int ledPin = 26;
const int ledPin1 = 1;
const int ledPin2 = 0;

int buttonState = 0;

// the setup function runs once when you press reset or power the board
void setup() {
  // initialize digital pin LED_BUILTIN as an output.
  pinMode(ledPin, OUTPUT);
  pinMode(ledPin1, OUTPUT);
  pinMode(ledPin2, OUTPUT);
  pinMode(buttonPin, INPUT);
}

// the loop function runs over and over again forever
void loop() {

  buttonState = digitalRead(buttonPin);

  if (buttonState == HIGH) {
    digitalWrite(ledPin, HIGH);  // turn the LED on (HIGH is the voltage level)
    digitalWrite(ledPin1, HIGH);  // turn the LED on (HIGH is the voltage level)
    digitalWrite(ledPin2, HIGH);  // turn the LED on (HIGH is the voltage level)
  } else {
    digitalWrite(ledPin, LOW);  // turn the LED on (HIGH is the voltage level)    
    digitalWrite(ledPin1, LOW);  // turn the LED on (HIGH is the voltage level)    
    digitalWrite(ledPin2, LOW);  // turn the LED on (HIGH is the voltage level)    
  }
}

Run successfully
alt text

Copyright 2024 Hajime Ito - Creative Commons Attribution Non Commercial

検索
キーワードを入力して検索を始めましょう