Monday, October 21, 2019

3D Printed Stargate: The Journey

On August 17, 2017, my Dad texted me this link of a 3D printed Stargate with lights and movement:

...thus inspiring my foray into the world of 3D printing. My Dad started 3D printing several years ago, and my friend Peter even longer ago than that, so while I'd seen printers in action before, for whatever reason it never held much pull on me. I'm sure partly that was because I already had enough other hobbies that I really didn't need "one more thing" on which to spend my time (and money). At least, until I saw that moving / light-up Stargate model.

I knew very little about 3D printing, except that prints could take an incredibly long time. Years ago I remember when a friend and I asked Peter to print a Star Trek: Deep Space 9 station, and after the first couple layers were down, he told us it would take another 24 hours to finish! That was basically the extent of my knowledge. (I chuckle as I write that now, because many of my prints nowadays take 24+ hours).

Over the past couple years as Dad has gotten into printing, he's created some gorgeous gifts for my Mom and also for my wife (for instance: a vase and roses for Valentine's Day, and a Beauty and the Beast jewelry container), and has offered to print things for me, too. Knowing practically nothing of the time and effort that it takes to get quality prints, I sent him a bunch of links for stuff I'd like, like tokens for one of my favorite board games, and paint racks for my miniature painting paints (unbeknownst to me until later, getting the paint racks to print successfully was no small endeavor in experimentation, and even once Dad had the right settings, it still took a day to print each rack). It's been so much fun watching Dad get into this hobby, and to see Mom cheering him on and sharing in the successes and not-so-successes.

After realizing that held a treasure trove of Things I'd like to print, and feeling like I'd be taking advantage of my Dad if I kept asking him to print dozens and dozens of links, I decided I'd get my own printer. Besides all the other random things I wanted to print, my ultimate goal was to print that working Stargate. I asked Dad and other friends who had printers for their recommendations, and bought a Creality CR-10 in August 2018.

I came into the hobby rather naively (optimistically?), and grossly underestimated how much time 3D printing takes. I don't mean the printing itself, I mean all the behind-the-scenes overhead, like getting a level print bed (I'm convinced this is impossible), cleaning up from failed prints, replacing clogged nozzles, upgrading bits of hardware, configuring a print server (OctoPrint), or installing new firmware (which took the better part of a full day for me to figure out). When the printer is working, it's great! But there are just so many random things that come up that will suck away hours at a time. I wasn't prepared for that going into it, and definitely more than once thought "I'm never going to get this working." But Dad was always there to answer my questions and send me video tutorials and other links to help. And even over a year later I'm still asking him questions (see earlier comments about the firmware - Dad helped me a TON in navigating that experience!).

Each of these pieces took ~24 hours to print

Back to the Stargate project itself. According to the webpage, it has 117 parts, and some I could see were very finely detailed, so I spent a few months getting the hang of printing in general (and tweaking my settings to get better quality prints) before starting in on a project that complex. I started experimenting with my first Stargate pieces in December 2018, opting to start with the most intricate first: the backside of the gate. Each piece took roughly 24 hours to print, then I'd write a number on it, change another setting or two and try again, keeping notes along the way so I could track what gave the best results. It took me roughly three weeks to fine-tune my settings for the high level of detail, with lots of "that's not quite good enough" results along the way.

After going through an entire spool of filament just on my experiments, I started printing parts "for real" sometime right before Christmas. Since I'd honed my high-precision settings already, printing the real pieces was fairly straight-forward, albeit time-consuming. The creator had written "total estimated print time: 112 hours," but I don't know what settings he used that could possibly print that quickly, since (for instance) each of my nine back-side-of-gate pieces took 12+ hours a piece. All told it took me three or four weeks to print everything.

Before trimming/cleaning
After trimming/cleaning

