It's not that difficult to get it working. Like MaBe said, it's just serial comms. The tricky bit is to handle the 32byte stream that comes in every second; since it's serial you might get dropped bytes depending on how good your wiring is. In my case I never got the checksum to match the byte calculation, so I just lived with strange pm values every now and then.
Espruino is a JavaScript interpreter for low-power Microcontrollers. This site is both a support community for Espruino and a place to share what you are working on.
I wrote some prototype code while road testing an nrf52840 board in element14: https://www.element14.com/community/groups/roadtest/blog/2020/11/13/road-testing-the-pan1780-evaluation-kit-part-5-air-quality-dashboard-via-web-bluetooth
It's not that difficult to get it working. Like MaBe said, it's just serial comms. The tricky bit is to handle the 32byte stream that comes in every second; since it's serial you might get dropped bytes depending on how good your wiring is. In my case I never got the checksum to match the byte calculation, so I just lived with strange pm values every now and then.