The Electronics Production #
The Electronics Production Process
Designing a PCB: #
For this week’s assignment, I have decided I will try to work with the ESP32 S3, per the recommendation for my final project. I want to create a breakout board that I can use when trying to work with an accelerometer and an e-ink screen. As such my board will include an 8-pin header and a 4-pin header. I will also include and LED and resistor so that I can program the board to blink.
I’ve been struggling a bit to figure out how to match the pins on the ESP32 with the E-ink display. I’ve found the following resources through which it seems like I should be able to discern the answer, but alas I can’t make heads or tails of them:
I’ve also been talking to Claude to try and get a sense of how to create a schematic for my ESP32 breakout board. Here is what Claude suggested:
J3 (SPI E-Ink Header): Pin 1: MOSI (D10) Pin 2: SCK (D8) Pin 3: CS (D3) Pin 4: DC (D2) Pin 5: RST (D1) Pin 6: BUSY (D6) Pin 7: 3V3 Pin 8: GND
Fortuntely this seems to match information from this website, so i feel confident enough to go ahead and create a schematic based on these corroborating sources.
For my ESP32-S3 my Eink Display matches up with the corresponding pins: Busy: D4/SDA/A4/GPIO5 RST: D3/A3/GPIO4 DC: D2/A2/GPIO3 CS: D1/A1/GPIO2 CLK: D8/A8/SCK/GPIO7 DIN: D10/MOSI GND: GND VCC: 3V3
As for the accelerometer, I am connecting the following pins (this was easier to find online): SDA: D4/A4/SDA/GPIO5 SCL: D5/A5/SCL VCC: 3V3 GND: GND
How to use the Roland SRM-20 Milling Machine: #
-
Select an end mill:
- Options: 1/32" and 1/64"
- 1/32" is for outlines
- 1/64" is for traces
- Check to see if the end mill isn’t chipped
- Options: 1/32" and 1/64"
-
Setting up the Roland: (file > home > mods > js)
- Measure PCB in KiCad, and double check in Milling mode on computer
- Put in black and white image - png image (you will be left with the white and the black will be the stock)
- Cut traces first, then cut outline to ensure stability of board
- Make sure the spoilboard is completely flat and clean
- Make sure the copper board you are using is also flat (smaller boards are less likely to wrap and bend)
- Place 3 pieces of tape below copper board vertically and horizontally to avoid movement –> ensure tape is below where you will be milling
- Place board on the bottom left corner, slightly offset, and use a plastic board to put pressure on the board and ensure cohesion
- Select mill traces first on the computer mod > select calculate inside “mill raster 2d”
Install end mill:
- Pull out alan key from below the milling machine
- Push end mill up quite far, almost to tapered part, then start tightening
- Under “roland srm milling machine” mod > select origin: x, y & z
- Select z height: 10 mm > lower again if needed and move the x or y to make sure the end mill is in the middle of the stock
- Loosen end mill again, and release underneath your finger until it touches surface
- apply downward force on end mill and retighten with alan key
- Click “open” on websocket device –> might need to click calculate again
- Click “send file to device”



TBD: #
The Final Product: #
Click Here to Download PCB Gerber File
TBD
Notes and Resources
Class Notes: #
- make sure to recalibrate control software when lowering mill as it will lift up when you tighten it
Recitation Notes: #
Pattern recognition is key*
Category 1 (will ruin everything)
- Milling issues/solder brigdges
- Cold joints
- Orientations
- Connections
- Power grids/shorts
Category 2 (soft problems)
- Wrong GPIO
- Transmit/receive issue
- Clock issues
Office Hours Notes: #
AI Conversation Link: #
/* Right sidebar (page table of contents) */ .book-toc { width: 250px; padding: 1rem; background-color: #f0f0f0; position: sticky; top: 1rem; }
/* Force the right sidebar (ToC) to always show / .book-toc { display: block !important; position: sticky; top: 1rem; width: 250px; / adjust width if you like */ }
/* Ensure the toggle input doesn’t hide it */ #toc-control:checked ~ main .book-toc, #toc-control ~ main .book-toc { display: block !important; }