ENEL 343- Circuits II: Audio amplifier using the TLV4112 op-amp




The purpose of this hands on activity was to build an audio amplifier using TLV4112 op-amp that could drive an 8 ohms speaker. I chose this activity to show case for ENEL 343 because it gave me the foundational skills necessary to work on my group audio based term project as well as the 369 PIC 6 microcontroller lab. This was also the first time I got to use Scopy to observe signals in the time domain being converted to the frequency domain before my very eyes. It was nice knowing that knowledge gained earlier in the summer from ENEL 327: signals and transforms was still there.

The video demo below shows this precise real-time, time-domain to frequency-domain translation of the signal using Fast Fourier Transform. Since square wave is actually an infinite series of sine wave harmonics added together, the almost perfect square wave translates to the graph with spikes occurring at integer multiples of the fundamental frequency as shown in the video.

ENCM 369- Computer Organization: 6-bit LED Counter using switch

PIC connections

Demo Videos:

Switch schematic


This PIC activity was a very memorable one for me not only due to how much I struggled with it, but  because it was also the first time I damaged an electrical component trying to complete a lab-- the PIC microcontroller. A little bit cliché one could say, but it was a momentous feeling in a rite-of-passage way, the way I'll always remember my first sleepover, and my first car ride sitting in the passenger seat. The activity itself took me a whole entire day to complete, not including the debugging that resulted from having to replace the PIC and figuring out why it wasn't even working in the first place. Even as simple as the switch diagram looked, it took much effort to put together and make sense of (why do switches have four pins anyway?).  I was so proud of myself when it finally did. The hardest part though, as usual was the logic behind the code -- getting the counter to increment with every press of the button. This pic activity taught me that:

1) If all of of the circuit elements seemed to be connected properly and are all electrical components are there but circuit is behaving unexpectedly, try switching out components because most likely something has been damaged. This would have saved me a lot of time.

2) Never start coding without knowing what it is you want to do. Always have a plan/diagram before typing any code. Trying to "guess" code to save time has most of the time resulted in inefficiency and wasted time instead. This time especially.

Code run: demonstrating behavior of  the completed circuit.

This video shows that the switch works as expected. When switch is on the voltage is around 4.7V (close to a Vdd of 5V) and when it is off it is around 0.1 V (close to ground).

My attempt at a funny comic (not actual representation of what happened). The first 3 cell were actual representation, although I didn't realize that I had damaged the PIC until several days after.

ENEL 361- Electronic Devices and Materials: Investigating temperature dependence of different diodes.


Portable Heater used to heat up Thermistor

Graph of channel 1 vs channel 2 voltage readings at room temperature when DUT is thermistor

Graph of channel 1 vs channel 2 voltage readings at 73°  C when DUT is thermistor

Lab 2 of ENEL 361 investigates how different IV curves of different types of diodes change in response to temperature change. I decided to showcase this Lab because it was a really fun lab to do. This lab helped strengthen what I knew about semiconductor and diode behaviors. Since this course is by far the most theory-heavy course I had this semester, the labs give a different,  more concrete way of understanding materials taught. As of right now writing this, I still am not quite sure of how I feel about the course as a whole. On one hand, it was such an insightful course filled with mind-boggling and meaningful ideas that earned a place as one of my top 3 favorite courses in engineering. On the other hand, ENEL 361 was really challenging for me and I found the content very difficult to accept and turn into long term knowledge. Some of the topics felt very far-fetched; learning about non-existent, abstract holes travelling in a semiconductor at times felt a little bit like trying to do a historical analysis of the made-up Kingdom Arendelle. 

ENEL 300 - Professional Skills




This picture was taken of one of my team members Goni, who was the only member in Calgary except myself, which enabled us to collaborate in person together. When I look at this picture I think of the challenges that our team has gone through together. The day before, which was the 3rd time in the span of 7 days that we've met through zoom- averaging more than ~4 hours per meeting trying to finish our final code and product (even with the 369 second exam that week, a PIC activity that was due, Goni's 30 pages of case study, Ivan's and Netra's mechatronics projects ).

