Weekly Progress


Week 1

This week in lab, we discussed multiple different project topics that would fit under the overall theme of this engineering lab. We finally decided on a project topic that was similar to a design idea we had last semester in Biomedical Engineering Seminar 126.  However, we had to modify our idea to make the deliverable a bit more manageable and realistic for a ten week timeline. Our original idea was to make an oscillating seat for a wheel chair; however, after a discussion with our technical adviser, we came to realize that this idea is a little too ambitious for a ten week class. Therefore, we decided to create a pressure-sensing system that would ultimately be a large component of the seat we originally  had in mind.

The purpose of the pressure-sensing system is to point out the area of the body in which the pressure is concentrated and where the highest pressure values are. Should we choose to continue and extend this project further, we can then use this information found by the pressure-sensing system to make that area of the seat move or “oscillate” to alleviate the pressure.  Our design idea for Engineering 103 is to create a pressure sensing seat using pressure sensors and a microcontroller called Arduino Uno.

The group met outside of class to discuss the finer details of this project and to conduct a thorough research of the literature available discussing different aspects of the design idea (See Background Page for literature research). We also discussed the various sensor options that we could use and we started to investigate the programming language involved with using an Arduino processor.We decided to divide the seat cushion into eight separate regions with eight different sensors to operate the seat. By isolating sections of the seat, we can easily determine which area of the body is the most stressed as we receive readings from the eight areas in which we have the sensors. This isolation also ensures that we will not be getting readings of the average force that the person is exerting on the seat, without any further information to tell us which area of the seat is getting the most pressure.

We also found out through researching pressure sensors that there are readily manufactured analog sensors that we could make use of in the mechanical design of the seat. Making our own pressure sensors was very appealing to our budget but the sensors' quality can be jeopardized as the materials used in them would not be very durable. During our next lab period, we will need to run this idea to our technical teaching assistant to make sure that homemade pressure sensors are usable and compatible with the processor. Also, we talked about a budget for this project and we attempted to figure out how much money we would need to pay out of pocket in order to purchase and acquire all the pieces needed for this project. Studying the literature also made us also realize that we need to find a power source to power the seat and to find a way to automatically turn the pressure sensors on and off, in addition to learning the Arduino software.

We talked to Dr. Primerano about obtaining an Arduino Uno processor. Dr. Primerano told us to contact our lab fellows and they should be able to help us out. Hopefully, we will have the processor and the necessary sensors ordered by our next lab section. We have a few optional pressure sensors picked out but we need additional help to figure out which sensors would be appropriate for this design project since there are many different types and sizes. The sensor we need has to be compatible with the processor and able to sense the pressure range obtained from literature study at which pressure wounds and muscle deterioration start to affect patients.




Week 2

During this week's lab we were able to obtain the correct Arduino processor from our technical advisor. After that each member of the team downloaded and installed the Arduino software. We will be using this software to program our pressure sensing seat cushion. The teaching assistants gave us a brief tutorial on how to use it and we discovered that the software comes with built in sample programs that may be useful to us when we start programming our design. Early this week we did more literature research on different types of pressure sensors that can be used for our project. We also researched on preventing measures to be taken in order to avoid pressure wounds and wounds and ulcers in general to gain more background knowledge of the subject.

Initially we thought that we would require a LED or LCD display screen to indicate that the pressure being exerted on the seat is exceeding the limit. Then we found that  most of the display screens require to use the analog inputs on the microcontroller. The problem with this is that the Arduino board had only six analog inputs and all the six inputs had to be used to connect the pressure sensors. Hence we decided to use LED lights to indicate the rise in pressure being exerted on to the seat. The main advantage of using LED lights is that it can be connected onto the digital inputs.


During a brief meeting with our advisor in lab we decided to divide the seat into six separate section, where the pressure sensors would be connected. We  learned that Arduino only accepts voltage inputs and it will measure the voltage applied from analog inputs. We also realized that in order to make the sensors function efficiently, the team  need to research and calculate the threshold value of pressure. Eventually these threshold values will be used to program the pressure sensors.

