Bamboo Flooring 2025

Tony's House Projects

Office
Bedroom
Hall
Background and Scope
When we moved into our house, just about every room had carpet, including all three bathrooms. It was beautiful and quality carpet, but it was still carpet and installed in some inappropriate places. Over the years we converted the main kitchen, den and bathrooms to tile, but that left all the bedrooms and main hallway still with the original (now 30 year old) carpet. It was long planned to remove it: this project was when it finally happened.
This was really an extending series of projects or a large multi-phase project as we did each room, one at a time, and with some amount of popcorn ceiling removal and painting of walls and ceilings. We first did the master bedroom, then the office/bedroom, then the other bedroom and finally the connecting hallway.
Since we have concrete slab floors and wanted real wood, engineered hardwood floors was the best solution for us. We previously did a trial run of installing engineered hardwood as seen on the Master Closet Floor Page. That trial went well, so we also installed engineered hardwood as part of the overall Master Bathroom Redesign Page. Those projects gave us the confidence to take on this much more ambitious project.
Wood Selection, Vendor and Delivery
We wanted wood that was somewhat light in color and we wanted a high quality product. The thickness of the boards is often highly correlated with quality, but also correlated with increase in price. We eventually sound an excellent product at an excellent vendor. We went with bamboo from Ambient. I highly recommend that vendor: people were super helpful and knowledgable and the product quality was high.
We had to wait a few months for the deliver as they were out of stock of the version of floor boards we wanted. The people at Ambient knew exactly when they would get the next shipment and would even update me about where the ship was, when it would dock and how the boards made their way off the ship to their warehouse.
Our order was just below the minimum to qualify for free shipping and shipping charges were not cheap. If we simply ordered a little more flooring, the overall price would be the same, so that is what we did. Having extra never hurts and allowed us to be pickier about exactly which boards to use.
Bamboo flooring stacked (by car)
Bamboo flooring in driveway
The flooring boxes were pretty heavy and finding enough room for them in the garage was a challenge.
Bamboo flooring stacked (garage)
Bamboo flooring stacked
Bamboo flooring stacked (pathway)
General Process
The process for the floors was mostly the same for each room:
  • Bring floor board boxes inside to acclimate
  • Remove furniture
  • Remove outlet/switch plates and A/C registers
  • Remove baseboard mouldings
  • Remove the carpet
  • Remove the carpet padding
  • Remove the carpet tack boards
  • Paint walls and/or ceiling as needed
  • Scrape the floors (concrete slab with lots of paint and crud)
  • Grind or fill floor's high and low spots
  • Cut the door jams (for new wood floor height)
  • Put down the vapor barrier (thick sheet of plastic)
  • Put down floor padding
  • Determine the floor board layout geometry
  • Put down the floor boards (the main event)
  • Scrape, repair, replace and paint baseboard mouldings
  • Paint outlet/switch plates and A/C registers
  • Re-install baseboard mouldings
  • Re-install outlet/switch plates and A/C registers
  • Adding rubber or felt padding to furniture (to prevent scratching floor)
  • Re-install furniture
The final phase was the creation and installation of the doorway thresholds which I did not do until after all rooms were finished.
Floor Board Layout Geometry
There are some guidelines and constraints on laying down the floor boards. e.g.,
  • You do not want consecutive rows to have seams that are too close (at least 6 inches).
  • You do not want any board that are very short (at least 16 inches).
  • You do not want repeated patterns (it looks unnatural and your eye picks this up).
