Skip to content

Task 2: Elaine’s Quentorres Board

This week’s individual task for electronic production week is to replicate the Quentorres Board with Fab Lab Bali’s in-house production process.

alt text

You can read more about the Quentorres board from here

The component needed are as follows:

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* 1

*: We would recommend not to have the XIAO directly soldered on the board so get that header.

Seeed XIAO RP2040

XIAO RP2040 is a powerful, small, microcontroller unit using the Raspberry RP2040 chip with 264KB of SRAM, and 2MB of onboard Flash memory. This microcontroller has dual-core ARM Cortex M0+ processor, and it can runs at up to 133MHz. Its’ small size makes it suitable for wearable devices and small projects. Our XIAO controllers came unsoldered with the headers, so let’s get to stuffing and programming the board

Stuffing

alt text alt text alt text

alt text

This is the result: alt text

Don’t forget to check for continuity with the multimeter!!!

Programming

Now this is the a Make-it or Break-it moment. To program, open-up Arduino IDE.

Go to Preferences> Additional Board Management Url, Copy-Paste the following into the entry

https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json

alt text

Configure Arduino IDE for the XIAO Board and make sure that the COM recognises the board. If your XIAO board turns on - it’s a good sign. alt text

Run a simple ‘Blink’ Code. Files>Examples>01.Basic>Blink. Change the LED_pin to 25.

/*
  Blink

  Turns an LED on for one second, then off for one second, repeatedly.

  Most Arduinos have an on-board LED you can control. On the UNO, MEGA and ZERO
  it is attached to digital pin 13, on MKR1000 on pin 6. LED_BUILTIN is set to
  the correct LED pin independent of which board is used.
  If you want to know what pin the on-board LED is connected to on your Arduino
  model, check the Technical Specs of your board at:
  https://www.arduino.cc/en/Main/Products

  modified 8 May 2014
  by Scott Fitzgerald
  modified 2 Sep 2016
  by Arturo Guadalupi
  modified 8 Sep 2016
  by Colby Newman

  This example code is in the public domain.

  https://www.arduino.cc/en/Tutorial/BuiltInExamples/Blink
*/

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

// the loop function runs over and over again forever
void loop() {
  digitalWrite(25, HIGH);  // turn the LED on (HIGH is the voltage level)
  delay(1000);                      // wait for a second
  digitalWrite(25, LOW);   // turn the LED off by making the voltage LOW
  delay(1000);                      // wait for a second
}

If your XIAO board is blinking that means congrats! It’s a good start.

alt text

Quentorres Board

You can get the png file for The Quentorres Board from here The workflow requires 3 processes.

  1. Tracing the Circuits
  2. Drilling Into the Hole
  3. Cutting the Interior from the FR1 Copper Board

alt text

Customising

I went for simple customisation on the tracing process by adding several cute y2k-inspired icons using vector-based software. Just make sure that when you export the document, the file follows the original resolution (1000dpi) and the original height is at 1824px. alt text

MODS

Open MODS. Right Click > Programs > Open Program > Find gcode Mill 2D PCB alt text

Tracing Settings -VBit

  1. Insert the Tracing .png file in read png. alt text

  2. Go to set PCB defaults. Because our 1/64 endmill wasn’t cutting as well as we hoped for, we decided to use the VBit. The VBit settings that we configured based on the trial and error process we did in the group assignment are as follows. alt text

  3. Press isolate traces and head to Path to G-Code, insert the following setting alt text

  4. Head to mill raster 2d, check if your settings are already right and press calculate. A save window should pop up with a g-code file that has been generated with a .nc. file type. alt textalt text

  5. Head to view toolpath for a simulated workflow that will be run by the machine alt textalt text

Drilling & Cutting Settings

  1. Insert the Drilling and Cutting .png files in read png alt text

  2. We will be using the 1/32” Endmill for cutting and drilling. In set PCB defaults follow these settings
    alt text

  3. Press the mill outlines, go to path to gcode follow these settings alt text

  4. mill raster 2d > calculate>save .nc file alt text

  5. view toolpath>view to make sure the toolpath suits right alt text

Milling

This week I worked on Candle software to operate the GRBL firmware that comes with the Sainsmart Genmitsu 3018-PRO CNC Router DIY Kit. Order of PCB production after setting up the gcode files to be operated is to > Set XY (0,0) for Home > Z-probe > HeightMap > Airpass > Mill. alt textalt text

1st Board: Failure

The VBit has undergone 3 Tracing Jobs before mine and the result is that the circuit lines were too thin with some getting completely rubbed off.... Using the multimeter some doesn’t have continuity, so it’s a failure.

alt textalt text

2nd Board: Getting There

I changed into a new V-Bit and the result of the tracing is cleaner. I was using the leftover FR board drom the previous job. While airpassing, because the cutting job would be very close to the edges which seemed very risky, I just decided to do trace+drill. The jig wasnt really holding well the smaller board either (maybe I placed it loosely or wrong) so the small circles were drilled out of place…

alt text alt text

However, as I did a continuity test with the multimeter, I found that everything was working just fine. So I have a Quentorres with a very huge Ground plane.