In reading and re-reading the original Stargate model page, I started looking at the builds other people had posted of their Stargate construction projects. One person's in particular stood out to me because he'd expanded upon the original design to add a web page interface for dialing the gate, a speaker to play sound effects, as well as designed a custom circuit board for the electronics. He also had a more thorough set of instructions. Based on his revised design, I started ordering electronics, which was it's own very stressful journey owing to the fact I haven't done anything electronics-y since 9th grade electronics class. I remember reading the lists of required parts and thinking, "I have no clue…" - what on earth is a PCB, LDR, or a Buck Converter? (The answers, I learned, are: "printed circuit board", "light dependent resistor", and something that changes voltage so you don't fry your electronics).

The PCB/printed circuit board came from a manufacturing facility in China, as did all the surface mount resistors, transistors, LEDs, and the like. Dad warned me in advance "are you sure you want to do that…" because as it turns out (I should say, as he already knew, and I was about to find out), the surface mount electronics are TINY!

Electronics in hand, in early January I started visiting Dad for electronics workshops. He got out his soldering equipment, including fine-point tips and tools for holding those miniature transistors in place. Dad asked me again if I was sure I wanted to use the PCB and tiny tiny tiny electronics vs a breadboard with larger, easier-to-handle pieces; I persisted because 1) the PCBs came in a minimum order of 10, so even if I messed a few up in learning, it didn't matter, and 2) I really wanted all the electronics to fit internal to the Stargate vs having to house them externally somehow. We went to work. My first solders were ugly, but functional; by the end though I could definitely see a difference in my soldering quality.

By March 2nd, we'd connected together the Raspberry Pi, motor control circuit board, and Stargate PCB + buck converter, and connected the thing to the motors that would spin the gate and lock/unlock the top chevron; My Mom captured a video of me running a test program on the Pi that would just spin the motor, and me looking very excited and saying, "I drew a star!"

What on earth does THAT mean? It's an old family story - when my Dad was first getting into computer programming (in the early days of personal computers), he excitedly called my Mom into the room so he could show her that he'd drawn a star on the computer screen. My Mom lovingly said (or maybe just thought to herself), "so? If you give me a paper and pencil I can draw a star for you," until Dad explained more about how complicated the programming was, etc. Since then, it's been a comical story my parents tell whenever something looks easy but in fact took an incredible amount of time/effort. As was the case with drawing my "star"[gate].

The next day, I hit what I'll affectionally call one of my most frustrating "roadblocks" :

You might notice in the photo that the hole from the backside of one piece doesn't line up with the hole on the left side of the front piece. It's hard to explain in words, but if you look at this next picture, you can see the Stargate pieces glue together in an overlap pattern:

...and I'd superglued the overlap going the wrong direction. Had I used the original designs for these pieces, it wouldn't have happened, but because I wanted fewer visible seams on the gate I opted to use double-sized pieces that someone had posted; I never pieced together (pun intended) that these might need to be glued in a particular way. So, this was a major bummer, because it meant needing to re-print everything you see in that photo, and I was almost out of filament, and the company was out of stock of that color for the next month. Re-printing took over a week (and luckily I had just enough filament left!), and it gave me an opportunity to tweak my settings yet again to get a slightly better quality. Long after the fact, I thought of a way I easily could have worked around my gluing goof (aka, just using one or two normal-sized pieces to fix the off-set), but, I'm still happier with the end result of re-printing.

Between March and September I procrastinated, and I can cite a very specific reason why: I procrastinated because of my fear of failure. In this time period, I was having difficulty getting the gate symbols to spin smoothly - I could spin the ring by hand, but it would "stick" whenever I tried putting it on top of the motors (not enough torque, I guess). I was terrified of gluing everything together and then not being able to spin the symbols, and having to start over. My own perfectionism was my enemy.

Finally I spent an afternoon "just doing it": I bought and sprayed a plastics lubricant in the track, shaved off some plastic from the symbol ring clips that were catching on the edge of the track (the symbol ring is five pieces glued together in a ring, with small "clips" between pieces that help hold them together), filed down the backs of those joins, and got the whole thing to spin smoothly with the motors. Whew!!

