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
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 board made in Inkscape
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 board
Download DHT22 node trace .png file
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.
SSSD1306 node board Inkscape
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 in Inkscape
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!