Home

Reader Daughter Board


Daughter Board

It is commonly helpful to have a small, dedicated device to read a member's RFID badge. This board can be mounted under an ESP32 DevKitC Boards, Olimex-POE or an Olimex-POE-ISO board.

The design shown above allows the easy connection of a few types of microcontrollers to common devices. These can be used for card-readers of E-Ink displays among other things.

The red-covered components are shown, but not included in the most recent production-run of the board: It is commonly convenient to solder these components in later, as you may want them configured differently for different applications. For example, although shown on the top here, the buzzer will often be placed on the bottom of the board to direct the noise outward.

The gerber Files for this design are here, and the BOM and position files are formatted for ordering from JLCPCB.


Schematic

Download complete schematic.


Top and bottom of board


3D models of Board Holders

The following are links to downloadable Fusion 360 models for these reader-holders.

Here is a rendered example of the first of these designs:


Detailed Explanation of Parts

There are a handful of places to interact with this board. They are explained below.


Microcontoller Sockets

There are two possible Microcontrollers designed to interface with this board, each in their own set of headers.

First is the ESP32-DevKitC-V4+ group of boards that are commonly available for sale online. These boards fit into the longer (19 pin) pair of headers.

Second is the Olimex ESP32-POE or the Olimex ESP32-POE-ISO boards. These both fit on the 10-pin headers.


I2C Connector

For this project, this is where the card reader will connect.I2C communication is generally helpful for most types of chip-to-chip communication.

On the front, there is the JST connector, and two open spots where you could add resisitors. On the back of the baord there are two already-connected jumpers. These resistors and spaces for more are all in place because of the need for I2C communication to have pull-up resistors. The default state is to use the pull-up resistors on the microcontroller. If you need more resistance (because of spotty communication) you can cut the trace between the pads on JP3 and JP4 to add in the 2.2k resistors that are already soldered in parallel to the jumpers. IF you find that this still doesn't solve your communication problems, then you can solder in whatever resistors work of your application in the open spaces for R7 and R8. Hopefully, all these pull-up resistors will not be needed, and you can leave the setup as-is.

From experience, we have found that the ESP32-DevKitC-V4 requires the two jumpers on the back to be cut: JP3 and JP4. The same is (probably) not true of the Olimex-POE boards.


SPI Communication

An SPI connector was added because it may be helpful for general use. There is no specific reason it is there, but perrhaps on will present itself...


Waveshare E-Ink Connection

ESPHome has good integration for Waveshare E-Paper displays. Here are the configuration options for using the E-Ink display. But be warned, you may want to read more about fonts in ESPHome before you start copy/paste-ing this willy nilly.

E-Paper Pin

ESP Pin

ESPHome Option

VCC

3.3V

N/A

GND

GND

N/A

CLK

GPIO 18

spi.clk_pin

DIN

GPIO 19

spi.mosi_pin

CS

GPIO 17

cs_pin

DC

GPIO 16

dc_pin

BUSY (Optional)

GPIO 25

busy_pin

RESET (Optional)

GPIO 26

reset_pin

Here is an example configuration for ESPHome, but you'll clearly want to change the messages...

# Example configuration entry
            font:
              - file: 'fonts/Comic Sans MS.ttf'
                id: font1
                size: 8
            
            spi:
              clk_pin: GPIO18
              mosi_pin: GPIO19
            
            display:
              - platform: waveshare_epaper
                cs_pin: GPIO17
                dc_pin: GPIO16
                busy_pin: GPIO25
                reset_pin: GPIO26
                model: 2.90in
                full_update_every: 30
                lambda: |-
                  it.print(0, 0, id(font1), "Hello World!");
            

Finally, the pinout for the Waveshare is located here, and labeled on the back of the board for easier soldering of the often-included display connector cables. Here is an example of the waveshare boards, but they are available from many resellers, including Amazon.


Buzzer

A little noise is great feedback. A 12mm buzzer such as this one can be soldered into place easily. The polarity and controlling pins have been silkscreened onto both sides of the board, to faciliate easier use with either choice of placement.

Often the Buzzer will be soldered directly onto the back of these boards - watch the polarity while soldering.


Red/Green LED

Indicator LEDs can provide great feedback to a used. Two-color LEDs like this may be an old-solution, but they do a great job as indicators without taking many pins. including a full RGB LEd is possible on this board, but avoided to stay inline with the paired tool-controller boards that can only fit this pinout.

Two 1k resistors are used to regulate current to the LEDs, but jumpers JP1 and JP2 are in parallel with these resistors. If resistors are wired inline with the LED off-board [presumably on panel-mount LED, connected by a few pigtails] you can solder bridge each jumper to short out the default 1k resistors. This will also allow you to configure the resistance values as you wish: just don't forget resistors for the LED.

The pin spacing here is perfect for one of the 5mm R/G LEDs on its own, or to solder in a small terminal block. Often the R/G LED will be soldered directly onto the back of these boards - watch the polarity while soldering.