Our next major task for the week was to find a pressure sensor that would fit our design. After meeting with the teaching assistants and discussing our literature research with our advisor, we decided to use pneumatic pressure sensors. The advantage of using a pneumatic pressure sensor is that it does not require an additional power source to run it. Hence after looking at different pneumatic sensors we decided to buy Honeywell's pneumatic pressure sensor.

Honeywell's Board Mount Pressure Sensor - DIP Axial, Range Of Pressure : 0- 15psi, Max Voltage : 5V


Finally our task for next week's lab was to create a small scale prototype using Arduino UNO microcontroller, one pneumatic pressure sensor, a LED light and a syringe. The requirement was that we need to program the Arduino UNO such that a LED would “light up” when the pressure applied to the pressure sensor from a syringe crosses the threshold value. surface. Hence the group met several times outside the lab in order to develop a code which would perform this task.

We made the code such that different color of LED bulb would lit up when the pressure sensed by the pressure sensor is at different levels.The above video shows the lighting up of LED bulbs when a syringe is being pressed onto the  pressure sensor. The white bulb lights up for the low pressure value, the yellow for the next level, green for the next level and the red bulb lights up when the pressure exerted exceeds the maximum threshold pressure value.


Week 3 

This week, the team experienced a setback. After we had gotten our program to work and lit the LED lights, we noticed that there was not a dramatic difference between the pressure readings before we applied pressure and after we had delivered additional pressure using the syringe. We discovered that the pressure sensors that we had ordered were not the correct one that we needed. We found out that the range of the pressure sensor ended up being too high and they only measured absolute pressure. The range for the sensor we had measured from 0 to 15 PSI and this was a problem because the pressure sensor took into account atmospheric pressure which is 14 PSI. Because of this, the sensor was operating at the peak of its range which makes it difficult for us to get an accurate reading. The changes in the pressure readings were almost little to none and this occurred because the sensor was measuring atmospheric pressure as well as the pressure that we were applying.

As a consequence, the original threshold value that we had set for the Arduino processor was incorrect and we had to recalculate and recalibrate our sensor. We found out that we needed to recalculate the threshold value because when we applied pressure to the sensor on the first floor of the building, the stepwise readings we received from the pressure sensor was in the low 900s. However, when we tested the sensor in lab, which is on the sixth floor of the building, we discovered that our sensor operated on a 908 reading as the standard and then increased to 980 when pressure was applied. We believe that this may have occurred because the lab was located at a higher altitude than the location that we had originally tested the circuit. Our system went from 910 to the max reading too quickly. The stepwise reading that the Arduino processor was giving us had indicated that we had the wrong sensor because it indicated that the sensor was operating at the peak of its range (the peak is at 5 volts which corresponds to a reading of 1024). 

In lab this week, we had a deliverable to accomplish. We had to manipulate the LED code into a new code that caused each individual LED to light up according to a certain pressure value that we assign each one. The task was easily completed. By the end of week 3 lab, it was certain that we needed a pneumatic gauge pressure sensor that can measure both absolute and differential pressure. Therefore, we had to search for new sensors and contact the company to return the ones that we currently had. The correct sensor for us to buy is called a pneumatic gauge pressure sensor and this sensor measures both differential and absolute pressure. We recalculated the range of the sensor that we need for a 300 pound person to sit on a 3-by-3 seat. The pressure range for each sensor came out to be 0 PSI to 5 PSI, but we need to confirm this calculation with our technical advisor.

The next step for our team is to obtain the correct sensors and order them right away. Also, we need to find out the meaning of the value outputs that the Arduino and the pressure sensor give us in the stepwise readings. We also need to have a general setup for our seat interface design. We will need to have multiple “balloons,” tubes, and LEDs connected the pressure sensors. The Arduino code that we need to write is similar to the one that we had accomplished in lab; our task is to make each of the LEDs light up according to the specific pressure value threshold that each sensor is respectively assigned to. Based upon the amount of pressure we apply to the system, only the LED corresponding to that pressure value should light up. 



Week 4

This week we got the required pressure sensor, the gauge pressure sensor. The advantage of using gauge pressure sensor is that the pressure value would be given with respect to the atmospheric pressure. The
video below shows the sample model of the pressure sensing seat cushion.


