⚓ Container Ship ⚓ ‿‿‿‿‿‿‿‿‿‿‿‿

My entry into the "Science: Make It Float challenge"

See the Instructions for a narrative of the iterative discoveries, and design modifications that resulted.

See Updates below to see changes since first published.

This is definitely a "work in progress". Things may still change based on the ongoing printing, testing, and experimentation.

I normally don't publish my things until after I successfully print one myself and verify everything prints and works as designed. However, for this challenge, you get to "come along for the ride", and follow the progress, setbacks, redesigns, and hopefully, the ultimate success of this project. A chronicle of the process can be found in the Narrative section under the Instructions tab.


The first thing that came to mind when I read the challenge goal — to optimize the amount of weight your boat can support using coins in your local currency — was a container ship, having the containers hold rolls of pennies.

An object floats based on Archimedes' principle:

Any object, wholly or partially immersed in a fluid, is buoyed up by a force equal to the weight of the fluid displaced by the object.  
                                            — Archimedes of Syracuse  

Therefore, in order for a ship to float, it must displace a volume of water that weighs more that the ship and its cargo.

So, the first thing I did was weigh a roll of pennies to determine the size that a container would need to be in order to displace a volume of water having the same weight.

The idea behind that, is that if each container itself is at least (neutrally) buoyant, then a ship's hull that would surround the containers should have enough buoyancy to float the hull and the containers in it.

That conclusion is based on the fact that the hull would displace the volume of all the containers in its hold, plus the additional volume of the space around the containers (weighing only as much as the air in it), and the thickness of the hull itself. Since the hull will be made of plastic, and not solid, the volume of water equal to the volume of just the hull itself should be enough to float the hull. i.e., If I filled the hull with water it shouldn't sink.

