Template taxonomy-{taxonomy}.php doesn’t show my posts

Well, first of all, you are not doing anything with the $term variable.
You are querying it, but then it sits there, waiting to be picked up.

Try this code in your taxonomy template, called taxonomy-hardware_category.php:

// prepare the variables for the query
$tax = get_query_var('taxonomy');
$term = get_query_var('term');

// Setup the loop, build the html, return it, clean up the query
    $hardware_args = array(
        'post_type' => 'hardware',
         // This should get you the result
         // the two arrays isn't a mistake
         'tax_query' => array(
                        array(
                            'taxonomy' => $tax,
                            'field' => 'slug',
                            'terms' => $term
                        )
                    ),
                    'posts_per_page' => '30',
                    'orderby' => 'name',
                    'order'=>'ASC'
                );
        $loop = new WP_Query($hardware_args );
        $html="";
        while ($loop->have_posts()) : $loop->the_post();

        $html .= '<div class="some-custom-class-like col-md-12">';
            $html .= '<div class="hardware">';
                $html .= '<a href="'.get_the_permalink().'" class="permalink" title="'.get_the_title().'">';
                $html .= '<div class="thumbnail-wrap>';
                    if(has_post_thumbnail()) {
                        $html .= '<img src="'.get_the_post_thumbnail_url().'" class="img-fluid" alt="'.get_the_title().'&nbsp;'.__('Hardware preview', 'textdomain').'">';
                                }
                            $html .= '</div>';
                        $html .= '</a>';
                        $html .= '<a href="'.get_the_permalink().'" class="title-permalink btn btn-outline-primary" title="'.get_the_title().'"><span class="the-title">'.get_the_title().'</span></a>';
                        $html .= '<div class="hardware-metadata">';
                        // Some more metadata can be put here for example
                        $html .= '</div>';
                    $html .= '</div>';
                $html .= '</div>';

                endwhile;
                // Echo it all out
                echo $html;
                wp_reset_postdata();
            ?>