3rd Board: Success!!

I managed to mill a third board successfully. Sand the board with a fine grit sanding paper to smoothen out the surface. I want to share some personal findings after going through multiple trials and tribulations with milling the Quentorres board. alt text

Milling with Genmitsu 3018 Tips that may be helpful
  • A good distance from the spindle to the milling bits would ideally be (15mm). Beyond 15mm the trace would be too deep; less than 15mm, the mill will not cut through

    alt text

  • Airpass. Airpass is very important, it would reduce the chance of failure

  • Heightmap. I learn that a PCB board is not always flat. Heightmap will help to make the machine adjust to the PCB - especially if you’re using a jig rather than a sacrificial board
  • The more you mill, the more you cause wear and stress on the milling bit. This can affect your milling results. In the context of tracing, after several mill jobs - you can start offsetting the height so that your trace tracks will come out cleanly.

Stuffing

I have never stuffed directly on a copper board with massive ground plane area… my only experience with stuffing was on a board that has been coated with a UV mask......

Soldering Good Practice

  • Prepare your necessary electronic componenets before hand. Write down the components that you need on a paper and attach the following components. A bit of fun tip… we couldn’t get the required 7 pin header in Bali so we hacked the 8 pin socket header!

alt text alt text alt text alt text alt text alt text

  • Make sure that you have your table ready with the required equipments to do stuffing. This includes
    • soldering iron
    • solder wire
    • copper spool
    • flux
    • tweezers
    • fume extractor
    • lamp
    • soldering wick
    • multimeter
    • tip refresher

alt text

  • Your soldering iron tip needs to be shiny and not oxidised. To keep the tip shiny, always tin the tip with solder to avoid oxidation. Brush it with the copper spool in a revolving motion when you’re going to use the solder. You can also use a tip refresher if the soldering iron tip had become too oxidised.

alt text

  • Always flux - this helps to spread the solder to the copper board evenly.

alt text

  • Order of work: Flux the board –> flux your tip –> heat the board with the soldering iron –> tin with solder –> spread the solder onto the board –> attach your component by reheating the solder

alt text alt text alt text alt text

  • The standard temperature level to solder is at 320°-350°C
  • If you use too much solder, wipe it with the solder wick. Flux the wick before picking up the excess solder
  • The multimeter will be your friend to check if your soldering job is fine or not. Make sure to check as you solder the components so that you can avoid having unwanted continuity or possibility of shorting.

First Board: Horrible

I have no words to say other than it’s a nightmare. In my defence - my tip wasn’t shiny so I had a hard time tinning with the solder and I increased the temperature to 400°C (don’t! you’ll destroy the copper layer - see how I made holes onto the footpad) alt text

Second Board: I did it.... but BIG OOPS!

Hooray I did it!!!!

alt text

However.... I didn’t take a hero shot upon immediate success. I thought I’ll wait till the morning to get some natural lighting but upon closer inspection.... the LED wasn’t soldered right in place which caused unwanted shorting the next morning when I finally mustered up the motivation to document my work.

alt text

So I tried to fix it but..... alt text

cry

Can’t be bothered milling another board… let’s repair it!!!

We didnt have a jumper wire and I was too lazy to mill another board just because of a missing footpad..... so I decide to do some big brain move with all my trials and tribulations and fix the board.

Modern problem requires modern solution. So I took the extra pin from the customised pin headers and cut it equal to the length of path from the resistor to the LED (a jumper pin!)

alt text

Next I solder the jumper pin from the end of the resistor footpad to the end of the LED footpad. Since the jumper pin is flat - if i dont solder it at a certain angle , positioning it flat will cause some shoring as the pin will be directly touching the ground plane. However.... remember that I caused some holes in my first soldering try?? I decided to just make a border around the jumper pin… yes, I made a path through force with the soldering iron (when there is a will, there is a way!)

alt text Excuse my oxidised board… Bali is very humid and we live very close to the beach. The solder is looking shinier because I refluxed it with a new flux (please don’t use a 10 year old flux - I learned my lesson)

Programming

/*
  Blink

  Turns an LED on for one second, then off for one second, repeatedly.

  Most Arduinos have an on-board LED you can control. On the UNO, MEGA and ZERO
  it is attached to digital pin 13, on MKR1000 on pin 6. LED_BUILTIN is set to
  the correct LED pin independent of which board is used.
  If you want to know what pin the on-board LED is connected to on your Arduino
  model, check the Technical Specs of your board at:
  https://www.arduino.cc/en/Main/Products

  modified 8 May 2014
  by Scott Fitzgerald
  modified 2 Sep 2016
  by Arturo Guadalupi
  modified 8 Sep 2016
  by Colby Newman

  This example code is in the public domain.

  https://www.arduino.cc/en/Tutorial/BuiltInExamples/Blink
*/

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

// the loop function runs over and over again forever
void loop() {
  digitalWrite(26, HIGH);  // turn the LED on (HIGH is the voltage level)
  delay(1000);                      // wait for a second
  digitalWrite(26, LOW);   // turn the LED off by making the voltage LOW
  delay(1000);                      // wait for a second
}
I did it :)

alt text