Prismo reader is an open-source printed circuit board by hacklabkyiv, from the hacklabkyiv/prismo-reader repository on GitHub, published under the GPL-3.0 licence. It is a 2-layer board of 50 × 51 mm with 48 parts on 72 nets, routed with 610 tracks and 100 vias.
It is built around the ESP32-WROOM-32D, AMS1117-2.85 and WS2812B, with the BC847, SP0503BAHTG and US1M among its other parts. Its parts include 13 capacitors, 13 resistors, 6 diodes, 4 connectors and 3 ICs. It belongs with the interfaces and adapters boards and the ESP32 boards of this library.
Before any development mode interactions with the board it needs to be connected to a computer.
The interface intended for flashing and debugging is UART. Please connect your USB-UART adapter to the pins on the board as shown on the image below:
Depending on your prefered OS the USB-UART can be named differently.
For example:
MacOS /dev/tty.usbserial-1220
Ubuntu /dev//dev/ttyUSB0
Windows COM1
To enter to the flashing mode the board should start with BOOT0 pin pulled to GND.
In order to achieve that short and hold BOOT pins, then short and release ENABLE pins and then release BOOT pins.
main.py starts processes which may affect further access to the board by ampy tool
If that has happened - please enter to the REPL (picocom is a nice tool for that) mode and remove main.py manually.
Use this prompt: import os; os.remove('main.py'). Don't forget to put main.py back in order to be back to normal operation.
sh
ampy -p /dev/tty.usbserial-11210 -b115200 -d4 put boot.py
ampy -p /dev/tty.usbserial-11210 -b115200 -d4 put PN532.py
ampy -p /dev/tty.usbserial-11210 -b115200 -d4 put config.py
ampy -p /dev/tty.usbserial-11210 -b115200 -d4 put main.py
HW test
After flashing your device, you can test your hardware. To do this, uncomment HW_TEST in settings.h file and flash this firmware. In serial monitor, with key is near the RFID frame (baudrate 9600) you should get something like this:
text
------ HW TEST STARTED --------
17:38:34.011 -> ------ HW TEST STARTED --------
17:38:37.001 -> 33384541313932323930304532333845413139323239303045323338454131393232393030453233384541313932323930304532333845413139323239303045323338454131393232393030453233384541
17:38:40.620 -> ------ HW TEST STARTED --------
17:38:43.608 -> ------ HW TEST STARTED --------
Connection test with test server
Comment back HW_TEST in settings.h and specify network settings there.
text
STASSID - name of your wifi network
STAPSK - password to your wifi network
HOST - IP address to your test server.
PORT - Unique port of your reader
In test_server.py choose right MY_IP - IP of machine where test_server.py running and READER_PORT.
It measures 50 × 51 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Prismo reader use?
48 parts, built around the ESP32-WROOM-32D, AMS1117-2.85, WS2812B and BC847. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
Where can I download the Prismo reader KiCad files?
From the hacklabkyiv/prismo-reader repository on GitHub, at the commit this page was made from: the board is hw/rev.3.0/PRISMO-reader.kicad_pcb and its schematic hw/rev.3.0/PRISMO-reader.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Prismo reader design in my own project?
Its repository publishes it under the GPL-3.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).
This IOT project allows you to open and close your window from any smart house. For example - you can setup rules like a "If night and noise greater then expected -> close window" and "Noise reduced -> open window"