Some time ago I have purchased online carbon dioxide (CO2) sensor module MH-Z19b. It's a cheap and very simple sensor with the UART interface allowing concentration measurement in the range up to 5000ppm.
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.
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.
After some disruption on hardware design, I have returned to writing driver for the FPC1020 fingerprint scanner [/2019/12/03/fpc1020-fingerprint-scanner/]. It's sad, but as I don't have complete documentation the process takes a significant amount of time and a lot of effort. To speed up the evaluation I started to write relevant code using C++ and Arduino Framework.
Part 1 - Hardware design [/2019/06/10/carbon-dioxide-sensor-mh-z19b-part-1/] Prototype projects do not require complex software and I am using the Arduino framework because it has plenty of useful libraries for all possible device types. For compiling the project I am using PlatformIO framework.
Recently I have purchased one more carbon dioxide sensor module - CJMCU-811. The module is built on a chip CCS811 by company ams.
Having two different CO2 sensors it makes sense to put them together and compare reading over some period of time.
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.
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.
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.
Recently I was exploring the differences between IBUS and SBUS protocols used in remote controls. The IBUS protocol appears to be a very simple half-duplex UART operating on speed 115200 baud. Packets of a fixed size, simple checksum calculation... Wait a second. What if we take the dirt-cheap ESP01 module, program it as the receiver and operate it with the smartphone? In just half an hour the minimal prototype was built.