4. Electronics production¶
During this week, the assignement was :
- characterize the design rules for your in-house PCB production process
- make and test a microcontroller development board
At the begining, we have done the group assignement here to characterize the design rules for in-house PCB production process.
Hero shot¶
1. Making the microcontroller board¶
This microcontroller was built following the instructions on the page Quentorres. swd+uart adapter+hello board - xiao rp2040.
1.1. The drilling¶
To do the drilling, I use the Roland SRM-20 and the mods project software . I choose the 2D cutter in the cutter section of the SRM-20 and fill in the parameters as follows: 0.1 mm depth min and max, with a 0.1 mm diameter cutter, offset of 4, stepover 0.5 and 1.5 mm/s speed.
At first, I didn’t get very convincing results, with unclear edges and what appeared to be an accumulation of material on the edges.
But with a little polishing, using sandpaper, the result was clear.
1.2. The soldering¶
At first, I look for all the components I need and place them on my plate, to make sure I haven’t forgotten anything.
Then I solder one component at a time. It was a real challenge because of the thickness of the components. I even burnt an LED that had stuck to my soldering iron. I also put the LEDs the wrong way round at first. I realised this when I plugged in my plate. One LED didn’t light up briefly at first, so I took the multimeter and saw which way the electricity was flowing.
Then I open the Ardwino IDE to check that my microcontroller is working. First I go to file, preferences and put this URL in the add-in card manager:
https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json
Next, I download the Raspberry Pi Pico/RP2040 from F.Philhower by going to tool, board manager and searching for pico. Then I select the “Seeed XIAO RP2040” board. At first, I didn’t select a COM, so I get this message:
Compile error: exit status 0xc0000142
After a few attempts and searching, I finally connect the correct COM, which for me is 6. To test, I choose a simple ob blink test by going to file, example, basic, blink and I replace the LED_BUILTIN by 1 like this:
void setup() {
// initialize digital pin LED_BUILTIN as an output.
pinMode(1, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
digitalWrite(1, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(1, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}
I click on upload and here’s the result:
2. The Files¶
here you can find the Ardwino code.