While working on a CO2 sensor [/2019/06/10/carbon-dioxide-sensor-mh-z19b-part-1/] I needed to manage the device without any human interface or additional connectors. Fortunately, the ESP8266 devices include the WiFi interface and it was obvious step to use it for device management.
Last weekend I could play with the ESP32 board to implement BLE transport for FIDO2 WebAuthN protocol. The great BLE library for Arduino [https://github.com/nkolban/ESP32_BLE_Arduino] and tutorials [https://circuitdigest.com/microcontroller-projects/esp32-ble-server-how-to-use-gatt-services-for-battery-level-indication] helped me a lot. Now my developer board advertises itself as FIDO2 Authenticator and provides four required endpoints to communicate. Google Chrome is able to detect the device and tries to connect to it which I consider as a great success for the weekend project. However, the endpoints just do nothing at the moment and authentication fails with an error.
> Buy the CH340G programmer for ESP8266/ESP32 > [https://www.tindie.com/products/thinkingthing/usb-programmer-for-esp8266esp32/] > online
After implementing the Android app for FIDO2 authentication [/2019/08/05/some-progress-with-webauthn/] I started to implement the same functionality on the ESP32 development board.
It is sad, but not everything went smooth during my experiments with fingerprint scanners. I have desoldered fingerprint scanner from the GROW R300 device wanting to find a way to connect it to the MCU directly.
It's quite some time since the last update about my awesome FIDO2 Authenticator project [/category/fido2/]. The project did not stop, no. The latest challenging point was the idea that I should not use the external biometric scanner with UART interface but make a built-in one. So, I have ordered a few more biometric scanner modules and, unfortunately, it took several weeks to deliver.
Recently I've started connecting FPC1020A Fingerprint scanners [/2019/12/03/fpc1020-fingerprint-scanner/] to ESP32 microcontroller and built a working test board for both modifications I have.
The next FIDO2 Authenticator project [/category/fido2/] update is dedicated to the ATECC508A cryptographic chip. I have taken some time and started to write a component library for operating the IC from ESP32 microcontroller.
And, now the project has reached the next important milestone. So far I have the following building blocks:
The next important step of making autonomous FIDO2 Authenticator [/category/fido2] device is the power source. In general, I have two options - replaceable or rechargeable batteries.
Autonomous devices like URU Key [/category/fido2] require periodic measurement of the battery voltage. I am going to use very simple schematics and very simple algorithm to understand how much juice my battery has at the moment.
Previously [/2020/02/02/uru-key-esp32-fido2-authenticator/] I have built the single board device featuring all the main hardware components to implement FIDO2 Authenticator but without an autonomous power source. Today with the addition of a power board my project becomes a completed device.
I am happy to say that I'm finally done with the hardware design of the URU Key device.
I was some time since the last update on my URU Key project. However, the project did not stop, no.
After publishing the URU Key project people keep asking me to make it open source. I have tried to organize sources in a more readable way but I still think that plain C and ESP IDF are too difficult for the broad audience. And, unfortunately, the biometrics part is covered by NDA and can not be published.
This update was delayed due to summer holidays but it brings achievement of the very important milestone. Now we have a very minimal implementation of the FIDO2 authentication protocol on the Arduino framework. The simplicity of the Arduino platform and the availability of the hardware opens the door to secure authentication to everyone interested.
It's quite a long time since the last update, but the summertime asks you to spend more time outside and I could not resist this call. Nevertheless, here's the small project I made.
About one year ago I have purchased a widely available fingerprint identification module with UART interface. You can find this module almost everywhere for quite a decent price. However, the information about how to use it with Arduino is not that easy to find. I am interested to use it with the URU Card [/2020/06/29/uru-card-arduino-fido2-authenticator/] device so I took some time to play with it.
Recently I have received the new batch of PCBs for my URU Card [/2020/06/29/uru-card-arduino-fido2-authenticator/] device. Since I do not have a 3D printer and appropriate skills I am going to construct a hard shell using the stack of PCBs. This time I have chosen black colour for the boards as it comes in a nice matt finish.
MPR121 is a Proximity Capacitive Touch Sensor Controller developed by the company NXP. Being only 3x3 millimeters in size this chip allows us to connect up to 12 touch sensors. The communication protocol is I2C. This makes it an ideal candidate for the user keyboard in the URU Card [/tag/uru-card/] project.
While working on the side project URU Card [/tag/uru-card/] - the open-source authenticator device in the form-factor of a regular credit card - I have noticed that it is way more suitable for daily use. The device like this can be carried around simply in the wallet together with other credit cards. So, I have redesigned the URU Key in this format.
People asking me if they can purchase URU Card [/tag/uru-card/] device or if I am going to start a Kickstarter campaign for it. Well, I have started this project mostly as a hobby to learn new things and build something for my personal use. I am not a salesman and can not predict amounts can be sold on the market. Is it ten pieces or ten thousand? I simply don't know.
> Buy the CH340G programmer for ESP8266/ESP32 > [https://www.tindie.com/products/thinkingthing/usb-programmer-for-esp8266esp32/] > online