The first two are structural concerns while the latter is for the aesthetics. Some wood flooring comes in random lengths due to the natural variations in yield they get from the trees. For this bamboo flooring, all the boards were exactly the same length (six feet). With random lengths, you make due with the lengths you are given and can only plan so far out. The randomness helps to ensure things wind up looking random. With equal sized boards, you are at risk of getting a repeating pattern. The equal sized boards also means you can plan the entire board layout in advance to ensure all constraints are met and it visually look random.
To do this board layout planning, I wrote a small software script (in Python) to do the layout. It would generate a text file that told me exactly what lengths to cut for each row. The script was good, but not perfect, so I often had to run it a few times until I saw something that visually looked good. Sometimes, even if it looked random, it might have a seam right at the entry way which I did not visibly like.
The code and example output ared at the end of this write-up.
Master Bedroom
This was by far the biggest room and painting the ceiling and walls was in scope. The room has high ceilings and a scaffold was in order. You can rent these at Home Depot, but they are a decent PITA with many parts to shlep around.
Before
After
Master Bedroom Prep
Our living room is the only place we have that we can store the furniture while we worked on the rooms. It was also the only place big enough to put the floor board boxes which need to acclimate inside for 48 to 72 hours.
Boards acclimating inside
Master furniture in living room
Before: Master view south
Before: Master view northwest
Before: Master entry reversed
Master carpet rollup
Master carpet rollup (closeup)
Master carpet half removed
Pulling up carpet padding
Master carpet padding residue
Master carpet padding residue (corner)
Master carpet padding all removed
Master Bedroom Painting
We had two problem at the start of painting: we got the wrong color paint and we could not paint it with just our ladder. The only way for us to do this was with a scaffold. They are cheap in money to rent from Home Depot, but expensive in labor to haul the (many) pieces back and forth. Not sure I would do that again.
Initial painting attempt
Initial painting attempt (closeup)
Scaffolding assembled
Master paint completed
Master paint completed (closer)
Master Bedroom Floor Prep
Scaping master floor
Master initial vapor layer
Master initial padding
Master padding closeup
Master partial padding
Master Bedroom Floor Install
No one recommends putting a waterbed on hardwood floors installed to float. We have a waterbed and we installed the boards to float. To address the main issues that arise with putting something that heavy and wide on top of a floating floor required me to design and construct a custom base for the bed. The needs are to spread out the load and to not pin the floor down over a wide area and give it room to move. I used six independent footers that help to distribute the load and that can move individually if the floor expands/contracts.
Master - first board
Master - first rows
Master - first three rows
Master floor - first third (close)
Master floor - begin second half
Master floor - two thirds
Master floor - main section done
Master floor - entry padding
Master floor - done (view northwest wide)
Master floor - done (view north)
Master floor - done (view southwest)
Master floor - done (view entry)
Master floor - done (view southeast)
Master floor - done (view east)
Master floor - entry splice (closeup)
Master floor - entry splice
Master floor - bathroom transition
Master floor - entry transitions
Master Bedroom Moulding
Painted covers
Painted mouldings
Moulding installed in corner
Master Bedroom Furniture
Waterbed platform pieces (raw)
Waterbed platform bevel
Waterbed platform felt padding
Waterbed platform pieces (completed)
Waterbed platform back view
Waterbed platform staining closeup
Waterbed frame on platform
Waterbed platform gap closeup
Waterbed platform corner
I am also overly paranoid about the waterbed mattress puncturing, so I always add ample padding on top of all the metal brackets and screws.
Waterbed corner assembly with padding
Waterbed corner bracket with padding
Waterbed filling setup
Master Bedroom Completed
After: Master view northwest (portrait)
After: Master view northwest
After: Master view north
Office
The Office has a desk and shelves built in to the walls. We decided we would not take those out so did not do any painting of the walls and ceilings for this room.
Before
After
Office Prep
Drawer repair
Drawer repair closeup
Before: Office view southwest (wide)
Office - initial carpet removal
Office - carpet tacks
Office - floor crack
Office - floor stripped (southeast)
Office - floor stripped (southeast closeup)
Office - vapor barrier
Office - vapor barrier in closet
Office - vapor barrier installed
Office - padding closet view
Office - padding southwest corner
Office - padding southwest view
Office Flooring Install
Office - first boards (south view)
Office - first boards (southwest)
Office - doorway cutouts
Office - doorway corner
Office - closet transition
Office - closet boards
Office - done (southwest view)
Office Moulding
Office - mouldings painted (closeup)
Office - mouldings painted (alt)
Office Furniture
Office - desk support install (underside)
Office - desk support install
Although the office desk is built into the walls, the original design of the shelves where the computer cases sit was a bit deficient. The weight would make the shelves sag and I had to add supports. These supports were just pieces of 2x4 lumber sitting on the floor. I did not want to have those sit on the new floor, so I bought some beefy brackets and reconstructed the computer case shelves.
The music stand I keep in the office had metal feet. That will not do. I needed to add some padding to it.
Music stand leg pad closeup
Music stand with new pads
Music stand with new pads on floor
Office Completed
After: Office view southwest (portrait)
I previously had one of these hard plastic rug protectors for the office chairs. With the new floors, I opted for a slightly more decorative rug as a little extra protection.
Bedroom
The third bedroom would be getting the full painting treatment. Fortunately, we had already removed the popcorn ceiling in this room many years before. The popcorn removal happened after we had a minor roof leak that required some ceiling patching. That ceiling patching was still visible, so we took the opportunity to smooth that out during this painting episode.
Before
After
Before
After
Bedroom Prep
Pads for bed supports
Bedroom - bed frame
Bedroom - bed frame slat support
Bedroom - empty before rug hall south vie
Bedroom - empty before rug south view
Bedroom boards lined up in living room
Bedroom - first carpet corner removed
Bedroom - carpet removed hall south view
Bedroom - carpet removed south view
Bedroom - ceiling paint can closeup
Bedroom - bare slab south view
Bedroom - bare slab south view (wide)
Bedroom - slab scrape remnants
Bedroom - slab scrape remnants (alt)
Bedroom - scaped slab hall south view
Bedroom Floor Install
Bedroom - vapor barrier south view
Bedroom - vapor barrier southwest view
Bedroom - vapor barrier closet seams
Bedroom - vapor barrier seams
Bedroom - vapor barrier southeast view
Bedroom - padding closet view
Bedroom - padding south view
Bedroom - padding southeast view
Bedroom - padding hall south view
Bedroom - boards in progress hall view
Bedroom - boards in progress south view
Bedroom - boards in progress northwest view
Bedroom - boards done closet north
Bedroom - bathroom board transition gap
Bedroom - boards done closet view
Bedroom - boards done northwest view
Bedroom - boards done southhwest view
Bedroom - boards done hallway south view (alt)
Bedroom Moulding
Bedroom - boards done closet shelf support
Bedroom - trim done closet shelf support (alt)
Bedroom - trim done hallway south view
Bedroom - trim done south view
Bedroom - trim done south view (alt)
Bedroom Furniture Install
The black faux leather part of the bed frame had deteriorated, so we took the opportunity to freshen it up and also lighten it up with a different faux leather color.
Bedroom - headboard positioning
Bedroom - bed frame positioning (closer)
Bedroom completed - south view
Hallway
The hallway would be getting the full painting treatment and required popcorn ceiling removal.
Before
After
Hallway Demolition
Hallway with rug - west view
Hallway - rug being pulled up - west view
Hallway - rug padding removal
Hallway Painting
Hallway paint masking - west view
Hallway paint masking - east view
Hallway ceiling - popcorn removed west view
Hallway ceiling - after paint west view
Hallway Floor Prep
The hallway needed to most floor prep. The threshold are into the living rooms was all chewed up, there were a couple high spots that needed to ground down and there was a void in the slab that needed to be filled.
Hallway - threshold floor patching
Hallway - floor depression patching
Hallway - slab scraping remnants
Hallway - floor depression patch smoothing (closer)
Hallway - floor depression patch smoothing
Hallway - high spot griding
Hallway Floor Install
Hallway - vapor barrier install - west view
Hallway - vapor barrier install - south view
Hallway - vapor barrier done - west view
Hallway - padding installed - west view
Hallway - padding installed - closet
Hallway - padding installed - north view
Hallway - first board positioning
Hallway - first board installed
Hallway - first row installed
Hallway - four rows installed
Hallway - door jam cut closeup
Hallway - seven rows installed - west view
Hallway - seven rows installed - south view
Hallway - eighth row board cutouts
Hallway - boards installed - north view
Hallway - boards installed - closet
Hallway - boards installed - east view
Hallway - boards installed - west view
Door Thresholds
I was not able to find exact matching bamboo 'tee' floor threshold transitions, nor matching wood to custom make them. Since the levels on both side of the door varied, an off-the-shelf solution would have been less than ideal. In the previous flooring projects I had to custom make thresholds for the wood to carpet transitions, so now I needed to modify a few of those and make a lot more new ones. I settled on maple wood as a color that would somewhat blend in.
Previous maple threshold closeup
Threshold profile drawing
Raw maple wood for thresholds
Threshold dimensions table
Hall to Bath threshold
Hall to office threshold (closeup)
Threshold door trim cutout closeup
Hall to office threshold
Prep for sliding door trimming
Hall to living room threshold
Hall - bedroom - living room thresholds
Hall to living room threshold before rounding
Hall to living room threshold rounded
All thresholds after sanding
All thresholds after polyurethane
All thresholds after polyurethane (closer)
Finished threshold profile
Hall to living room threshold finished
Hall to bedroom threshold
Hall to master bedroom threshold
Hall - bath - office thresholds finished
Office - hall - bath thresholds finished
Garage
The bonus of this project came from the extra floor boards we ordered to get free shipping. Between the planned extras and the free-shipping extras, we had a significant amount of spare square footage. We we previously did the Master Closet Floor Project we had a little leftover and I added a small section in front of the workbench in my garage as seen on Garage Floor Wood Project. I decided to use these leftover bamboo floor boards in the garage also, this time covering a much larger area. An unconditioned space is not the ideal place to install these, but I would have to at least store them there anyway. They may have issues over time, but they are very functional now. The prep of the floor was mostly about just moving things: no scraping, no vapor barrier, no padding.
Garage Floor Prep
Garage - before view northeast (wide)
Garage - before view west
Garage - before view northwest
Garage Floor Install
Garage - board layout - northeast view
Garage - board layout - west view
Garage - board layout - closeup
Garage - boards installed - north view (closer)
Garage - boards installed - northeast view (wider)
Garage - boards installed - west view (closer)
Garage - boards installed - bench view
Garage - board bevels - corner closeup
Garage - board bevels - edge closeup
Appendix: Floor Board Layout
The Script

