Smart Module & Display for IoT Door Lock


For this lab, you will be designing the PCB for the smart module & display for the IoT door lock. Imagine the access pad for a futuristic door like in video games, this will kind of be like that.

Here's the imaginary scenario:

You’re part of a new IoT company making electronic door locks, and the first revision of the electrical design has just been finalized. You, as the company’s PCB design engineer, have been tasked with making the PCB layout of the circuit. Luckily for you, someone's already finished the schematic and made and assigned the footprints.

The board you are responsible for right now is one of two boards in the lock. You’ll be working on the logic and interface board that connects to another power board (the next lab). The board will have a microcontroller with wireless capabilities, a screen, some user controls, and some LEDs.

Project Download

You should download the starter KiCad project. This can also be found on Bcourses, under "Files".

Board Details

A crucial aspect of this PCB is that the board must interface directly with the board that contains the power circuity and solenoid. This means there are precise mechanical constraints and between-board connectors that have to match exactly. Please note that the between board connectors must be facing downwards. In addition to this, you’ll need to have the main button and joystick in reasonable positions on the front of the board. You will have to think about how someone would reasonably use this door control panel. Please assume that the image below shows the top view of the board, properly oriented with the top of the board in the image corresponding to the top of the board as it would be installed and used.

You will notice that the ESP32 module footprint has a large "KEEPOUT" area. This area does exactly as the name implies: you should KEEP OUT of adding anything in that region. No components, no copper, no nothing. Correspondingly, you'll probably want to have that facing towards the outside of the board.

The chain of WS2812 are fancy RGB LEDs (very similar to the kinds you might find in LED strips for gaming computers or actually, just any modern RGB LED strip in general). These particular ones (WS2812B) are known as "neopixels" from the online maker store Adafruit:

neopixel ring

You will need to use the 5 neopixels to form a ring under the main button (you can imagine the plastic button body to act a bit like a diffuser). Exactly how they are placed is unimportant, the goal is to make the ring neat, even, and fit under and within the button dimensions. Most of the button body is elevated, you will only need to avoid the marked courtyard zones from the provided footprint. You may assume that the LEDs easily will fit without clearance issues under the button (outside of the courtyard areas).

The screen will also be elevated somewhat over the PCB. This means you can route and place short components underneath it (assume you have about 5mm of clearance).

The reset button is not meant to be normally accessible. But do not put it under the screen or button where it becomes completely inaccessible. Putting it somewhere accessible on the back is acceptable.

Task: Layout

Take the schematic, port it over to layout, make the board outline, and layout the board! There should be an emphasis on proper component placement, grouping, and focus on ease of assembly and ease of use. We would also like to see good use of additional silkscreen elements (for example, to mark the RESET button as the reset button, button directions for the psuedo-joystick, the pins of the between board connectors, etc.