Next challenge: the LEDs. There are nine chevrons around the gate, and each has three surface mount LEDs. I had an evening of despair after struggling for over an hour to solder together three LEDs and their wires onto the tiny LED holder I'd printed. I had no idea at the time how to test if my soldering was even good, and I learned the *wrong* way to test is to plug directly into 12V power. "Pop!" went the first LED. I nearly cried. I couldn't imagine taking over an hour to solder each of the chevrons. I texted my Dad and he said he had tools that would help (like self-closing tweezers and the fine point soldering iron he'd had me use before). Got together with him a couple days later and boy did having the right tools make all the difference. In only a couple hours at most, I'd soldered nine sets of LEDs, and also the two strings of LEDs for the ramp.

I'd printed LED holders someone designed for the Stargate that would position them exactly under each chevron, and twisted the wires so the LEDs lined up, then glued in place. Prior to gluing, I soldered each of the LED sets to longer wires that would run out the bottom of the gate and connect to power+ground (thanks to my Dad who supplied the super thin wire!), and test connected everything into the wires coming from the PCB. I also modified the webpage and server code so I could easily turn on/off each of the LEDs using a touchscreen I'd bought for the Raspberry Pi. This made it SUPER easy to figure out which light was plugged in where later on.

With all LEDs working, I began the exciting task of putting the wires and LEDs into their final position and gluing down the top pieces of the gate. I tested each as I went and surprisingly / thankfully ran into no issues.

That is, until I glued the last piece down and was faced with a bundle of wires sticking out the bottom of the gate. Around this time, I realized I'd never marked which two of the eleven wires were supposed to plug into 12V power. Oops. Paranoid about frying my LEDs now that everything was superglued, I managed to use a multimeter to figure out which wires I wanted (fortunately I hadn't glued the chevron covers on, so I could still stick a probe in to touch the LED wires inside each chevron). I then marked said wires with electrical tape so I wouldn't lose them again :)

After testing all the LEDs "one last time," I started final assembly of the ramp base, taking time to run all the wires nicely through the little wire holders, and of course finagling/weaving all the gate wires through the base.

Fully assembled, I booted the Pi and told it to "home" the gate - if you'll recall my construction goof earlier concerning the small hole, this allows an LED to shine through the gate to the light sensor / LDR on the other side, but only when a particular symbol is lined up; that way the software knows the gate is at "home."

As the gate spun and spun, I discovered two issues. The first is that, despite all my efforts for a smoothly spinning track, the gate was catching in two specific spots. My worst fear. My best guess is I didn't file/smooth out the bottom side of the track enough, and/or that I hadn't trimmed off the printing brim from the gear teeth. I took the gate off, sprayed a ton of plastic lubricant in through the bottom opening and manually spun the ring to get it all around; I also propped the gate up slightly off its base, just a few millimeters, so it didn't sit as tightly on the gear. Between those two remedies, the gate began to spin fully around without catching.

But it kept spinning. And spinning. And never found "home". This was my second issue: I'd assembled the LED and LDR pieces on the wrong side of the gate, and because the see-through-hole was offset from center, the light was in the wrong place and couldn't shine through. It wasn't a huge deal, but still tedious to remove the gate again, unscrew/move/re-attach/re-wire the LED and LDR pieces. Even after lining everything up correctly, though, the LED I had wasn't powerful enough to trigger the sensor, so I went back to my local Radio Shack (whom I lovingly call "Dad") and he had a brighter LED he gave me, which worked more gooder.

Had a couple more issues come up, like the motors spinning in reverse direction (easily fixed by swapping two wires around), and the top chevron not moving up and down smoothly (eventually "fixed" by spraying in a TON of that plastic lubricant), but otherwise, at long last, the gate was finished! I took a video and sent it to my parents, and also of course grabbed Alissa and said "come see! Come see!!"

I'm really proud of how this turned out. I enjoy projects (like this one) that are at the edge of my current abilities; I had a lot of confidence on the software side, but not a lot / any experience on the electronics side of things, but with my Dad there to guide me, it became much more manageable. I've learned a LOT from where I started, and am feeling more confident to tackle other 3D printing + electronics type projects (next up: a Star Trek Next Generation warp core). Things I worried about early on (like the seams showing between pieces of the ring) aren't nearly as visible as I thought they'd be. And I was able to make modifications to the code that I'll publish back to Thingiverse, that might help a future builder when they build their Stargate. If I do say so myself, this thing's pretty darn cool.

