Skip to content

Making the Electronics

Before i started the PCB design I made sure all the sensors worked using a XIAO ESP32 C3 and a breadboard. All the sensors were working fine.


PCB Design

I then wanted to hook the sensors up to an ATtiny412. I want to have each sensor on its own little board and connect everything together with the XIAO using I2C. I had some 412 boards from networking week that already had I2C pins so I attempted to use those. It was a struggle using those boards because I did not have many pins to work with and they did not have FTDI pins so I could not print to a Serial monitor. So I made a test board with UPDI pins, FTDI pins, I2C pins and three extra pins for the sensor.

I2C node from networking week

I2C node from networking week

I am used to working in Inkscape and since I had all the footprints I needed in old Inkscape projects I copied the footprints and routed the connections using Inkscape.


Test node board

I2C test node Inkscape

I2C test node board made in Inkscape

I2C test node board

I2C test node board made in Inkscape

Download test node board .svg Inkscape file

Using the Sensor Node Test Board I was able to connect to both the DHT22 temperature/humidity sensor and the MQ2 gas sensor. After hours of trying to get the DS18b20 waterproof temperature sensor to give readings to the ATtiny412 I could not get readings. I tried the sensor with the XIAO and everything worked fine. Finally after conulting with the masters at Open Global Time they suggested the ATtiny412 was possibly not powerful on its own to read the sensor. So, I decided to put the DS18b20 temperature sensor on the Xiao board instead of putting it on its own node board.


DHT22 node

DHT22 node

DHT22 node board

Download DHT22 node trace .png file


MQ2 node

MQ2 node

MQ2 node board

Download DHT22 node trace .png file


SSD1306 node

Finally I needed to add the SSD1306 OLED display. The SSD1306 uses I2C so I decided to make a simple board for the OLED.

SSD1306 node

SSSD1306 node board Inkscape

SSD1306 node board

SSSD1306 node board

Download SSD1306 node trace .png file


Controller board (master)

Now that I had all nodes working over I2C communicating with the XIAO ESP32 C3 master node on a breadboard I went ahead and designed the board for the XIAO master. Again, I had all the footprints readily available in old Inkscape projects so I copied the footprints I needed into a new document and routed everything. For those looking for footprints for any component I originally used SnapEDA to find the XIAO footprint. The first time I used the XIAO footprints I found the a bit small to solder properly so I edited the footprints to be a bit bigger for easier soldering.

CFT master node Inkscape

CFT master node in Inkscape

CFT master node board

CFT master node board

Download master node trace .png file

The button will be used to change which sensor is displayed on the OLED, and the three empty footprints in the middle will be for the DS18b20 waterproof temperature sensor. I have not soldered the DS18b20 yet because I need to finish my electronics housing first.

Electronics working!

Electronics working

Electronics working!