import random

def generate_staggered_floor_layout(rows, room_length, board_length, min_board_length, min_joint_spacing):
    """
    Generates a staggered flooring layout while ensuring:
    - Minimum board length constraint is met.
    - Minimum joint spacing is maintained between adjacent rows.
    - A randomized, natural-looking pattern.
    """
    layout = []

    for row_idx in range(rows):
        row = []
        remaining_length = room_length
        prev_joints = layout[row_idx - 1] if row_idx > 0 else []

        while remaining_length > 0:
            max_length = min(board_length, remaining_length)
            
            # Ensure the last board is at least min_board_length
            if remaining_length <= min_board_length:
                row.append(remaining_length)  # Extend last board
                break

            # Generate a random board length within constraints
            board_len = random.randint(min_board_length, max_length)
            joint_position = room_length - remaining_length + board_len

            # Ensure minimum joint spacing from previous row
            if any(abs(joint_position - p) < min_joint_spacing for p in prev_joints):
                continue  # Skip if spacing condition is not met

            row.append(joint_position)
            remaining_length -= board_len

        layout.append(row)
    
    return layout

if __name__ == "__main__":
    room_length = 156  # Example room size (in inches)
    board_length = 72   # 6 feet per plank
    min_board_length = 16  # Minimum board length constraint
    min_joint_spacing = 6   # Minimum joint spacing constraint
    num_rows = 10  # Number of rows to generate

    staggered_layout = generate_staggered_floor_layout(
        rows=num_rows,
        room_length=room_length,
        board_length=board_length,
        min_board_length=min_board_length,
        min_joint_spacing=min_joint_spacing
    )

    print ( staggered_layout )