Nonetheless, that morning we agreed to meet up at the university to figure out why our load cells weren't responding to applied weight. Upon arriving at the university and having booked tables at the mechatronics lab, we were told that we weren't allowed to sit together at a table (understandably, it was protocol but would have defeated the purpose of our being there to work together) so we moved to a nearby window desk.

I knew that it was going to be difficult accessing supplies that we would need so I brought along my soldering iron and leadless solder and Goni, his multitude of wires, resistors and sensors. After spending hours testing, debugging to no avail, we then decided to reach out to prof Murari, who generously offered to meet with us through zoom and help out. The conclusion of that meeting was that --most likely our load cells weren't working and Dr.Murari suggested we get force sensitive resistors (FSR) instead, which we ended up using for our final product.

Our tired but happy team :)

From top left to bottom right: Ivan Paul-Serrano, Patricia Sharleen, Netra Patel, Goni Matzliach.


There were so many challenges trying to create a physical product in an online learning environment, with an immense workload during a global pandemic. It's been the most challenging semester of learning in my life. I would truly not have been as productive without my team. I'm grateful to have had the opportunity to collaborate with such amazing and perseverant souls. At the end of the day,  the most rewarding thing was having this incredible community of support and be able to cross the finish line saying that I gave it my all.

Our product is the I-mat, a pressure sensing platform that serves to alert users of package deliveries. Product consists of a tray with an attached FSR at the bottom center, and a 3D printed circuit housing.

Alterations from initial prototype to final product:

Anti-theft → Notification alert

The focus of our product shifted from anti-theft alerts to general notification alerts after conducting a google survey. Some people pointed out that it wouldn't be a very effective theft deterrent and that there are existing technology (such as security cameras) that are far more versatile for activity monitoring and theft prevention. We agreed with this and decided to re-brand our product.

Removal of package retrieval password module