In the video above it can be seen that the LED bulbs, resistors and the pressure sensors were connected onto the breadboard. By using a breadboard, the process of connecting the different items onto the Arduino micro-controller board became simple. As seen in the video  small ear syringes were connected to the pressure sensor with the help of tubes. When the syringes are pressed, the pressure would be measured by the pressure sensor connected on to it.In the sample design, three syringes connected to tubes were placed at three different positions on the seat. Then a seat cushion was placed on top of it. After doing so when a person sat on it at first the white LED lit up as the pressure being exerted by the person crossed the mentioned first threshold value. Among the white LEDs, two of them were blinking as at those positions the pressure being exerted was going up and down the threshold value. Finally when the person tilts in a particular direction, the pressure being exerted on that area increased and lit up the red LED as it crossed the second threshold pressure value.

Week 5

At the beginning of this week, we had completed the initial Arduino code that will be used to run the pressure sensing system of our seat cushion. The group had also completed the task for this week's lab, which was to show an initial prototype of our design project. As shown in the demonstration video in week 4, at present we programmed the seat cushion with three of the six pressure sensors to detect the pressure being applied on different sections of the seat when the ear syringe (otherwise known as an ear aspirator) placed at different locations compresses due to the weight of the person. 

In lab this week, Dr. Swoboda discussed the importance of taking into ethics, risks, and how to mediate the risks involved with biomedical engineering. He emphasized the importance of ethics and fail safes for all projects. Therefore, part of our task for next week is to do more literature research and apply ethics to our design.

The main task assigned to the group for next week is to do minor adjustments to our written Arduino code, by combining all the components of the seat and to figure out a method by which it would be easier for the user of the seat to determine when he/she needs to change the position due to pressure build up.

One suggestion we got from our teaching assistant, to improve the display setup, was to to change the display from LED lights to using a LCD display in order to give a more professional appeal. He also suggested to change the micro-controller board to Arduino MEGA.

Finally our last task for next week was to convince our technical advisor that the pressure readings from the Arduino is the actual pressure the person exerts on the seat . To do so, we need to determine possible sources of error and calculate the percentage range of error as well.


Week 6 

This week in lab, after talking to our teaching assistant we decided to drop the plan of switching to an LCD screen to display the pressure readings.We decided to do this because in order to use a LCD screen we would also need to switch to Arduino MEGA as the UNO board has only six analog inputs .

Next we were doing some modifications to our software in order to improve the functioning of our pressure sensing seat cushion . This week the task assigned by our advisor was to complete the software of our project and also add a buzzer, to buzz when a person exerts a constant pressure.

Over the weekend, few group members got together and sewed a seat cover for the cushion with pockets on the inside to insert the nose syringes and keep them in the proper locations. Since we still need to determine the best location for each of the six syringes to be placed, we decided to staple the pockets to the seat cover until we get a chance to experiment and test it out. We also completed the software of our project. As suggested by our advisor we also added a buzzer. 

We programmed the buzzer such that it would buzz when a constant pressure was being exerted on any of the syringe placed at different positions. We assigned the buzzer to sound after 5 seconds of constant applied pressure that was over the threshold value. In reality, this process should take much longer according to research.

Hence now our pressure sensing seat cushion was programmed in the followed manner. Whenever a person sits on the seat cushion first it would perform some initializing process and set the threshold values. Next whenever a constant pressure is exerted a LED light would lit up and also the buzzer would turn ON.

For next week, our task is to transfer all of our LED lights to the prototype sheet by soldering. By doing so, this cleans up the overall appearance of the technical design. We also need to remove the staples from the seat cover and sew the pockets once we determine where we want the syringes to be placed.


Week 7 

This week, we fine-tuned our program for the seat and made minor adjustments so that everything would function more smoothly. Our advisor checked our software and approved it. Then he suggested that  it would be better to use an external power source instead of using a laptop to power our pressure sensing seat cushion.


Current setup of our project can be seen in the figure shown above. It can be seen in the picture that there are several wires connecting the breadboard on to the Arduino microcontroller board. Hence we decided to figure some way to make this connection neat. Also one other problem with this setup is that if someone by mistakenly pushes on tube connected on to the pressure sensor on the board, the pressure sensor would pop out of the bread board. Hence we also have to come up with a solution to prevent this unintended consequence.