Sample Output
Layout Visual (24 rows) = 
-------------------------------------------------------------------------------------------------------------------------------------------------------------
|                     |                                                                       |                                                             |
-------------------------------------------------------------------------------------------------------------------------------------------------------------
|                                                                   |                                                                       |               |
-------------------------------------------------------------------------------------------------------------------------------------------------------------
|                                                   |                                                                       |                               |
-------------------------------------------------------------------------------------------------------------------------------------------------------------
|                            |                                                                       |                                                      |
-------------------------------------------------------------------------------------------------------------------------------------------------------------
|                                                        |                                                                       |                          |
-------------------------------------------------------------------------------------------------------------------------------------------------------------
|               |                                                                       |                                                                   |
-------------------------------------------------------------------------------------------------------------------------------------------------------------
|                                                                |                                                                       |                  |
-------------------------------------------------------------------------------------------------------------------------------------------------------------
|                                        |                                                                       |                                          |
-------------------------------------------------------------------------------------------------------------------------------------------------------------
|                        |                                                                       |                                                          |
-------------------------------------------------------------------------------------------------------------------------------------------------------------
|                                                   |                                                                       |                               |
-------------------------------------------------------------------------------------------------------------------------------------------------------------
|                 |                                                                       |                                                                 |
-------------------------------------------------------------------------------------------------------------------------------------------------------------
|                                                        |                                                                       |                          |
-------------------------------------------------------------------------------------------------------------------------------------------------------------
|                         |                                                                       |                                                         |
-------------------------------------------------------------------------------------------------------------------------------------------------------------
|                                                          |                                                                       |                        |
-------------------------------------------------------------------------------------------------------------------------------------------------------------
|                                               |                                                                       |                                   |
-------------------------------------------------------------------------------------------------------------------------------------------------------------
|               |                                                                       |                                                                   |
-------------------------------------------------------------------------------------------------------------------------------------------------------------
|                                                                  |                                                                       |                |
-------------------------------------------------------------------------------------------------------------------------------------------------------------
|                                        |                                                                       |                                          |
-------------------------------------------------------------------------------------------------------------------------------------------------------------
|                              |                                                                       |                                                    |
-------------------------------------------------------------------------------------------------------------------------------------------------------------
|               |                                                                       |                                                                   |
-------------------------------------------------------------------------------------------------------------------------------------------------------------
|                           |                                                                       |                                                       |
-------------------------------------------------------------------------------------------------------------------------------------------------------------
|                                                               |                                                                       |                   |
-------------------------------------------------------------------------------------------------------------------------------------------------------------
|                                                     |                                                                       |                             |
-------------------------------------------------------------------------------------------------------------------------------------------------------------
|                                 |                                                                       |                                                 |
-------------------------------------------------------------------------------------------------------------------------------------------------------------
Layout Plan (24 rows) = 
-------------------------------------------------------------------------------------------------------------------------------------------------------------
|          22         |                                   72                                  |                              62                             |
-------------------------------------------------------------------------------------------------------------------------------------------------------------
|                                 68                                |                                   72                                  |       16      |
-------------------------------------------------------------------------------------------------------------------------------------------------------------
|                         52                        |                                   72                                  |               32              |
-------------------------------------------------------------------------------------------------------------------------------------------------------------
|             29             |                                   72                                  |                          55                          |
-------------------------------------------------------------------------------------------------------------------------------------------------------------
|                           57                           |                                   72                                  |            27            |
-------------------------------------------------------------------------------------------------------------------------------------------------------------
|       16      |                                   72                                  |                                 68                                |
-------------------------------------------------------------------------------------------------------------------------------------------------------------
|                               65                               |                                   72                                  |        19        |
-------------------------------------------------------------------------------------------------------------------------------------------------------------
|                   41                   |                                   72                                  |                    43                    |
-------------------------------------------------------------------------------------------------------------------------------------------------------------
|           25           |                                   72                                  |                            59                            |
-------------------------------------------------------------------------------------------------------------------------------------------------------------
|                         52                        |                                   72                                  |               32              |
-------------------------------------------------------------------------------------------------------------------------------------------------------------
|        18       |                                   72                                  |                                66                               |
-------------------------------------------------------------------------------------------------------------------------------------------------------------
|                           57                           |                                   72                                  |            27            |
-------------------------------------------------------------------------------------------------------------------------------------------------------------
|            26           |                                   72                                  |                            58                           |
-------------------------------------------------------------------------------------------------------------------------------------------------------------
|                            59                            |                                   72                                  |           25           |
-------------------------------------------------------------------------------------------------------------------------------------------------------------
|                       48                      |                                   72                                  |                 36                |
-------------------------------------------------------------------------------------------------------------------------------------------------------------
|       16      |                                   72                                  |                                 68                                |
-------------------------------------------------------------------------------------------------------------------------------------------------------------
|                                67                                |                                   72                                  |       17       |
-------------------------------------------------------------------------------------------------------------------------------------------------------------
|                   41                   |                                   72                                  |                    43                    |
-------------------------------------------------------------------------------------------------------------------------------------------------------------
|              31              |                                   72                                  |                         53                         |
-------------------------------------------------------------------------------------------------------------------------------------------------------------
|       16      |                                   72                                  |                                 68                                |
-------------------------------------------------------------------------------------------------------------------------------------------------------------
|             28            |                                   72                                  |                           56                          |
-------------------------------------------------------------------------------------------------------------------------------------------------------------
|                               64                              |                                   72                                  |         20        |
-------------------------------------------------------------------------------------------------------------------------------------------------------------
|                          54                         |                                   72                                  |              30             |
-------------------------------------------------------------------------------------------------------------------------------------------------------------
|                34               |                                   72                                  |                        50                       |
-------------------------------------------------------------------------------------------------------------------------------------------------------------
Layout Values (24 rows) =
[22, 72, 62]
[68, 72, 16]
[52, 72, 32]
[29, 72, 55]
[57, 72, 27]
[16, 72, 68]
[65, 72, 19]
[41, 72, 43]
[25, 72, 59]
[52, 72, 32]
[18, 72, 66]
[57, 72, 27]
[26, 72, 58]
[59, 72, 25]
[48, 72, 36]
[16, 72, 68]
[67, 72, 17]
[41, 72, 43]
[31, 72, 53]
[16, 72, 68]
[28, 72, 56]
[64, 72, 20]
[54, 72, 30]
[34, 72, 50]

Layout Score = 1441.5

Scraps Remaining:
1" -> 3
2" -> 2
3" -> 1
4" -> 6
5" -> 1
6" -> 1
7" -> 2
8" -> 1
10" -> 1
11" -> 1
13" -> 2
14" -> 2
15" -> 2
16" -> 1
18" -> 1
22" -> 2
38" -> 1
Total boards used = 56
Total board length (ft) = 312.0
Total scrap (ft) = 24.0

Success = 5000 / 5000 (0 errors)