My MSc Project

The MSc project consisted of designing a gas sensor board prototype to specific requirements. The main requirements of the project were to accommodate 8 gas sensors with different properties, to be able to read the data of the sensors and to be able to store that data on a memory device.

During the course of the project 2 PCBs were designed: Testboard and Sensorboard. The first PCB was used to familiarise with the coding structures of the microcontroller, and the second PCB was the sensor board.


The first PCB had a very simple structure with points that can easily be measured using an oscilloscope to verify the functionality of the code written.

The Block diagram below shows a simplified layout of the PCB.

The power supply for this device was generated offboard, although later instead of using a powerpack, a USB power supply was used.

The image for both the power supply and the test board can be seen below.


The Sensorboard block diagram is on the right.

The power is provided via 5V USB line or a power adapter that is set to 5V. This can then be improved to use batteries instead of a power socket making this a portable device. The project used a number of components including the 8 gas sensors, ADC (analogue to digital converter), digital potentiometer, microcontroller, temperature and humidity sensor, a few LEDs, USB connector, and an expansion header for additional features that can be implemented later.

The Gas sensors are connected via a wheatstone bridge configuration. This is required as the variation in the resistance of the sensors can vary from 100 Ohm to a 100 MOhm depending on conditions. In order to accommodate such a large change in the sensor resistance a digital potentiometer is used to get one of the legs of the bridge, this allows bringing the output into a more sensitive area, thus increasing the resolution at higher sensor resistance values.

The ADC is controlled via the microcontroller which asks to read values of each of the sensors. In conjunction with the potentiometer which is capable of using preset values, which can be set on turn on, the setup allows for fast reading of the data from the sensors, thus closely monitoring any changes. The temperature and humidity sensor values are also recorded to allow further data processing.

The microcontroller used for the project is a PIC32MX440F512 microcontroller capable of running in USB host mode. The microcontroller stores all the sensor data on a USB mass storage device, and also capable of processing the data not to require further data processing on a computer.

The PCB design also has an expansion header to allow future additions to the board that were not planned to be used when the board was designed. These can include additional sensors, or ways to display information like an LCD screen.

Images of the Sensorboard.

Software generated image for the board.

Empty board with microcontroller in place, showing some of the tracks on the board.

Quick Nav

  • Coming soon!