This would be difficult to calculate ahead of time (although, using the slicer's "filament required", and approximating the weight of that much plastic would probably be close enough. Note: I proved this to be the case experimentally once the hull was printed.

Penny rolls ranged from 127g to 133g. I looked up the weight of water — 1g/1000mm³ (it varies with temperature, and of course salt content in the ocean, neither of which should be factors for this model...). From that, I determined a "container" size -- having dimensions to surround a roll of pennies, and enough volume that the container itself should float with a roll of pennies inside. If each container is buoyant, then by definition, the ship itself should be buoyant if the containers all fit inside the hull, since the ship's total water displacement would be even greater. It should, in fact, be greater by enough to add a layer or two of containers on the deck, and still be buoyant. I didn't try to pre-compute that; I figure that will be done by simple experimentation once the ship is loaded and floating by adding containers to the deck. Of course the weight of the water displaced by the hull must be greater than the weight of the ship, and it's cargo — by enough to raise the deck of the ship high enough above the water's surface to avoid flooding the hull.

The design I came up with is modular so that

  1. It will fit in the print volume
  2. In theory, it is infinitely scalable by using one Bow, one Stern, and any number of Hulls/Decks (I'm hoping to print as many hulls as time permits to test that theory...).

The bow and stern make it actually look somewhat like a ship (vs. a square barge), and add some buoyancy since they are empty, which should allow for on-deck containers.

Another design goal is to only use printed parts (other than the penny rolls), without the need for gluing, and to have no parts that require support material (which, for instance, influenced the shape of the stern away from being relatively flat to be somewhat pointed (it prints on end).

  • Note: In the end, the bow (second version) required support material; see Narration in the Instructions about that.

The hull part is sized to fit a dozen containers (4 wide × 3 high) based the dimensions described above.

I also incorporated a keel into the hull that can hold a roll of pennies to add weight at a the lowest point to aid in lowering the center of gravity, in an effort to increase lateral stability (to prevent the ship from rolling over).

In order for form a (reasonably) water-tight seal between the modules, there is a groove running the length of the joining edge of each piece. I employed a "gasket", printed with flexible filament, that is forced into the grooves, and the modules are then clipped together using 12 clips (ABS has enough "flex" to allow them to snap into place, while being rigid enough to hold tight).

  • Note: The flexible filament turned out to be too rigid to form a decent seal like a rubber gasket would. I wound up using a different solution — see the Narration section in the Instructions.


  • Jul 19
    • Added videos of 57- and 60-roll float tests of 3-hull-section ship.
  • Jul 18
    • Added video of 47-roll float test of 3-hull-section container ship.
  • Jul 17
    • Added 3rd Container Hull section
  • Jul 15
    • Added 2nd Container Hull section
    • Floated TWENTY SIX rolls of pennies (new photos)
  • Jul 14
    • Added a "12 Container Replacement" consisting of a "grid" (print 2), and a "bar" (print 4).
  • Jul 13
    • Second float test (using plumber's putty between the hull seams) — success ✅ (new floating photo).
    • Deck Plate printed photos added.
    • New Bow printed, photos added.
  • Jul 11
    • Uploaded new, shorter, Bow, Bow_108.stl — it fits within required build volume limits. I left the original, Bow_68.stl for reference, and an option if your vertical print volume is not limited to 150mm.
    • Uploaded new Bridge halves, that are not as tall (as printed)/wide (as assembled)
      • Needed to reduce the print height to fit into the MakerBot's printable area (150mm).
    • Uploaded new Hull Joint Clip
      • Stronger (provides more pressure)
      • Does not interfere with the containers (is not wider than the "seam ridge".)
    • Uploaded new Joint Clip
    • It floats! (see pictures)
      • Of course, it leaks too...
  • Jul 9
    • Uploaded new (thinner gasket)
  • Jul 8
    • Bridge pictures
  • Jul 7
    • New (lighter) Container & Container Door)
    • new Penny Roll Holder (larger hole for roll, chamfered corners and slightly smaller outside dimension for easier fit into container)
    • new Container Door (looser fit, ridge on top for easier opening an look)
    • picture of completed container hull (one of hopefully 2 or more...)

Printing Progress:

  • ☑ (1st revision) Bow
  • ☑ New (2nd revision), shorter Bow
  • ☑ 1st Hull
    • Containers (12) ☑ ☑ ☑ ☑ ☑ ☐ ☐ ☐ ☐ ☐ ☐ ☐
  • ☑ Stern
  • ☑ Gasket
  • ☑ Hull Couplers (2)
  • ☑ Hull Clips (12 per joint)
    • ☑ Bow/Hull (12)
    • ☑ Hull/Stern (12)
  • ☑ Bridge
    • ☑ Port Bridge
    • ☑ Starboard Bridge
    • ☑ Bridge Couplers (2)
  • ☑ Stern Deck
  • ☑ Crossbars
    • Bow Crossbar ☑
    • Container Hull Crossbars ☑ ☑ ☑
  • ☑ Deck plate
  • ☑ Re-designed container
  • ☑ 2nd Hull
    • Containers (12) ☐ ☐ ☐ ☐ ☐ ☐ ☐ ☐ ☐ ☐ ☐ ☐
  • ☑ 3rd Hull
    • Containers (12) ☐ ☐ ☐ ☐ ☐ ☐ ☐ ☐ ☐ ☐ ☐ ☐
  • ☑☑ ☑ 24-container replacement penny roll holders (3)


  • ☑ Redesign Bridge
  • ☑ Redesign Bow
  • ☑ Redesign container (see narration)
  • ☑ Design "Clip" used to fasten the hull modules together
  • ☑ Print second (container) Hull
  • ☑ Test flotation
    • ☑ New Container (success ✅)
    • ☑ (original) Container only, with pennies (fail ⛔)
    • ☑ Photos/video
    • ☑&☒ Is ship balanced?
      • The new bow is lighter, and displaces less water than the original.
        ☑ The ship floats level when empty.
        ☒ When loaded with 26 rolls of pennies, the bow sinks further than the stern, since the stern has more buoyant force being applied to it due to the greater displacement than the bow.
      • Shifting 4 rolls from the front container section into the stern leveled the ship.
    • ☑ Is it laterally stable, or susceptible to rolling? (I have a plan if it is unstable...)
    • ☑ Determine how many containers can be added on-deck, and keep the deck above the waterline.
  • ☑ Print more Hull sections (time permitting)
    • ☑ 2nd Container Hull section
      • Containers ☐ ☐ ☐ ☐ ☐ ☐ ☐ ☐ ☐ ☐ ☐ ☐
    • ☑ 3rd Container Hull section
      • Containers ☐ ☐ ☐ ☐ ☐ ☐ ☐ ☐ ☐ ☐ ☐ ☐


Parts list

Note: The "Whole Ship" .stl file is only intended for visual reference — to use as this thing's featured image.

Main Hull

  • 1 × Bow Use Bow_108.stl (there are two Bow files; the first one I designed exceeds the print volume height limit of the challenge (it's 165mm high when printed). The newer file (Bow_108.stl) is only 145mm high).
  • 1 × Stern
  • 1 × Stern Deck
  • 1 × Port Bridge
  • 1 × Starboard Bridge
  • 2 × Bridge Coupler
  • 1 × Bow Crossbar
  • Using Plumber's Putty Instead of 1 × Gasket
  • 1 × Keel Coupler
  • 12 × Hull Joint Clips

Per each container hull section (1 to theoretically unlimited max):

  • 1 × Hull
  • 1 × Crossbar
  • Using Plumber's Putty Instead of 1 × Gasket
  • 1 × Keel Coupler
  • 12 × Hull Joint Clips
  • 1 × Deck Plate
  • 12 × Deck Container Pegs
  • 2 × Deck Rails

Under Deck:

  • Containers
    • 12 × Containers
    • 12 × Container Doors
    • 2 × 12 Container Replacement - Grid
    • 4 × 12 Container Replacement - Bar
  • 13 × Penny rolls — 12 inside containers (or in a 12-container replacement grid), one in the keel

On Deck (To be experimentally determined)

Not sure yet how many additional containers can be floated; there is extra buoyancy available due to the "extra" volume of each container, in addition to the bow and stern volumes; I expect to determine this experimentally, once the ship is constructed, and float-tested.

  • 2 containers (centered on deck)
  • 4 containers (full row on deck)
  • 6 containers (A full row of 4 with 2 stacked on in the center)
  • 8 containers (two full rows of 4, stacked; this will likely be too much weight)


All parts are presented in the orientation intended for printing.

I used ABS, .25mm layers, 3 perimeters with 40% infill, without support material (if printed in the intended orientation) unless otherwise noted below.

  • Stern Deck printed with 1 bottom layer, 0 top layers
  • The Crossbars are oriented @ 45° to fit comfortably on my print bed (they're 192mm long, my "printable" length is 200m). If you do print the part in that orientation, set your slicer to use 90° infill (so the infill is at 45° to the part's main length). If you have plenty of space (e.g., a MakerBot with 284mm wide print bed), you can reorient it to be parallel with your print bed before slicing.
  • The (new, shortened) Bow will require support material due to the nearly horizontal transitions in the lower corners.
    • I would recommend printing this with more than 3 perimeters (probably 5 or 6). I found that water leaked through the bow wall itself, where is is fairly "horizontal" while printing — where the permitters don't overlap very well. Rather than printing another bow, I simply smeared ABS glue on the inside to seal it. He bow walls may fill with some water, but not enough to worry about.
  • I also used some ABS glue on the insides (as opposed to the outside — for appearance) of the stern and Container Hull sections to seal some cracks in the sides (where the layers pulled apart slightly during printing).

Since the Bow, Stern, and Hull parts nearly entirely cover my print plate, so a brim was not an option, and probably would not have prevented warping well enough anyway — especially for the "exposed" edges (top edges in final orientation), so those objects include "ears" to anchor the part securely to the print bed (see below for print-bed adhesion issues).

Pay attention to the amount of filament required that your slicer indicates. The Bow and Stern are particularly large, and will require a fair amount of filament. You don't want to run out of filament after 37+ hours of printing... I got fairly close to doing just that (see photos).


Ship's Hull

First, you will need to cut away the "ears" from the parts that are used to ensure the parts stay securely bonded to the print bed while printing.

Next, remove the single printed layer covering the gasket groove where the ears were; there should be a single, continuous groove on the adjoining edges of the Stern, Hull, and Bow parts (the groove on the Bow stops just below the deck).

I found that printed gaskets, using flexible filament, were just not soft enough to form a seal. Instead, I used plumber's putty between the hull seams, and that solved the leaking issues.

Apply a generous bead of plumber's putty around the edge of one part (see photo), and then firmly press the two parts together; the majority of the putty will squeeze out; the rest will squish into the groove, and form a descent seal.

Next, use 12 Clips and a Keel Coupler to firmly connect the two parts. The Clips will be fairly difficult to snap into place (intentionally; they need to clamp the parts together as tightly as possible). To fasten a clip, put one end into one of the clip slots, and then press "across and down" from that end; the clip should deform slightly and the opposite end should snap into the other part's clip slot. You will need to press very firmly; I suggest gloves or a rag to reduce the pain to your thumb! The clips in the corners can be a bit tricky due to the limited space. Install the clip on the side first, then the bottom; the one on the side is slightly closer to the corner, so it's easer to install it if the bottom corner clip is not installed yet.

Finally, add a small bead of plumber's putty into the grove of the Hull Coupler, and insert it into the keel slot where the parts meet (see photos).

Once the parts are fastened together, you can remove the excess putty. It will probably continue to squeeze out for several minutes due to the pressure applied by the clips.

Use the same process to connect each Hull Section, and finally the Stern.

The Bow Crossbar (half of a Crossbar) drops/snaps over the top edges of the hull at the Bow's deck. Each of the other (full-size) crossbars drop/snap over the edges of each Hull/Hull joint, and the Hull/Stern joint.


First insert one Bridge Coupler into the coupler slot in the Port & Starboard Bridge parts; push it all the way in to the bottom of the slot (e.g., with a screwdriver). Insert another Bridge Coupler into the coupler slot until it is flush with the bottom of the bridge support tower. The two Bridge Couplers should securely fasten the two halves together. Finally, insert the coupled bridge halves into the Stern Deck keyhole, and turn 90° to lock into place.


Insert 4 sets of 4 Deck Container Pegs into each Deck Plate (these provide a small degree of anchoring to prevent the containers from sliding around on the deck). Next insert a Deck Rail into each end of each Deck Plate.

Each deck plate assembly sits between & on top of a pair of crossbars, and is easily removed for loading the containers.


Slide a Penny Roll Holder onto each end of a roll of pennies; this keeps the penny roll stationary and centered in the containers. Slide the penny roll into the container. Finally, slide the Container Door into the slots on the open end to "close" the container.

Each container incorporates peg detents on the bottom, and pegs on the top to provide some lateral stability to prevent the containers from sliding around on each other when stacked.

The hull sections and deck plates incorporate pegs to position the containers, and provide some lateral stability.

Update — due the lack of enough time remaining in the challenge to print a dozen containers per hull section, I created a "12-Container Replacement" frame than can optionally be used in lieu of 12 containers to hold 12 rolls of pennies in the same configuration as if they were inside containers.


The first thing I tried to print was the largest piece, the Bow. I wanted to ensure I was able to print it, because if not, I'd need to scale it down. My first two attempts at print the bow (with integrated deck) met with failure. The issue was the corners pulling up. Of course, since the surface that contacts the print bed is the surface where the hull joins, it must be as flat as possible to get a water-tight joint. The object almost completely fills the print bed, so there is little room for a brim. Adding "manual brim" on the inside corners helped, but was not sufficient to hold the corners down. So, next I tried making the bow hull and bow deck separate pieces, with the hopes that the "U" shape of the bow hull would not be as susceptible to pulling off the print bed.

Printing the bow's deck separately also allowed me to print it flat (vs. vertical), which takes significantly less time (less perimeter, many fewer layers). Then I just needed a way to "attach" the deck, so I made three bow masts that pass through the deck into the bow hull.

Still having warping problems. Ordered Wolfbite from AirWolf 3D to see if that will solve my warping/adhesion issues... more to come... So, the Wolfbite works great (awesome, actually. I tried it on some smaller unrelated objects, and it's cool to not have to deal with the kapton tape (and damaging it while removing parts with a razor blade). It bonds tightly to the print bed while printing, and literally is not bonded at all after it fully cools. I don't want to sound like a commercial here, but the Wolfbite works awsome. I'm not using anything else in the future; it is so much more convenient than kapton tape, and works better (and is probably cheaper; I didn't look up what I paid for my rolls of 4, 6, and 8" tape). They also have a formula for PLA; I haven't ordered any yet, but if it works anything like the ABS formula, bye bye blue tape!

However, I still had issues with these large ship parts that use nearly all of the print bed. Since there isn't really room for a slicer-generated brim, I added some "ears" to the problem locations consisting of a 2mm-thick (to get better adhesion than one print layer) ovalish part offset from the part by 1mm with a .2mm (one print layer) "brim" connecting them. That seems to have done the trick; I'm now about 50% through printing the stern,and it's still stuck to the print bed! Hoping it stays that way to the end. SUCCESS! (mostly)

I had some slight splitting (layer separation) along the top edge of the Stern (as oriented in the ship; the vertical edges as oriented when printing). I modified the part to have a thickened "top" edge to prevent this, but don't really plan to print another one; it took over 27½ hours to print, so if nothing else, I will probably run out of time. I will just use some acetone, ABS glue, or super glue to fill the cracks to prevent leaks.

Based on the results of the Stern, I included "ears" on the Bow, and added an internal filet where the sides/deck of the bow meet, so there is more material in the corner to get a stronger layer bond to prevent similar splitting issues.

The same goes for the Hull part; ears to anchor the bottom corners, and especially the top "exposed" edges, and I incorporated a thicker top edge to have more material for layer bonding along the top edge.

For the container size, it must be large enough to hold a roll of pennies (a cylinder 19.5mm diameter by 80mm length). So, with a minimum length of 80mm, a penny weight of 132g, and water weighing 1g/1000mm³, we get a container cross section of (80×ℓ² mm³ per 132g) × (1g/1000mm³) → ℓ²mm = 132g/80mm² × 1000mm³/1g → ℓ = 40.62mm. My initial hull design was therefore based on a 40mm×40mm×80mm container. Later, I looked up the dimensions of a containers, and found common sizes are 10ft, 20ft, and 40ft long (8ft × 8 or 8½ft); so based on that, I changed my container size (having the same size-ratio as an 8×8×20 container) to 40mm x 40mm x 100mm so the container would be to scale (necessitating the hull module to be lengthened by 10mm), which allows for some room around the penny roll, and gives a water displacement of 160,000 mm³, which should float 160g. Subtracting the weight of the pennies (132g), that leaves 28g for container itself to have a self-buoyant container, which would be ideal, but not required, since the hull will be larger than the containers by at least a small amount. Additionally, the bow and stern will be empty, providing a fair amount of additional buoyancy. Of course the goal is for the ship to have enough buoyancy to have containers on deck too. After printing the container, it weighs in at g, so...

Well, I underestimated the weight of the plastic. My printed container weighs in at 68g; added to the penny roll, that makes 201g, which is not itself buoyant (the container volume is only about 152,000mm³, which will only float approximately 152g). Now, the containers themselves do not actually need to be buoyant, however, that much additional weight (of the container itself) is probably too much to allow the full 12 containers (4w × 3h) in the hull and still have the ship float. There is a significant empty volume in the bow and stern, but that has to account for the weight of the hull itself, and I was planning on having containers on the deck(s). So, I will be redesigning the container to reduce its weight.

The new container weighs in at 29g. Adding the penny weight of 132g, the loaded container weight is 161g. The displacement of the container is 40mm × 40mm × 100mm, or 160,000mm³, which will float about 160g, so it's nearly self-buoyant. A test in a bowl of water confirms... it almost floats. The new container incorporates a built-in tube for the penny roll; which would actually the pennies to be put in without the roll wrapper, further reducing the container weight by a few grams; 50 loose pennies weigh in at 128g.

The gasket proved to be too thick. I was able to wedge it into the Hull, but that was quite the task, and it was impossible to then mate the stern to it (because I got it into the Hull by stretching it and smashing it in while stretched... So, I thinned it to 1mm, and am reprinting them; the first one indicates the problem is solved.

I got the volume measurements for the ship hull parts:

  • Bow
    • Original design
      • Volume: 2,232,887mm³
      • Weight: 552g (includes integrated bow deck).
      • Approximate buoyancy: 1680g (2,232g - 552g).
    • Shortened (to be <150mm high when printed)
      • Volume: 1,388,468mm³
      • Weight: 334g (with ABS glue "seal" inside).
      • Approximate buoyancy: 1,054g (1,388g - 334g)
  • Hull (container hold)
    • Volume: 2,972,763mm³
    • Weight: 356g
    • Weight of 12 Containers @ 162g (container + penny roll) = 1,944g
    • Weight of one penny roll in keel slot: ~132g
    • Approximate buoyancy (fully loaded): 540g (2,972g - 356g - 1944g - 132g).
  • Stern
    • Volume: 2,797,046mm³
    • Weight: 349g (without deck)
    • Weight of Stern Deck: ? (not printed yet)
    • Weight of Bridge 209g
    • Approximate buoyancy: 2,239g (less deck)

So, the ship should have no problem floating. Each container hull section should be self-buoyant with a full hold of penny containers, and 3 containers on-deck. The additional buoyancy afforded by the bow and stern should be plenty to add over 20 additional containers (total, regardless of the number of container hull sections. Probably a few less, when the weight of the deck plates and cross-members are included.

It shall be interesting to verify all this experimentally once the ship is assembled!

Ok, made my first float test.

  • The empty hull floats... and leaks. It is primarily leaking at the seams (where I expected), so I will be re-thinking the gasket.
    • Worst case, I could glue the hull pieces together, but that defeats the purpose of being modular, and being able to add container hull sections to increase the ship's capacity.
  • It also appears to be leaking a bit at the stern point; some ABS glue smeared around the inside should solve that...like tar.
  • It is a bit bow-heavy, so I will probably need to add some coins in the stern (or maybe inside the bridge!) for balance.

Uh oh, according the the Challenge rules, it must be printable on a MakerBot 5th Gen. According to the MakerBot website, the print volume of the MakerBot is 25.2cm × 19.9cm × 15.0cm (H). So the height limit of parts is 150mm. I just realized that my Bow part is 165mm tall (when printed), as well as each Bridge half. (I'm using a Prusa i3 with a volume of 200mm × 200mm × 185mm (H). I will need to redesign those parts... The upside is that the redesigned Bow will not be as heavy, so the ship will have a better Bow/Stern balance. My Stern measures in at 149mm "high" (when printed), so that should be acceptable.

New Bridge halves designed and uploaded.
New shorter Bow designed and uploaded; began printing it.

I decided to try valve packing or plumber's putty to form a water-tight, but non-permanent seal between the Hull parts... test results to follow.

  • The valve packing was better than the printed gasket, but still leaked fairly significantly; it did squeeze into the grooves, but is still too hard.
  • PIumber's putty did the trick. No more leaking at the hull seams.

The new Bow not only stays within the print volume hight limit, it is also lighter, and the ship is no longer bow-heavy, and floats level.

Since I'm rapidly running out of time, and the Containers take over 5 hours each to print, I made a "12 Container Replacement". It consists of a grid (need 2) and rods (need 4). When assembled the frame is the same dimensions as a dozen containers (4 wide × 3 high), including the positioning dents and bumps on the containers. This should print in less time that it would take for a single container. It doesn't look as nice (like a container), but will position 12 penny rolls the same as if they were inside containers. This will allow for a full-weight float test for the cargo hold. The five containers I've printed so far can then be put on-deck.

The second hull section finished printing today; I disassembled the bow, and inserted the second hull (see photos). Since I don't have enough containers printed, or even the 24-container replacement described above yet, I just loaded 26 rolls (3.381kg) into the hull to verify it could float the weight of 24 containers (12 in each hull) plus the two rolls in the keel. ✅ SUCCESS (see photos). The ship did pitch down in the bow; presumably because as the ship settles into the water the stern is displacing a significantly larger volume of water than the bow, and therefore is a larger buoyant force on the stern.

In theory, this design can float an unlimited number of pennies, by simply adding more Container Hull sections, each of which can easily support the weight of 13 rolls of pennies. I will attempt to print a 3rd hull section before the challenge deadline...

So the last thing learned is that the center of gravity needed to be lowered in order to be laterally stable (prevent rolling over and capsizing). With the "extra" weight at the deck level the CG was too high, and the ship was prone to rolling. When the additional penny weight was lowered, the ship remained stable.

With 60 rolls of pennies on board (8.311kg), the water line was just below the top of the hull. Adding additional hull sections, would allow at least another 1.716kg to 2.112kg per section (~132g × 13 to 16), theoretically without limit. If there was more time, an plastic, it would be interesting to print 10 more sections, and put it in a pool...

Related designs