Lastly, if you're wondering how much it cost... I'll admit the number surprised me. Here's a rough breakdown:

  • Filament: three rolls at $18 each, plus a couple other colors that I only used a bit of, so let's say $60
  • Raspberry Pi 3 B+: $56
  • Motors, motor circuit board, other electronics from $80
  • Touchscreen for Raspberry Pi: $80
  • HDMI cable: $8
  • Power adapter: 2 for $14, so $7
  • Printed circuit board from China: $20 ($2 for 10 boards, and $18 shipping…)
  • LEDs, transistors, resistors, and other various electronics from LCSC: $21
  • Superglue: $5
  • Wires, tools, solder, buck converter, other electronics and tools: free from the RadioShack of Dad

Grand total: $337. (Shhh don't tell Alissa! :)

Wednesday, May 29, 2019

Winnie the Pup

Anyone who's known me for any length of time probably knows that I'm not a fan of dogs. Over the years I think I've come down from a "phobia" to merely, "I'd rather not be near you," though admittedly I've met a handful of dogs that I could honestly say I liked (my friend Bernadett's Emma, and my Aunt Judi's Guinness and Keighley, to name a couple). So it is with utter amazement that the man who has for many years declared, "I will never own a dog!," announces that... Alissa and I got a dog:

Meet Winnie the Pup (or just "Winnie" for short).

If you'd like the short version of how on earth this happened, I suppose I can summarize with: "he chose me with his puppy eyes."

For the longer version, well, settle in. I tend toward extreme verbosity in my writing, and this life-transformational-story deserves nothing less.


Alissa has always wanted a dog. I have always not wanted a dog, something about which I made no secret during our dating and engagement, so that it wouldn't come as a surprise later. Knowing that we wouldn't actually get a dog, Alissa has frequently teased me with statements like, "if you get another lightsaber, I get a puppy," or adding "puppy" to our grocery shopping list. Chuckles ensued, but no puppies.

When we got our adorable bunnies, we did so in the hopes they might be cuddle-bunnies for Alissa. Sadly, our bunnies don't like to snuggle, they prefer to hop away. So, Alissa's desire for something cute and cuddly has remained (and while plush stuffed animals cut it for me, they don't for her).

A month or so ago, Alissa sent me a link to a puppy store that holds weekend open visiting hours for guests to pet all the puppies. Since the store is an hour-and-a-half drive, we picked a Saturday with nothing else on our calendar and marked the date. Leading up to the day, after telling some friends about our weekend plans, one of our friends helpfully declared (in spite of my protestations), "you're getting a puppy." I, of course, knew this wasn't ever going to happen, but took the joke in stride.

The Road Trip

When Saturday came, Alissa had donned her "I'm here to pet all the dogs" shirt, and also optimistically brought out the bunny carrier, because "it sure would be a shame not to have a doggie carrier 'just in case' we end up needing one..." Ha ha, you're right, Honey, but, you do know we're not actually getting a dog, right? "Right, but 'just in case,' we want to be prepared!"

While I programmed my GPS, Alissa double checked the store's hours. And good thing, because we discovered they would be closing early that day! Even leaving immediately, we'd only just arrive at closing time. Seeing Alissa's crestfallen expression, I didn't know how to "fix" the situation, but knowing that the store also took people by appointment, I gave a call asking if there was any chance they'd be willing to stay open a few extra minutes to meet us. To my relief, they said that'd be no problem! They were hosting a wedding (which is why they planned to close early), but they could stay open a little extra since they knew we were coming. Whew! We sped off toward the puppies.

One might wonder why I'd be willing to drive three hours just to see dogs I didn't want to buy. The answer's so simple: it meant I'd get to spend quality time with my wife, without the myriad interruptions of our busy lives. I thought of the excursion as a quasi-date, and perhaps even more importantly, I knew how happy it'd make her to play with all the "poopays" as we called them.

Arriving at the store, we noticed we were... under-dressed... compared to the wedding guests streaming in ahead of us. When they said on the phone they were hosting a wedding, I hadn't realized it was starting 45 minutes after we got there. After trying and failing to find an alternate door, I called back to ask, "we're here, is there another door we should use?" No, there wasn't, so we found ourselves in hoodies and t-shirts walking in behind folks in elegant dresses and suits. The lady from the phone greeted us immediately (she said we were easy to spot, since I'd said "we'll be walking in the door in 30 seconds"), and directed us through the actual wedding party into the back room of the store where the puppies are. Mildly awkward.

The First Meeting, aka, Puppy Eyes

Emerging into the puppy room we were greeting with the yipping of about two dozen puppies in a fenced play area in the middle of the room. Alissa dove [figuratively not literally] into the cuteness overload and started petting them; meantime I stayed aloof, because, you know: dogs.

Alissa kept asking me, "isn't this one so cute? Do you want a puppy yet?" And we talked a bit with the puppy minder, asking him about the store and the different kinds of dogs, as well as thanking him profusely for staying open late for us.

As Alissa enjoyed her time with the 101 poopayes in the playpen, I started to meander the room's perimeter, where there were puppies in large glass cages built into the walls. I noticed some that I said were "not well behaved," owing to their jumping up against the glass and yipping. Then, I saw one who was being very well-behaved, sitting there calmly, looking at me with puppy eyes (because of course, he's a puppy, so he has puppy eyes), and I said, "this one's really well-behaved." Alissa glommed onto that and said, "oh! you think that one's cute?!" To which the salesman said, "I'll go get him for you so you can hold him!"

"I– uh– um– I didn't ask to–."

The salesman returned and placed the doggie in my arms. He didn't bite or bark (and to my relief, neither did the dog), and so I just stood there - and eventually sat there - for about 10-15 minutes, holding this puppy and petting him. He sat so peacefully, calmly. As we sat, I learned that doggie was a Cavachon, a cross between a King Charles Cavalier and a Bichon; the Bichon breed is hypoallergenic, and the Cavalier breed was bred to be a calm lapdog for the king, which tones down some of the Bichon's hyperness. Alissa was rightfully-amazed at how long I willingly sat with puppy. Frankly I was, too.

Eventually, learning that the salesman was actually attending the wedding in the room next door, I returned the puppy and we took our leave (necessitating winding our way back through the wedding party). Alissa then proceeded to text our friends that I'd willingly held a dog, and if we'd have stayed longer she thinks she could have talked me into buying it. Meantime, I proceeded to have an hour and a half of severe allergy attacks (due to there being a thousand and one puppies in the room, and it being legit rural Minnesota farmland, and it being allergy season in general).

The following week

I'll be honest, I did like that dog. As we drove home, Alissa told me that while I was holding the dog and asking so many questions about it, she took it as a sign of 'Jeremy might actually get this dog!' before realizing that it was more like, 'Jeremy is a naturally curious person and likes to ask lots of questions, but it doesn't necessarily mean anything.

The following days, Alissa kept checking the website and letting me know "Perfect Puppy" was still available. Unbeknownst to her, I also was secretly checking the website, quietly breathing sighs of relief when I saw his photo pop up day after day. I can't explain it.

Alissa also sent me a bunch of links to read about Cavachons and general puppy care/training. Most of our conversations that week began with me saying, "we're not getting a dog, but hypothetically, if we did...". We covered such ground as who would let the dog out, who would clean up the doggie poos, how would this work when we go on vacation, what are our ideas about training, if we got this particular puppy would you say it's "Jeremy's dog" instead of "ours," and so on. Alissa also helpfully kept offering, "would you like me to go pick up Perfect Puppy for you? I can go tonight!"

As I pondered how having a dog would make Alissa so happy (as one of her lifelong dreams), and how having a cute little doggie-that-looks-like-a-live-stuffed-animal-teddy-bear sitting on my lap while we watched TV would also make me so happy, somewhere around Thursday I think I crossed the 50% threshold between "no puppy" to "yes, we can eventually get a puppy". Considering my journey had started at a solid "0% / no way!", I think that was pretty incredible progress, and all thanks to a cute little puppy with his emotive puppy dog eyes.

My biggest concern, then and now, is how much time a puppy might take. I already feel at-capacity on my time-budget, so adding "one more thing" is, frankly, an extremely intimidating proposition. I read a lot of articles, and finally phoned my Aunt Lisa - who trains service dogs - to ask more about training and time commitment, and was comfortable enough with the answers she gave me.

All day Friday I spent hemming-and-hawing, culminating in what I might describe as an anxiety/panic-attack Friday evening. At issue were my conflicting desires of wanting Perfect Puppy, knowing Perfect Puppy could possibly/probably get sold this weekend if we didn't snatch him up now, but knowing we're NOT AT ALL prepared for a dog (I mean this in a pragmatic sense: no kennel/food/toys/etc), and also fearing that all my already-limited free-time would get eaten up by having another pet, but also not wanting to have raised Alissa's hopes so far just to back out at the last minute, AND, having promised the bunnies we'd take them to Hoppy Hour, only to bail on them again at the last minute (yes, I know the bunnies didn't really understand that, but still). I was an emotional mess, trying to sort through all of that. God bless Alissa, she stayed with me for an hour while I tried to figure out my life. It wasn't pretty.

Eventually, I made my decision: let's go get Perfect Puppy. I called the pet store, set up an appointment in two hours, and we headed out. Alissa had the presence of mind to bring some extra supplies - like a towel and package of large pet potty pads for the carrier. Within a few minutes, we were on the road.

When I'd called the store, the puppy man asked me if we wanted to see any others than the Cavachon from last week (pretty sure he remembered us as "those people" who made him run late to the wedding and didn't even buy a dog!); so, along the way, Alissa looked through the website of puppies, and as we talked through each breed we narrowed in on wanting to see the other Cavachons, the pure bred Bichons, and some "Teddy Bears" of a breed mixture I don't recall. I called back the puppy man (who, when answering, consistently sounded so shocked that his phone had rung - it was amusing to me) and he said, yep, no problem, he'd have them all out for us to look at.

Our drive was largely uneventful, EXCEPT FOR driving past what is literally one of my worst recurring nightmares: a road that goes underwater. Shudder! Due to rush hour, my GPS had us taking some back roads to avoid traffic; and due to all the flooding, we passed an intersection where the road off to the right of us went straight down into a river. For years I've had nightmares about driving into a water-covered road of unknown depth, so this was a most unwelcome sight to see so close-up in real life!

The reunion

We arrived at the pet store on time, and went into the puppy room where there were now only eight puppies instead of the several thousand from last time. Perfect Puppy and two other Cavachons were sitting calmly, while the Bichons and Teddy Bears were jumping and yipping. While good to compare, the Cavachons' docile nature pretty much cemented the deal. Puppy Man placed Perfect Puppy in my arms, and we sat for a little bit. Perfect Puppy was so cute; he looked at me with those puppy eyes, and asked me if we were going to take him home. Alissa and I re-confirmed that yes, we'd like this puppy. We told Perfect Puppy we were going to name him "Winnie the Pup", and then I handed him back to Puppy Man who said he'd give him a quick bath before we took him home.

Winnie's Perspective

Pff, pff, I don't like baths! I think I swallowed some shampoo. Pft! Oh, but I feel so clean now, and I look so fluffy and pretty!

Mr Puppy Man leads me back to the door to the playroom, and when I run through I see the new humans who were holding and petting me. One of them tells me they're bringing me to my "forever home" - I'm not sure what that means, but the way he says it it sounds like it's a good thing.

The man holds me in his arms while the woman writes on papers for Mr Puppy Man. He's telling them all about me, and I recognize a picture of myself and my mommy; he says something about "up to date on shots" and that I already have something called a "chip." I'm just a puppy so I don't understand what all of that means, but I do know I'm feeling very loved by the man holding me. He's smiling such a big happy smile. And I know because I just had a bath, that I'm looking my absolute best for him.

He crouches back on the ground and says I should say goodbye to everyone. I don't quite understand, but I think that means maybe I'll be leaving the store now, like some of my other friends who have left with other humans. I will be sad to leave all of my puppy friends - they are my family! But I do want to make these new humans happy, so I will put on a strong face for their sake.

I'm carried out into a larger room I've never seen before. There are toys everywhere! Wooden rectangles with carved shapes (I think the humans call them "letters" and "words"), towels that look like they'd be fun to pull on, little glass sculptures with different colors, sitting on a shelf just waiting to be knocked onto the floor for puppy play-time!

While the man holds me, the woman hands Mr Puppy Man a small plastic rectangle and he hands her a bag of my favorite puppy food and what looks like it might be some treats! I don't really know what those are yet, but my nose says they're probably tasty.

Mr Puppy Man has started talking to some other humans who just arrived, about one of my other friends who was in the playpen with me a few minutes ago.

My carrying human puts me down on the floor and they ask me to walk into a plastic box. I don't know how I feel about this. It's kinda dark and scary in there. But I'm a brave puppy, and I want to be a good puppy, too, so I go into the box thing, and before I know it the box is being lifted off the ground and I'm being carried outside! The air is so fresh out here. Soon, though, my box is inside again; I seem to be in a small room that rumbles like a hungry puppy tummy, and it starts to move when it rumbles! I can feel the room moving backwards, now forwards, now turning to the right, and now I'm sliding back against the wall of my box because the room is moving faster and faster.

The humans are talking, and the woman is sitting next to my plastic box. She opens the plastic box fence so she can reach in and pet me. I can tell she really likes me, too, and is excited that I'm in this plastic box in the rumbling, moving room with her.

I'm starting to feel funny. My tummy is hurting... Now there's something in my throat. Oh no, I'm going to–

Oh no :( I think I just threw up that shampoo I swallowed :(

The moving box is slowing down, and stopping. The humans are talking to each other, and the woman is trying to wipe my face. I'm not feeling well at all, and now I'm feeling even worse because I was so nice and clean and looked so pretty, and now I've ruined my clean fur :( I was trying so hard to be a Good Puppy, but my tummy hurt sooo much!

She's still wiping me down, and the big moving box has started moving again. Uggghhh, I'm not feeling very good again...

I'm such a little puppy, and leaving my home and puppy friends is really stressful, and I'm not used to riding in big moving boxes on wheels. I'm trying my best to be Good, I hope they can understand. I'm really sad that I ruined my clean fur, but the humans don't seem to be mad at me.

The light outside is going away - that means it's past Puppy Bedtime, but I'm still awake, and still a little scared.

The rumbling sound is getting quieter, and I think we've finally stopped moving. The humans are saying those words "forever home" again, and picking me up to smell the fresh air again. It's dark, and I can't really see, but I seem to be on some grass. The grass is wet, so as I run around to sniff and explore, it's like I'm getting another bath, but with no shampoo this time. I think my fur is getting cleaner now! The humans are so excited to see me running around and having fun. I wonder what new adventures I'm going to have here!

Closing thoughts

Back to Jeremy's voice again.

With my Mom retiring from 44 years of teaching this past week, I hadn't wanted to detract from that with puppy stuff, so I suspect it was more than a little surprise when I texted her a photo of her son (me), a man who has for years hated dogs, suddenly holding a puppy! I think our neighbors, and my Aunt and Uncle, also could not have been more surprised. Perhaps hell really has frozen over.

What has surprised me the most, is how easily I've acclimated to a puppy licking treats out of my hand (something I would NEVER EVER have pictured myself being comfortable with), or dealing with puppy accidents on the carpet, or praising Winnie for pooping on our lawn. I don't think I've ever in my life shocked my Uncle more than when he saw me sitting on the dining room floor holding and petting Winnie. I can't explain it - I really love this puppy (I mean, Alissa really loves him, too, but it's my blog so I'm focusing on my own experience).

As for our how our bunnies are handling this change... well, they maybe love Winnie a little less than we do. Winnie looks at them and seems to say, "these are some weird looking puppies," while the bunnies say "that's a weird looking bunny!" The bunnies sometimes thump a leg at Winnie, as if to say, this is our territory (for any fans of The 100, perhaps you'll find humor in something else the bunnies 'say' when we pretend to talk for them: "You are Bun-Kru, or you are the enemy of Bun-Kru!"). And at least once I saw Winnie startle the bunnies so that Luke and Daisy literally jumped into each other mid-air. It was simultaneously hilarious, and also frustrating, since we don't want Winnie scaring the bunnies. But as I sit here writing this, Winnie is sitting by the bunny fence, and the bunnies are casually coming up to sniff him, then hopping away. So I believe there is hope.

Thus concludes the first chapter of bringing Winnie into our lives. As Winnie said, I wonder what adventures we're going to have!