Initially, we wanted to implement a module that can alert owners of unauthorized package retrievals consistent with the original purpose of preventing theft. This module would be connected to the speaker and WIFI microcontroller for SMS and email package retrieval alerts and consists of "buttons" (we haven't quite worked out all the kinks and details however) preset in a certain user-chosen pattern that serves as the password. Entering the correct pattern before retrieval of package would override the sound alert and digital alert systems, but if the password is not entered or password pattern is not correct, the system would alert. Since we decided to discard the anti-theft idea, we also scrapped this module. If we hadn't however, I think this module would have to be rethought because it would have been too complicated to code and implement within the project timeframe - as well, not very efficient, too confusing and not user-friendly. 

Load cells → FSR

We bought a set of 4 load cell sensors from Amazon which we couldn't make to work even after making sure that they were connected properly and repeated testing. The 4 sensors connected properly were supposed to be able to withstand and respond to mass of up to 200 kg. The FSR sensor that we ended up using are less accurate and voltage are capped at 5V ( around 5-9 kg depending on resistors used). 


I am glad that most of the major product alterations were made early during the brainstorming process. In this regard, the iterative scrum process, which required us to evaluate and re-evaluate our product before implementing changes really worked for us. We created a google survey during sprint 2 and I'm glad we did because we were able to get a head start on deciding what features to keep and discard. We were then able to buy required materials to ensure they get to us on time. By sprint 3, we had already 3D printed the casing and could focus on finalizing our flowchart and program behavior diagram. This helped up create a physical product that we could do live demos with. The biggest challenge throughout all of this was the assembling process and  prototyping as a group virtually. It felt really good finally getting it to work the way we wanted it to.

(a) 3D printed casing designed by Goni Matzliach.

(b) ESP12E WIFI microcontroller connections

(c) FSR attached to tray using packing tape.

Top view of final product composed of (a), (b), (c)

Demo Video of I-mat recorded through zoom. Logo created by Netra Patel.

Ideation step; process of choosing I-mat.

Design Process

Timeline: From idea to final product

As a whole LC team, we had to branch off into two separate smaller teams, this process was done solely based on interest of members. I ended up really liking the sensor idea which led me to join 14B. From there, the design process began.

At first, we saw the I-mat being a pressure sensing doormat not only for sensing packages  but to also detect presence of people at the front door (as a door bell), logging the coming and going of pets, etc. The task that we didn't do was define the role of each member within our scrum team. We filled each other's roles and did what was needed to be done but I think that if we had to do 10x the amount of revisions and iterations we did, and if the project was bigger, we'd have been in a much more chaotic state.  Within the repetitive agile framework we were able to define and redefine the purpose of our product, technical requirements and prototype design. 

Going into this course, I thought that the process of successfully designing and creating a technical product wasn't this repetitive. I thought that to be efficient and effective, an idea had to be thought through such that further major changes (at least during the current design cycle) shouldn't need to be made. I didn't think that going back to the drawing board this many times would be encouraged, or was even acceptable. I'm really glad to know that I was wrong.

The target audience of our product are homeowners/tenants/businesses who often gets packages delivered to them. The idea was to be able to make the process of receiving packages easier and more streamlined. Instead of having to wait/paying someone to wait for packages, an automatic platform can track package deliveries and alert users. We identified a market need and added a realistic sustainability plan. Through extensive research, we also found that there currently aren't any patented products like the I-mat.


From searching for similar patents, to learning how to create a sustainable product to drafting a value proposition and business canvas model, I think it is safe to say that I've definitely gotten more insight into what it takes to design and create a marketable product from the ground up. 

This project was also one of the few times that I've had to be responsible for the completion of a product. The experience of having to answer to questions and concerns about the product and have my ideas be criticized was valuable to me. It taught me that in order to be able to successfully and confidently market a product, I needed to take pride in it. For me to take pride in it, I have to truly believe that it has the ability to provide solutions to problems I care about.

I've honestly always disliked (and in some ways still do) the idea of 'Engineering Entrepreneurship', which in my head is the concept that everything I build needed to generate money to be valid. Of course this is a very narrow view of what entrepreneurship is all about --engineering entrepreneurship encompasses broad topics like human-centered design (really more like user-centered because product could be targeted towards monkeys), product validation, and sustainable design. Those ideas are very important to me. 

Looking Back Reflections

Entry 1 : Most Theoretical Concepts Learned (And Understood)

Entry 2 : Effective Learning strategy this semester

The most important theoretical concept I learned this semester was that the ALU (Arithmetic Logic Unit) of a computer is composed of functional blocks made of logic gates. It brings light to “invisible” circuit components that normally will not be visible even if I disassemble my pc. This helps me understand so much more of what makes a computer, a computer and enables it to not only do complex calculations but execute the multitude of instructions it is expected to. This is a very important concept as a foundation to build upon as computer microarchitectures are so prevalent in today’s society. Although this knowledge can be said to be pretty practical in nature, it was one that changed the way I understand and see computers. This knowledge also heavily relates to microprocessor design and the transistors that make up integrated chips as well as Moore's Law.

       My workspace in the living room of a 2-bedroom Condo

The biggest struggle of doing full-time learning at home for me is finding a separate personal workspace that is not my bedroom. Sometimes working in the living room is possible but most times it is difficult to concentrate when sharing a small space with other humans in the house. This is also normally not such a challenge but due to Covid-19 and not being able to go to campus, this has been an ongoing problem. To combat this, I usually try to get as much work done as possible before 4pm (the time when my parents come home from work). I usually do my hands-on labs and debugging at this coffee table and the rest (meetings, writing exams, etc.) in my room where I have more control over distraction levels.

Life Experience: 

As a child born to second generation immigrant Chinese parents in Indonesia, I was exposed to different cultures and languages growing up. At the age of 8, I was enrolled in a Singaporean school and had to learn about the history of the country and its culture and traditions as well despite only having visited the country a handful of times. By then, I was already accustomed to speaking and writing in 3 different languages (English, Bahasa Indonesia and Mandarin). At the age of 13, I moved across the world to Canada where I now still live. I think the skill of quickly adapting to different cultural norms and new environments is important as an aspiring scientist and engineer.