In lab we spent rest of the time soldering the LED lights on to a prototype shield board to make everything look neater and nicer. Our task for next week is very simple because our design is nearly complete. The task is to complete soldering and transferring of LED lights to the prototype shield from the bread board.  Before starting to solder our teaching assistant gave a mini lesson on how to solder, as we have not soldered before. 

Later this week we worked on preparing the rough draft of our report. We did this by splitting up our work between the group members and then compiling all the information


Week 8

This week we in lab we completed soldering the LED lights onto the prototype shield board. The figure shown below shows the prototype shield, with the LED lights, attached to the Arduino microcontroller board. 


Later this week we made some changes to the setup of our design. The changes we made can be seen in the picture shown below.



The first change made was that we attached the breadboard and the Arduino board on to a smaller wooden block. After doing so we place this in a different box. Another change we made was that, now the tubes are stuck with tape at the bottom of the block and from there the tubes are passed through hole made on the cardboard box. By doing so we could not only make our design look neat but on the other hand we could avoid the unintended consequence of pressing on the tubes and pulling the pressure sensors out of the board. 

The next change we made was to permanently attach the syringe with the tube onto the seat cushion. Now we just need to connect these tubes to the tubes attached to the pressure sensors using tube connectors. The main motive of doing this was to make the transport of the cushion easier. Before we had to remove the tubes from the cushion after each lab to carry the equipment back. 

Finally we also added a external power supply to run our pressure sensing seat cushion. Before we were powering our project by connecting it to a computer. Hence now by adding a 9V battery we could power it externally.

In lab, we had gotten feedback on the rough draft of our final report that was due in week 7 and we spent our week revising the report. Our professor said that the report was good, but we needed to revise it so that it sounded more like a technical research report rather than a “lab report.” What he meant by that was that we need to incorporate exact facts, figures, charts, and numbers in the writing and then support our words with either academic essays or our experimental results.

When we first submitted the draft, our design was still a work in progress which had made it difficult to incorporate experimental numbers in our paper since testing was not a viable option yet. However, now that we have a concrete prototype made and we had worked out the small problems in our design and we understand how to interpret the output data that the Arduino is giving us, we can revise the report to include experimental facts and figures.

One task that we need to work on is to create a set of verification tests that determine the pressure inside the seat, determines how the threshold value works and what each threshold means, and prove that we have accurate pressure ranges and target values for our design. Verification tests are technical tests that verify the inner workings of the mechanisms of our design to allow the engineer to see that the prototype is functioning correctly and the data that we get when we test the seat is valid and accurate.

One test that we could do to perform verification testing on the pressure sensors is to determine the hydrostatic pressure of each sensor. This is done by measuring the displacement of water in the plastic tubing while a known amount of pressure is being applied to the sensor. This can help us determine the accuracy of the readings that we get from the sensors. It can also help us determine whether or not we need to account for error percentage or fluctuations as well as if we need to take into account of delayed response times when taking a pressure reading. After the simple technical testing is done, we can then use a set of validation tests to let people see that the seat functions correctly when a user uses it.



Week 9


For our prototype this week, the team performed a few verification tests on the pressure sensors to ensure that the mechanical design functioned correctly. The group performed a hydrostatic pressure test on the pressure sensors in order to see if the pressure the sensor read was the actual pressure being exerted. To perform this test, the group used a long length of flexible tubing and connected it directly to the sensors. The flexible tubing was held in a “U” shape and water was continuously added to one end of the tube. We needed to be careful to make sure that water did not get accidentally pumped into the sensor.

As water was added, we measured the water displacement in the tube to determine the accuracy and inaccuracy of the actual exerted pressure compared to the pressure the sensor was reading. Following the verification tests, calculations were made convert the output values of the Arduino into pressure values using the equation provided by the data sheet of the pressure sensors.


The majority of the week has been used to tie up loose ends and dedicated to working on our presentation since we present next week. We had received feedback on the rough draft of our paper and we need to edit the technical design section of our paper. We need to divide this section into subcategories (mechanical design, electrical design, and software design) for organization purposes.