Assignment #6
Electronics design

The sixth Fab Academy assignment is electronics design. As in the electronics production assignment, I chose an ATtiny45 to make a hello board following Neil’s instructions. Although I have some electronics experience, this is my first time exploring the topic in this much detail.

1 – analysis of the controller and schematics design

First, I read the ATtiny datasheet to understand each pin’s function. I added two LEDs and a switch, then checked my design against work by previous Fab Academy students. In particular, I looked at what Rutuja Patel did in 2018. After calculating the component values, I drew a schematic for what I hope will be a working hello board.
The result is a board that uses the following components:
- 1 x ATtiny45
- 2 x LEDs
- 1 x 10k resistor
- 1 x 499 resistor
- 1 x 1k resistor
- 1 x 2 x 3 pin connector

Assignment 6 documentation image: ass7 1 Assignment 6 documentation image: ass7 2

2 – designing the board with KiCad

With the schematic ready, it was time to design the board. KiCad’s workflow reminds me of Plato’s philosophy: first comes the schematic, the world of ideas; then the assignment of footprints and generation of a netlist, like the demiurge; and finally the PCB, the physical world! I added the components to the schematic and connected them. Some connections overlap in the drawing, but I could tidy the layout later. Assignment 6 documentation image: ass7 3 Assignment 6 documentation image: ass7 4 Once I was happy with the schematic I opened the “assign PCB component” menu, and explored the libraries available from KiCad. The components I’m using are quite basic, and therefore I was able to find all of them without needing to add extra components to my library. At the end of this process I generated a so-called netlist. Assignment 6 documentation image: ass7 5 Next, I opened the PCB editor and imported the netlist. I increased the track width in the design rules to make the board easier to mill. I used a track width of 0.4, a drill diameter of 0.8, and a clearance of 0.2, half the diameter of the bit intended for the traces. Assignment 6 documentation image: ass7 17 I tried to produce a board as compact as possible, and then I created an infill layer below so that it will be possible for me to cut it out using FlatCAM (see the circuit production assignment for more info about this). Once I was happy with my PCB I exported my gerber files for milling. Assignment 6 documentation image: ass7 6

3 – milling the board

I imported the board into FlatCAM, generated the G-code, and milled it with my Stepcraft 2/600 Black Edition. Assignment 6 documentation image: ass7 7 Assignment 6 documentation image: ass7 8

4– soldering the components

I then soldered the components. After the difficulties of the electronics production assignment, I was very careful. This time, I fitted everything without too much trouble, although I was nervous throughout. Multimeter checks indicated that the connections were good.

Assignment 6 documentation image: ass7 9 Assignment 6 documentation image: ass7 10

5 - Satshakit

On my local instructor’s advice, I also decided to make a custom version of the Satshakit . The Satshakit is an Arduino-compatible board designed by former Fab Academy student Daniele Ingrassia. Since I have some Arduino experience, I thought it would be a good basis for my final project. I adapted its shape to fit the shells I had already designed. The board uses the following components:
- 1 x ATMEGA328P-AU
- 1 x switch
- 1 x 16Mhz/18pF crystal
- 2 x LEDs
- 2 x 499 resistor
- 1 x 1k resistor
- 2 x 22pF capacitor
- 1 x 10uF capacitor
- 1 x 1uF capacitor
- 2 x pin connector
As with the hello board, I redrew the schematic in KiCad and assigned footprints. In the PCB editor, I imported a DWG drawing showing the positions of features in the printed shell. I used it to place the mounting holes and define the board outline. I positioned the pins near the centre of the device and reserved the other half for input and output devices. The resulting outline is unusual: a fully circular board would have wasted too much material. Assignment 6 documentation image: ass7 11 Before exporting the Gerber files, I used the KiCad StepUp add-on to check the board’s dimensions. The fit looked correct, so I exported the files. Assignment 6 documentation image: ass7 12 Assignment 6 documentation image: ass7 13

At the time of writing, COVID-19 makes it difficult to access labs and mill PCBs. To try another manufacturing process and obtain a good-quality board for my final project I had Seeed Studio manufacture the Satshakit. The result was excellent: soldering was much easier, and the board fitted the printed parts perfectly. Assignment 6 documentation image: ass7 15 Assignment 6 documentation image: ass7 16 This board works almost as smoothly as a commercial Arduino, and perhaps I can use it for other assignments.

Source files

Here are all the source files for the Electronics Design assignment:
1 – Hello board ATtiny45 KiCad files
2 – Hello board ATtiny45 Gbr files
4 - Satshakit KiCad files
5 - Satshakit GBR files