Schematics for CJMCU-30 SGP30 sensor board
Summary: You can use the Adafruit schematic as a guide for your board, with minor changes.




  Does anyone have a schematic or detailed specification for the CJMCU-30 SGP30 Gas Sensor (TVOC/eCO2, triangle format) board?


Unfortunately, as you've found, it's common not to get schematics from generic resellers on Amazon, eBay, AliExpress etc.

When I buy a board for experimentation from one of those places, I always expect to have to reverse-engineer the board and make my own schematics. If schematics and support are important to you, then vendors such as Adafruit, Poulu etc. provide those for their own boards.

The good news is that for your board, I doubt that much reverse-engineering is needed due to its similarity with the AdaFruit board and its user manual, which Nick kindly linked in a comment under your question.


  I simply cannot find any for it, not even the information about interface voltage levels (is it 1.8V/3.3V/5V I2C?)


On the Adafruit board, they have a 1.8V regulator in a SOT23-5 package, and two BSS138 MOSFETs for level-shifting. The external I2C bus is using whatever external supply voltage you provide to the board, and there are 10k pull-ups from those signals to that external supply voltage which they call "VIN". Those MOSFETs then do the level-shifting to 1.8V logic for the SGP30 sensor.

Therefore that board has 1 x SOT23-5 regulator, and 2 x SOT23-3 MOSFETs.

On your board, from looking at the photos on the page you linked, the regulator is the SOT23-3 device. I believe the two MOSFETs are in the single SOT23-6 package, and they perform the same level-shifting function as the two BSS138 devices on the Adafruit board.



(Image source: Amazon seller page for Topsame CJMCU-30 SGP30 Multi Pixel Gas Sensor Indoor Air Measurement TVOC/eCO2)

If you follow the PCB tracks (which is difficult to do on the photos), I believe you'll find two pins from the SOT23-6 package going to the external I2C signals, two pins going to the internal I2C signals (i.e. to the sensor) and two pins going to the 1.8V output from the voltage regulator.

Therefore that board has 1 x SOT23-3 regulator, and 1 x SOT23-6 package, containing two MOSFETs.

Functionally, both boards implement the common I2C level-shifting approach shown in the NXP Application Note AN10441: Level shifting techniques in I2C-bus design.



To answer your question about the interface voltage levels: Just like the Adafruit board, on your board the external I2C signals are pulled-up to whatever voltage you supply to your board (which is marked "VCC" on your board) using resistors in the resistor pack marked 103. You may need to add additional external I2C pull-up resistors, depending on the length, speed and voltage of the external I2C bus.

For various reasons, I would only use a supply voltage (and therefore an external I2C bus voltage) of around 3V or higher, so the 3.3V or 5V that you mentioned should work.