I started out with several different ideas, outlined above. When I was called upon for random review in class, the "smart egg" idea seemed to intrigue people the most, so I decided to go with that. I had to pare it down somewhat for feasibility on the timeline I was working with, but was able to produce a nice prototype!
HUMPTY DUMPTY'S STUNT DOUBLE
What does it do? This is a "smart egg" equipped with a 9-axis IMU (including an accelerometer, gyroscope, and magnetometer) that captures data on its position and the forces it experiences. It uses this data to determine the egg's fall height, fall time, and whether it would "break" upon impact when dropped. The idea is that this reusable smart egg would replace real, raw eggs for use in egg drop experiments, cutting fown on reset time, cleanup, and cost. It would also gather and relay much deeper data, allowing students and tinkerers to more thoroughly and usefully analyze their designs' success--or lack thereof--and any changes between iterations.
Who's done what beforehand? OMSI (Oregon Museum of Science & Industry) put together a prototypical version of a similar product a few years ago, but I've never seen it in person. Their eggs had wooden bodies, which is neither aesthetically ideal nor as structurally sound as the cast-in-place approach I've taken. Wood absorbs shock far less well than silicone. There is a pre-fabbed board kit called the Adafruit CLUE that appears to have an egg-drop experiment pre-programmed into it, but this is larger than an egg and does not resemble one. Therefore, it's not a great stand-in for a real egg drop. Finally, the best comps I've found are actually designed for the agricultural industry. These sensor-equipped dummy eggs can be processed through sorting equipment and packed into egg cartons. They're intended to help industry clientelle diagnose weak points in the supply chain, where eggs are likely to crack and product is therefore lost.
What did you design? I designed everything about these eggs! My process included: modeling a chicken egg in Fusion 360, creating designs for a 3D-printable two-part mold, creating the schematic and trace designs for a custom printed circuit board (PCB) that would get cast inside the egg, and designing a press-fit laser-cut egg stand for the finished product. My circuit board was specifically designed to be tiny enough to fit inside a real egg, with LEDs and a 9-axis accelerometer breakout board.
What materials and components were used? Where did they come from, and what did they cost? In total, my egg cost approximately
What parts and systems were made? The mold for the egg was custom fabricated, as was the egg itself via casting. The custom circuit board cast inside the egg was also designed and fabricated. The accelerometer breakout board was the only component that was purchased as-is.
What processes were used? I used 3D design in Fusion 360 to model the egg and its mold, as well as the end of my USB charger and the proposed size of my circuit board. I used the additive process of 3D printing (on a Prusa machine, using PLA) to fabricate the prototypical and final molds. I used Eagle for PCB design, creating a schematic and laying traces for a custom circuit board, which I then milled on a Roland SRM-20. I then soldered loose components to the milled board. I used molding and casting to cast my custom PCB inside my egg mold, encasing it in silicone. Finally, I used 2D design in Fusion 3D to design and model the pieces for a press-fit egg stand, which I then laser cut on a ULS laser cutter (a subractive process).
What questions were answered? My biggest questions were whether I could successfully design a PCB small enough to fit into an egg and whether I could cast it in place in such a way that a USB port was still accessible, from a material that would absorb enough shock to protect the system if it were dropped from a significant height. All of these were successful!
My remaining questions center around whether (and how) I can design a multi-layered board to pack a larger system into my egg: a wirelessly rechargeable battery, for example, or a supercapacitor as well as a wifi/bluetooth chip like the ESP32 and an SD card reader for extra memory.
What worked? What didn't? Casting a PCB in place worked beautifully, with some trial and error. Pouring viscous liquid through a tiny sprue and expecting all of the air bubbles to successfully migrate out the vent did not work--however, opening the mold part of the way through the curing process and filling in any gaps with fresh silicone did fix this issue. Eliminating air bubbles via a vacuum chamber did produce a clearer finish than not using the chamber, but it was still far from perfectly clear. (Though this probably has more to do with my technique than anything else.)
How was it evaluated? I evaluated my success for this particular iteration based on functionality. I wanted to produce a custom PCB that was the size of a real egg, cast it in place in a way that would protect it, and write code that would cause the egg to light up red if it experienced an impact above a certain threshold. In all of these ways, I was successful. I was even able to show the egg's acceleration via the Arduino IDE plotter, illustrating the ways that data from the egg could be made visible for deeper learning within a classroom. That being said, my egg was far from perfectly clear once cast, and I fell short of my eventual reach goals (like designing it to be wireless). Still, in terms of demonstrating an integration of the skills introduced this semester, I think my egg checks all of the boxes for 2D and 3D design, additive and subtractive manufacturing, electronids design, production, and embedded programming, etc.
What are the implications? This "smart egg" will reduce cost, waste, and cleanup/reset time for egg drop activities within classrooms. In museum contexts, it will allow the classic engineering design challenge to be deployed in an unfacilitated capacity on the exhibit floor. It will also allow for deeper learning and data analysis with kids, expanding beyond the success/failure model and allowing students to measure their success in more relative terms than "broken" or "unbroken" by looking at how much they've mitigated the impact force an egg experiences and whether they've improved their designs between iterations.
DESIGNING THE EGG:
Since I had to start somewhere, I decided to start with the egg itself. Its size would be my greatest constraint, considering that I had to fit all of my electronics inside it.
Google—and a call home to ask my mom to measure some eggs from her fridge—informed me that large chicken eggs average about 60mm long and 44mm in diameter. I took the liberty of adding a little bit of wiggle room for my electronics, figuring I could always scale downing my second spiral if I achieved success at this size. So my first egg ended up being more of a “jumbo” egg (or duck egg!), though I scaled it down later.
To design this in Fusion, I first used construction lines to map out the maximum height of my egg: 75mm. Then I inserted an image of an egg from Google into my sketch as a canvas. (This was the first time I've used the "canvas" feature, but it won't be the last. It's super handy! It basically just drops an image into the background of your design so that you can use it as a template for sketches, etc.)
I scaled the image until it was the same height as my construction lines, making sure to keep the image centered over the origin since I knew I'd want to reflect things across centerpoints later. Then I used the "spline" function to trace along the right side of the egg's perimeter. Finally, I drew a straight line along the y-axis (at the origin) from the bottom of the egg to the top. My finished sketch was of one full half of the egg.
Then, because I am overzealous about parameterization (thanks to Alfonso!), I wanted to parameterize my egg.
Although there’s no straightforward way to parameterize splines, I found a workaround: I used the “sketch dimension” tool to determine the distances between each of my spline points and several fixed points on the egg. (I used the center line and each pole for reference.) Now, instead of dragging the spline points to change the egg’s size, I could enter new values into the dimension boxes.
I could theoretically have made each of these dimensions a parameter and enter the values that the sketch dimension tool had initially yielded. This would preserve my current sizing while building in quick-adjustable parameterization. However, there were six (6) diameter measurements and seven (7) vertical distances. That was a lot, and I’d have to assign a name to each one that would make sense later. Or perhaps draw a reference diagram and just assign each one a shorthand letter or some such. Since I can realistically just edit the dimensions in the sketch easily enough, I decided to stick with that.
Once I had my half-egg drawn, I simply used the “revolve” function to revolve it 360 degrees around its z-axis. This produced a three-dimensional egg.
I scaled the image until it was the same height as my construction lines, making sure to keep the image centered over the origin since I knew I'd want to reflect things across centerpoints later. Then I used the "spline" function to trace along the right side of the egg's perimeter. Finally, I drew a straight line along the y-axis (at the origin) from the bottom of the egg to the top. My finished sketch was of one full half of the egg.
Then, because I am overzealous about parameterization (shoutout to Alfonso!), I wanted to parameterize my egg.
Although there’s no straightforward way to parameterize splines, I found a workaround: I used the “sketch dimension” tool to determine the distances between each of my spline points and several fixed points on the egg. (I used the center line and each pole for reference.) Now, instead of dragging the spline points to change the egg’s size, I could enter new values into the dimension boxes.
I could theoretically have made each of these dimensions a parameter and enter the values that the sketch dimension tool had initially yielded. This would preserve my current sizing while building in quick-adjustable parameterization. However, there were six (6) diameter measurements and seven (7) vertical distances. That was a lot, and I’d have to assign a name to each one that would make sense later. Or perhaps draw a reference diagram and just assign each one a shorthand letter or some such. Since I can realistically just edit the dimensions in the sketch easily enough, I decided to stick with that.
Once I had my half-egg drawn, I simply used the “revolve” function to revolve it 360 degrees around its z-axis. This produced a three-dimensional egg.
DESIGNING THE MOLD & REGISTERS
My next step was to create the frame for my mold. I followed the same steps here as outlined in week #8.
First, I created a bounding box slightly larger than my egg and extruded it down below its bottom edge. Then used combine -> cut to carve an egg-shaped hole in the box, making sure I checked the box to keep the tool for future use. (In this case, the tool was the 3D egg form).
Then I added registers. I knew I wanted to include both hemispherical and step registers since the combination had worked well for me during modeling and casting week.
To make the hemispherical set, I created a new sketch on the top face of my mold (the surface with the egg carved out of it). Then I drew construction lines connecting opposite corners to create an X in the mold's center. I sketched a small circle near one corner, and used the mirror/reflect function to rotate it into three dimensions to create a sphere, and used the reflect tool to replicate this in my other three corners. Now I had spheres in all four corners of my mold, which I could use to create my registers.
To make positive registers, I selected the two spheres in diagonally opposite corners (upper left and lower right) and used combine -> join to fuse them to the mold's frame. To create their negative counterparts, I selected the opposite spheres and used combine -> cut.
To create my step registers—which I angled at ~45 degrees to make the mold easier to take apart—I created another new sketch on the surface face of my original mold. I drew a new bounding box within this sketch, offset slightly inside of the original mold frame. Then I extruded this upward slightly, and used the chamfer tool to slice its inner edges down. This gave me a gently sloping frame.
Before joining this new "step up" with my left mold frame, I duplicated it and translated it the same distance over as my original mold. I then joined the original mold and "step up" frame into one piece (a new component). This was the left half of my mold. To finish the right half, I selected the duplicate step and reflected it over the surface plane, creating a new body. Then I merged this new body (a "step down" frame) with the right mold half, creating a new component once again.
3D PRINTING & REDESIGNING
Although I'd been planning to mill machinable wax to create my mold, Quentin suggested using 3D printing it from clear resin on the Formlabs printer. I made the trek to CBA at MIT and he helped me load the file.
This machine looked like an alien design compared to the Prusas I was familiar with. It literally prints upside down, with the "build plate" being a suspended system that got dunked repeatedly into a vat of resin, where UV light would sweep across it to cure the material in place. It was wild.
We left the print overnight, and Quentin was kind enough to grab it for me when he visited the Harvard lab the next day. It came out beautifully--but was definitely too large. I needed to scale down after all.
I was also grappling with how to cast in such a way that a USB port remained accessible, since I'd need this in order to power the device, charge a lipo battery, (re) program my microchip, and/or retreive data from an SD card.
The only way I could see achieving this would be to cast around a plugged-in cable. That meant I already needed to redesign my mold to accommodate this change. I could adjust the size at the same time.
So I went back into Fusion and repeated my initial process for a 60mm egg and mold. This time, I also modeled a fake USB charger end and extruded it through the lower wall to create a port. Because of the way I'd constructed my step mold, I'd even have a little extra piece across the top of the charger hole to hold the cable firmly in place.
I 3D printed this in PLA on one of Harvard's Prusa printers for proof of concept. It took 4 hours and 29 minutes, but I was able to fit both mold halves onto the bed at once. (I'd had to do them separately on the Formlabs printer with the larger design.
It held the cable beautifully.
A FIELDTRIP TO REYNOLDS
On Thursday, I made the trek to Reynolds, our local molding and casting experts, to source the material for my egg.
I was planning to mill a mold of my mold (so meta) out of machinable wax and oomoo. However, I knew from our week #8 group project that not everything cast well in oomoo and didn't want to get myself in a bind (literal or figurative) later on.
I knew I wanted a clear material that would cure into a firm but shock absorbant consistency. I needed it to be able to survive a fall without breaking or damaging the PCB it would contain. It couldn't be too brittle--but I also didn't want it to be too bouncy.
Thankfully, Jesse at Reynolds had the perfect recommendation: SORTA-Clear 37, a medium-hard silicone. He assured me I should be able to cast PCBs and lipo batteries in this with no issue. Even better was its relatively low cure time: only 4 hours. More time for prototyping!
However, SORTA-Clear 37 did have a downside. It would bond with oomoo, meaning I'd need to make my mold out of something else.
I'd brought my 3D printed prototype with me to the store, and Jesse suggested that I just use this as my final mold. When I lamented its low resolution, he introduced me to a miraculous solution: XTC-3D. This two-part system creates a brush-on solution that self-levels (meaning no visible brush strokes) and coats / smooths out ridges on 3D prints. This would give me a clean surface finish so I could mold directly in my 3D print. (PLA and silicone play nicely with one another.)
Back at the lab, my 3D print had finished. It turned out beautifully, and I immediately mixed some of my new XTC-3D and brushed it on. It required a 1:2 mixture of parts A and B and took four hours to cure. I left it to sit overnight.
The result was indeed a smooth, shiny finish. Perfect for my soon-to-be egg!
DESIGNING THE CIRCUIT BOARD: ATTEMPT #1 WITH AN SMD 6-AXIS ACCELEROMETER
Next, it was time to design my PCB.
I'd actually started the design process a few days earlier by outlining a wishlist of ultimate functionalties:
Because I had to pack my electronics into such a tiny space (eggs are incredibly small), I knew I would have to create a multi-layered board. This would be a very new skill for me, and I had a lot of trouble wrapping my mind around how to do so. (Should I create a single overall schematic, and then break things apart in the board design? Should I have three or four separate schematics and board designs?)
At least for proof of concept, I decided to start with a SAMD21 chip instead of the ESP32, a cable instead of wireless charging or even a battery, LEDs instead of neopixels, and no SD card reader. I chose a 6-axis accelerometer (meaning it would have a gyroscope), which I had to download a footprint for.
Then I went ahead and designed my schematic (which gets easier every time).
At the last minute, I remembered to add pullup resistors for the accelerometer since the SAMD21 doesn't contain any internally, a lesson I learned during input week when designing my 3-axis accelerometer breakout board.
Then I spent quite some time designing the board itself. Remembering Quentin's advice about topology, I prioritized getting my traces laid out first, and then spent several hours tweaking their positions to cram everything as tightly together as possible. I was aiming for an egg shape, after all!
Before milling, I exported the .png to my desktop, printed it to 100% scale, and cut it out to confirm its size (chapstick for scale).
Noy was kind enough to create a photoshop outline for my board since I was struggling with the polygon tool in Eagle, (thanks, Noy!).
Now I had a millable design for an egg-shaped board I was 100% confident would fit into my mold.
PCB PRODUCTION: ATTEMPT #1 AND A WHOLE DAY WASTED
Milling my board was a nightmare. We were down to one working Roland in the Harvard shop, and it didn't want to cooperate. Time after time, it milled too deeply and violently, ripping the traces off of my board.
I tried for HOURS with no success, and finally went to CBA in desperation. There, I used the research lab's Roland. This failed multiple times as well--at first because the settings were originally for a much smaller endmill, and then because the board kept flexing. This resulted in too-deep cuts that once again ripped the traces off.
REDESIGNING THE CIRCUIT BOARD
After examining my failed attempts, I finally decided that the surface-mount accelerometer I was trying to use just wasn't millable. Its traces were too tiny and too close together, and there was no way to edit the footprint to bring them within millable range.
I pivoted to a commercially available breakout board, figuring at this point that I might as well go for 9 axes. I chose the Adafruit BNO055 (more info here). For proof of concept, I connected it to my SAMD21 devkit board, downloaded the appropriate Arduino library, flashed a basic data-gathering example sketch, and played around a little. I was able to get a ton of data on the serial monitor!
Since the BNO055 already has built-in pullup resistors, I was able to eliminate those from my design.
However, I couldn't find a footprint for the breakout board, despite it being advertised as available. That meant I had to figure out a workaround. I chose to just insert 1x6 and 1x4 through-hole headers. The four-pin header was purely for structural support, so I didn't have to make any connections there.
Quentin advised me to use a mosfet for my LEDs, so I added that in as well. The final schematic is below.
To make sure my pin headers would be the correct distance apart to support the accelerometer breakout board, I inserted measurements onto the dimension layer of my board, measuring from center-hole to center-hole.
Pro tip: To find the dimension too, navigate to the "document" view, and it should show up under "draw."
Parts list and final layout are elow.
PCB PRODUCTION: ATTEMPT #2
Quentin was kind enough to use his photoshop skills to help me design a compact design for my new egg board. It looks pretty futuristic.
Even with my revised board design, I was still having trouble milling. The boards all wanted to bow, despite my adhesive.
With Quentin's help (again), I swapped out the underlayment (CBA applies a sacrificial copper board on top of the sacrifical polymer base, and then adheres final boards atop the whole thing) and cleaned the surface thoroughly with alcohol to no avail.
Finally, I tried switching to a smaller board, just larger than my egg. Success! These were too small to flex and milled beautifully, though I still had to reduce the endmill setting to .013 and the depth to .003.
I sanded the board to get rid of any tiny copper hairs, and washed it with dish soap.
It fit perfectly into my egg!
Somehow, this milling process took over a full day.
It was finally ready to go! Except that it wasnt.
It was at this point that I realized the small boards were double-sided copper. Because my board had vias through it to accommodate the accelerometer, this would end up shorting the whole board.
I considered remilling again, but had already wasted a day and a half. I hacked away at the copper on the back side of the board instead. It wasn't pretty, but it worked. I also sliced lines to separate some blobbed traces for my USB connection.
Next, I used Quentin's 3D printed solderless bootloader doohickey (my name for it) to program the SAMD21 chip before attaching it. I'd specifically designed my board without programming pins to save space, with the intent of using this trick.
I milled and 3D printed the case for his original design, but had suggested adding a programmable LED and a USB port. Quentin ran with the idea and tossed together a beautiful redesign.
Here's a link to Quentin Bolsee's files for the non-solder bootlegger: https://gitlab.cba.mit.edu/quentinbolsee/non-solder-bootloader
It was the middle of the night at this point, so I had to double and triple check things to be sure I didn't screw anything up when I soldered the rest. We couldn't find any voltage regulators, so stole one off a defunct "modular thing" board from the prior week. I used 471k resistors to brighten my LEDs.
It was the middle of the night at this point, so I had to double and triple check things to be sure I didn't screw anything up when I soldered the rest. We couldn't find any voltage regulators, so stole one off a defunct "modular thing" board from the prior week. I used 471k resistors to brighten my LEDs.
Despite all of my care, I still ended up with two mistakes (my first when it comes to board production).
My first mistake: despite my best efforts (and Quentin's warnings), I somehow still managed to attach my accelerometer breakout board backwards. I'd laid things out so it should attach to the back of my main board; instead, I mounted it to the front. This was after I soldered the pinheaders (my first) so crookedly that they had to be removed and replaced. Now they had to be removed again. Luckily, I probably hadn't shorted the whole thing since ground wasn't connected to anything meaningful. And indeed, when the breakoutboard was gently removed, flipped, and resoldered, it looked fine.
My second mistake: I somehow didn't connect one of my capacitors to 3.3v. It just went... nowhere. This shouldn't have been possible since Eagle is supposed to supply airwires--but somehow, my connection wasn't actually connected in the schematic (despite appearing to be), so it never translated over. I realized this when I plugged the board in and it didn't work. Thankfully, a short jumper cable (my first) did the trick.
At last, my board was finished--and it worked! I programmed the lights for proof of concept, and opened the accelerometer data on Arduino IDE. A huge step in the right direction!
PCB PROGRAMMING
TA Quentin helped out with this step, walking me through how to do an if/then function to trigger the LEDs with input from the accelerometer.
It's still incredible to me that a few simple lines of code can contain so much. This code resulted in the red lights illuminating when the axes input exceeded a certain (arbitrary) threshhold:
CASTING TESTS
Finally, with a redesigned mold, working board, and functional code, it was time to put everything together. Although I'd been planning for this board to be only a test (my first spiral, so to speak), it had taken much more time and effort than I'd anticipated and was looking to be pretty final after all. I was terrified to mess it up during the casting process, so spent a day running a series of tests. Since each cast takes ~4 hours to cure, this was a time consuming process.
First, I cast an empty egg. After spraying my mold with release agent, I mixed equal parts A and B by volume of my SORTA-Clear 37, using different sticks for each bottle in order to avoid cross-contamination and stirring as carefully as possible to minimize air bubbles. The solution was far more viscous than I'd anticipated, and nearly impossible to pour through my mold's tiny sprue. I ended up forcing it through the USB port hole instead, (which was empty, since this was just an empty test). It still took me the SORTA-Clear's full 25-minute pot life to fill the thing.
I left it to cure overnight, and opened it excitedly the next morning... only to discover it had cured full of air bubbles. Surprisingly, I actually liked the effect.
Still, I wondered about options to minimize the bubbles. Nathan kindly showed me how to use the vacuum chamber, which is essentially an overturned glass canister on a rubber-ringed base. Hooking this up via a hose to a small air compressor (in reverse, so it's sucking air instead of pushing it) allows us to remove the air from the chamber. This forces bubbles to rise to the surface in a solution.
I tested this out by filling half a mold and running the vacuum chamber for several minutes. It certainly forced bubbles to the surface, causing the whole mass of solution to swell and froth. However, many of the bubbles never completely surfaced. While the end product was much clearer than my first attempt, it was still far from perfect. Still, I liked the effect and decided to proceed.
Since I needed a way to seal off my USB port from the silicone and protect it, my next test was to determine whether hot glue would inhibit the curing process. I was hoping to use hot glue to encase the USB prior to casting, but didn't want to risk the egg's integrity. (I knew that superglue, for example, would prevent the silicone from curing properly). So, I gooped up a popsicle stick with Gorilla Glue hot glue, allowed it to dry, and cast it in the SORTA-Clear. It did great!
Although I'd been hoping to finally cast the final board, I decided to run one last test first. I wanted to see whether I could cast a layer of fresh silicone onto a layer of partially cured stuff. That way, I could fill one half of the mold while it was open-faced, minimizing the solution I'd have to force through the sprue and giving it ample surface area to degas as many air bubbles as possible. Once it was slightly cured, I could lay my board down in it, close the mold, and fill the remaining half through the sprue. First, though, I had to be sure it would cure all together as a single solid.
I poured a bit of solution into the bottom of my mold, allowed it to cure for an hour, and added another layer. This did beautifully as well.
FINAL CASTING
First, knowing I'd need a larger sprue than I'd intially designed, I clamped my closed mold in the bench vice and used a drill to widen its holes considerably. Although this revealed a bit of the 3D print's interior support structure, the silicone solution was viscous enough that I wasn't too worried about it working its way in.
Next, I sprayed my mold generously with release agent and allowed it to dry.
Then, I laid my mold out flat and threaded my cable through its cable hole. I knew I wouldn't be able to do this later without filling it with silicone. I taped both ends for now, to keep them clean. Once my mold was full, I enclosed it in the vacuum chamber for a few minutes, and then rapidly depressurized it.
I hot glued the USB port to keep the silicone out, then untaped the mini USB end of my cable and plugged it into my precious board. I gently fed the excess cable through its port hole until the board was resting flat agains the surface of the silicone, with its charger end tightly supported by its custom hole. This held it perfectly flat, as designed.
I allowed this to cure in place for about an hour and a half before closing the mold and slowly--so slowly--filling a new batch of silicone through its widened sprue. This was nightmarishly difficult, and took at least 25 minutes. At the end, I put the whole thing back into the vacuum chamber again.
CHECKING AND DOCTORING MY CAST
Because I was so worried about air pockets in my mold, I opened it before I was supposed to--and I'm glad I did. Fully a quarter of the mold's cavity had failed to fill, resulting in a large empty space. Panicked, I mixed a fresh batch of silicone and slapped it into the relevant space on both sides before slapping the mold back together.
I ran it through the vacuum chamber again. An hour later, I gently pried it back open expecting to see that I'd fixed my problem--but instead, I still had the same air pocket.
I mixed yet another new silicone batch and poured it into place (with the molds open-faced, working fast and smashing them closed again when I knew I had more than enough solution in place to fill the cavity). I had to press hard to get the halves to interlock because of all the excess silicone, much of which squished out the sides and sprue.
This time, I skipped the vaccuum chamber.
When I opened the mold a few hours later, I was pleased to see it worked!
I now had a beautiful egg surrounded by a thin layer of flashing.
I used a blade and some tiny scissors to cut away the flashing and small cylindrical artifacts left by the vent and sprue.
THE MOMENT OF TRUTH
It was finally time to plug my board in. To my relief and delight, its green power light turned on... and when I shook it hard enough, it lit up red!
I'd managed to successfully cast my board, plugged into its cable (though not to a computer), with a pre-loaded microcontroller.
It was a thing of beauty.
EGG STAND: 2D DESIGN & LASER CUTTING
As a last step, I needed to tackle the 2D design and subtractive fabrication portions of the final assignment to make a nice display for my egg.
(I'd originally been planning to mill machinable wax for my subtractive process, but ended up 3D printing my mold instead since the oomoo would have reacted poorly with my silicone.)
I used Fusion 360 to design a flat-pack, press-fit wooden stand for my egg.
To ensure a perfect fit, I first copied over my original egg sketch and body from my mold design. Then I projected the egg's silhouette onto a new sketch and traced splines around this until I was happy with their shape. These would be my stand's legs.
Inspired by the bubbles in my cast, I added circular design elements. Then I extruded the silhouette to the width of my material (3mm plywood). Now that I had a finished leg, I used the circular pattern function to create four more legs (five in total) equally spaced around my egg.
Next, I moved down to my bottom plane and constructed a new sketch: a center-point circle at the origin. I extruded this my material width, translated it up the z-axis until it was approximately where I wanted my stand's platform to be, and press-pulled it until it was a pleasing size. I then repeated this process with a second circle slightly farther down, below the bottom of my egg.
Now that I had all of my parts created in three dimensions, I needed to add slots. I revisted the sketch for my leg and added slots that were half the depth ultimately wanted (since they'd be scissor-fit with the circular platforms, which would share the slot depth).
Then I used my slot-equipped leg as a tool to "cut" into each of the circular platforms.
As a last step, I made copies of my pieces and rotated those copies to be parallel to the bottom plane. Then I created a new sketch, and projected them onto it.
Finally, I exported the projections as a .dxf file, put them onto a USB, and used the EECS laser cutter to cut them out of 3mm plywood
I broke one of my smallest circles when assembling, but thankfully had made some extras. I'm pleased with the finished product.
POLISHING THE CODE
As a last step, I revisited the code.
I'd noticed that my LEDs lit up more when the egg was moving than when it experienced an impact and asked Quentin for his insight. Some tweaks to the code showed that using "linear acceleration" values provided a better outcome than just plain acceleration. An increased threshhold also helped.
A reduced delay and a longer glowing, pulsing effect on the LEDs also helped the final product really pop.
WRAPPING UP
I felt myself pulled in many different directions once I had a working prototype. It was already late Monday night, and I was tempted to make and cast a new board.
I'd been hoping to spiral up to a wireless version of the egg that used an ESP32, or at least to a version with the red LEDs more evenly spread out and my orphan capacitor properly connected to 3.3v. (I'd designed this in the background while casting, so it was ready to go.)
I'd tweaked my mold design to significantly increase the size of my vent and sprue, and had reprinted and coated it in preparation for another cast. When we got kicked out of Harvard's lab and relocated to EECS at MIT, I actually left this mold behind and had to go plead with a security guard to let me retreive it. (Thanks, mystery guard!)
Although I had another board milled and half stuffed, it was no different from my original except for LED placement. So, instead of soldering and casting this, I pivoted and spent a few hours designing yet another new board. This would contain an OLED as its own layer in front of the main board and the accelerometer on a third layer around the back.
However, when I finally paused to catch my breath, I realized it would realistically take me several hours to finish designing, milling, and stuffing the board, another four-plus hours to cast it (opening it several times along the way to address air pockets), and then who knew how long to program it.
I finally decided that a more practical use of my time would be documentation, so spent the rest of the night putting together this page.
FINAL THOUGHTS
In the end, even though I didn't quite achieve all of the functionality I hoped for, I'm quite happy with my final product.
It's functional, and a good springboard for next steps. I can see the potential it holds, and look forward to spiraling up from here!
created with
Website Builder .