• Home
  • Lab 1
  • Lab 1

    The questions below are due on Friday February 10, 2023; 05:00:00 PM.
     
    You are not logged in.

    Please Log In for full access to the web site.
    Note that this link will take you to an external site (https://shimmer.mit.edu) to authenticate, and then you will be redirected back to this page.

    Product Teardown and Bill of Materials (BOM)

    Learning Objectives

    In developing a product, we need to understand how much it costs (which will inform how we price the product) As engineers, we also want to develop understanding for how a myriad of interconnected challenges are solved in creating a system: how do we fit everything in a constrained space, how to we apportion functionalities to different physical parts of a product (so-called physical partitioning). This will inform the design of our semester design project.

    The systems we'll analyze in this class typically include a hardware component (with embedded software, called firmware), and a remote cloud or server component. The software and the cloud are hard to "take apart" and examine (and, as it turns out, cost out). But we can certainly examine hardware. This is called a teardown. Teardowns inform cost, but they also can serve a research and input for how we might implement certain fucntionalities. It's quite common to purchase and teardown a competitor's product to understand their design; it's also common to make your product hard to reverse engineer.

    In this lab you will work in pairs to take apart a Pebble watch and catalog its components in order to gain insight about its constraints and design choices. Pebble is a Kickstarter-funded early Smartwatch first released in 2013 (you can read more about its history here).

    Pebble and other wearable devices are examples of highly size-constrained systems and they manage to fit a lot of performance into a small form factor. While you are demolishing carefully disassembling your Pebble, take note of the clever ways components are assembled and connected. What do you expect and what surprises you about the way Pebble is constructed? What were likely the main constraints in the design of Pebble?

    Preliminary Research

    Go online and do some quick and dirty research on Pebble. Seek to familiarize yourself with this product: what is it and what can it do?

    Here is a list of resources to get started, but this is by no means comprehensive!

    Deliverable

    As a pair, compile a list of functionalities that this Pebble watch provides and think about how these capabilities might be implemented in hardware. Based on your research, what kinds of components do you expect to find inside Pebble? Write this down somewhere (paper, laptop, whatever).

    Checkoff 1:
    Discuss your predictions with a staff member

    Teardown in Pairs

    For the next part of the lab, split into pairs (one group of three may be necessary depending on the number of people in the class). You can decide amongst yourselves how to split up, and we'll be around to help as needed.

    Stop by the entrance of EDS to pick up what you'll need for the teardown. Each pair should have:

    • A Pebble watch
    • A torx T5 screwdriver, spudger, and tweezers

    Carefully disassemble the Pebble. You should be able to keep all the components intact, but it isn't a big deal if some of the larger components (like the battery) become detached from the main circuit board. The spudger and tweezers will be useful here.

    After you get the back panel off, removing the inner tray of components can be tricky. One way to remove it is to insert a spudger or small screwdriver between the tray and the outer shell and gently pry it out.

    Be careful not to puncture the battery as you're disassembling.

    You should end up with the following components

    Feel free to ask the staff if you get stuck or find something you don't expect.

    Identifying Components

    Next (still in pairs, teamwork makes the dream work), you will attempt to identify the components inside Pebble. The list of parts that comprise a product is called the bill of materials (BOM). The BOM can get quite extensive (it can include the mechanical parts, raw materials used in manufacturing, and so on), but here we'll focus on the electronics.

    Starting in pset 1, we'll begin the electronics design for our air quality monitor MILO. The PCB design software we'll use will automatically create a BOM for us (yeah!). Here we'll get familiar with an electronics BOM and what goes in it.

    To start, please duplicate this BOM template .

    This simplified BOM template has a number of columns. Let's go into each one in detail:

    Component description: what is the part? is it a resistor, a connector, a microcontroller, etc.?

    Part number: what is the item number of the part. This is sometimes printed on the top of the part, and sometimes not! Part numbers may be a bit tricky to find on Google. Try searching for combinations of numbers on the package or leaving off suffixes like "RE6" (revision 6). Sometimes there are markings (numbers and/or letters) but they are not the actual part number, they are instead "marking codes". There are online databases of such codes, or you can sometimes google "marking code" + the code.

    Link to datasheet: If you can find the part number, can you then find the datasheet? Sometimes datasheet are easy to find. Sometimes they are not (the part may be custom-made for a specific company, and thus no publicly accesible datasheet exists). Sometimes the datasheets are in English, sometimes Mandarin.

    Footprint: Electronics components often have different shapes and sizes, called the footprint. Passive components like resistors, for example, come in thru-hole varieties (the ones that plug into breadboards) and surface mount (see comparison here. Surface mount can refer to the overall technology (SMT) or particular devices (SMD). We won't be too concerned with the difference here. The SMD resistors come in a wide range of sizes. The tiny ones make it easier to cram more parts into a given area, while the larger ones are easier to solder by hand. SMT integrated circuits also come in many packages. Sometimes these are hard to distinguish, but we'll do our best!

    Quantity: Sometimes there is one instance of a component on a board. Sometimes there are 5 or 10 (such as for a resistor).

    Cost: This is how much each part costs. You can only get this info if you can find the part number and then a supplier. It's good to start getting familiar with looking up parts. Two good sources are Digikey and Octopart. Octopart is an aggregator that shows prices across suppliers, while Digikey is a good name-brand distributor that we often use. If you look at the cost breakdown for a part, you'll notice that the price can vary dramatically depending on how many you buy. For example, here's the digikey page for the IMU we showed in lecture on Tuesday, the InvenSense ICM-20602. The price varies by >2x if you buy 1 vs. 1000. For the purposes of this class, we'll use prices at 1k order quantities. Of course, if you're Apple and you are buying 200M+ of a part, your price will be better...

    Those part markings are small! Use your phone and it's digital zoom to make the markings larger. And for some components, especially the shiny ones, shine a flashlight at an angle to make the markings appear. You'll know it's right when the marking becomes visible.

    As practice, try identifying this component (boxed in red). You should be able to find the product page. If you can't figure it out within 5-10 min, ask for help.

    Now, start to identify components and fill in the BOM. For now, focus on the integrated circuits, and ignore the resistors and capacitors, other tiny two-terminal devices, connectors, and so on.

    Deliverables

    By the end of lab, we hope you'll have identified a handful of components. The rest will spill into pset 1, and will be done with your team. The deliverables are presented below, and more details are in the first pset. Your team will only need to create a single consolidatd version of each of the following deliverables.

    Around 30 min prior to the end of the lab session, please ask for a checkoff and update the staff as to where you are.

    Checkoff 2:
    Discuss the components you've found so far, and what roles you think they perform in the system.

    The final deliverables will be done with your teams, so before you bid good-bye to your partner, make sure you each have copies of the BOM.

    All these deliverables should be placed in your team's Google Drive folder, which you'll create next week. So for now just keep this info someplace safe!

    1.) Bill of Materials

    Submit a single Bill of Materials spreadsheet cataloging the components your team has found inside Pebble.

    Here we encourage you to try to identify connectors (even if you can't find part numbers or costs), battery, parts on the flexible printed circuit board (this is the "U"-shaped yellow-ish board), display, and so on. It would even be great to count up the number of resistors and capacitors and put them in your BOM. You can assume each resistor costs $0.0025, and each capacitor is $0.003, which are reasonable prices.

    Sometimes you can find the part, but it is obsolete, and no longer produced or stocked, and thus you can't find a price.

    Next, you will create a google doc with 3 sections.

    2.) Hardware Annotation

    The first section will be the hardware annotation. As part of the annotation, put in a sentence about what you think the part does.

    Here is an example of one way you might annotate your Pebble hardware:

    [1] [Description/part number]
    [2] [Description/part number]
    [3] [Description/part number]
    ...

    3.) Components, functions and system diagram

    The second section of the google doc will contain a mapping (text, diagrams, you choose) between the list of functionalities created at the start of lab and the components you identified. For example, if you decided that the watch should be able to display information (a function), what component(s) create that function? Try your best to map the components onto the functionalities.

    The third and final section of the google doc will contain the system diagram. Given your component and function mapping, create a functional system diagram (this will be a drawing or figure).

    4.) Software?

    Thus far we've only discussed on the Pebble's hardware, but it's more than just the chips inside. There's a lot of software that runs on the smartwatch itself - in this case, it's running some custom firmware likely written in C. This is pretty common for smaller embedded systems - C (and C++) has been the norm for a while now, but Rust is becoming more popular for this kind of thing. For more complicated embedded systems, we might run an OS, scaled down to fit onto the hardware of course. This is what Google and Apple do with their smartwatches. Google's got Wear OS, and Apple has watchOS. Very creative naming.

    Back in the day, the Pebble would connect to an app on your phone, and communicate with the outside world through that. The language these are written in depends on your platform - Android apps are primarily written in Kotlin and Java, and iOS apps use Swift and Objective C. There are no cloud servers for the Pebble; instead, it uses apps on your phone as gateway to the outside world. By now, you should have figured out how the watch communicates with the phone.

    Bonus

    In addition to a sense of pride and fullfillment, the team with the most complete and accurate final deliverables will win a prize!