This is the fifth part of the meta-tutorial, where I talk about designing a cheap plant watering sensor. If you did not already read the first, second, third and fourth part, please do it now. These parts contain a lot information which lead to this point of the tutorial.
The fourth part ended with step 20, where I did usability tests and stability tests using the preliminary firmware. This article will focus on designing the final board for the project.
Step 21: Design the Final Board
Designing a good board is like one of these puzzles with quadratic tiles, where you try to lay down a 3✕3 set where all edges match. Often a small change result in many follow up changes, so you have to rip-up a lot of routes and design them in a new way.
My goals for the board were:
- Everything, except the two LEDs, should go to the top side of the board.
- Reduce the amount of vias to the absolute minimum.
- Create a ground pour, especially around the oscillator part, to reduce noise.
- Move the button as far as possible from the oscillator to minimise the influence if the user presses the button.
- Make it as small as possible.
I worked with small iterations, checking the design after each iteration and checked the design against my goals. To keep track of the changes, I versioned each larger iteration. This way I could go back at a later stage for comparison or if a change did not turn out well.
I worked with Autodesk Eagle to create the board. This tool is in the current state far from perfect, but it is cheap and has all required features for the task. For me personally, these are the features I need to design a board:
- Smart routing editor which is linked to the schema.
- Quick and easy way to create vias and see the required connections.
- Good library support for symbols and packages.
- Design rule checks.
- Quick board preview to check label placement and design.
I described some issues of Eagle in this post:
As you can see, these are not very advanced features and are supported by almost all good board editors. I never use the auto router, because I do not have time pressure or have to do repetitive tasks. Continue Reading