Andrey Ovcharov

Tech blog

Andrey Ovcharov

ESP32 Authenticator device - first prototype

After a few weeks of waiting the postal service delivered the PCBs for the device prototype. Usually, I order my boards from the JLCPCB manufacturer and the quality is very good, as always.

PCB

Of course, I could not resist and started to assemble the first board.

ESP32 Pico D4 has an LQFN package with contact pads under the chip body. It was the first attempt to solder chips like this with the hot air gun. Tricky, but luckily YouTube is full of videos on how to do it. The soldering paste works exactly as in the videos - the chip is magically centered on the board and excess solder is pushed out with the surface tension.

Soldered ESP32 Pico D4

Other components were soldered using the same method with soldering paste and hot air gun. The process is much more satisfying than working with usual components with pins. Later I plan to order a special stencil for placing soldering paste more accurate and I want to build a special oven for the reflow process. This should drastically improve the quality of my devices.

Fully Assembled board

The soldered board looks quite boring and with a lot of free space. I did not try to optimize it in any way for the first prototype and placed components very sparse. However, in the future, I plan to use smaller 0603 components and smaller power regulators like AP2112.

https://d33wubrfki0l68.cloudfront.net/82eb8ebe427ca941b155224f43a786f2284df48b/19de4/uploads/2019/11/03/20191103_112238.jpg

I did not place any special connectors for the power, just the simple pads. I plan to experiment with different power sources like LiPo or CR2032 batteries so I do not want to stick to any particular connector at the moment. That’s why I’m connecting the separate board with a micro USB connector using just two wires.

The connector for the UART fingerprint scanner is not soldered yet - I am going to make a decision which one to use after experiments with different ones I have.

https://d33wubrfki0l68.cloudfront.net/aab045f6ebf1be812591b992893f1579199c93ee/b6075/uploads/2019/11/03/20191103_112500.jpg

The assembled board was successfully identified by the ESP32 programmer. Flashing went smooth at the speed of 921600 baud. The device works the same way as the development board and it is still able to pass both registration and authentication procedures I showed in the previous video.

What is more interesting - it’s still working without connection to the host computer powered from a power bank. I think it’s a clear success at this stage - I already have a small independent device that can be used for FIDO2 authentication. Yes, there are a lot of problems to solve, but still.

The next step is going to be very complex and vital for the success of the whole project. I have two fingerprint scanners already and ordered two more. If I will be able to read fingerprint image and implement a matching algorithm then I have all the building blocks and I can improve the device working on every block independently. Stay tuned!