<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.24.1.u1</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>63</ContextCount>
  <ElementCount>272</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>16</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>6</UnitCount>
  <MyReports>
    <Report instance="bkti_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>000001 - Document - Cover</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://bkti.com/role/Cover</Role>
      <ShortName>Cover</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="bkti_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>000002 - Statement - Condensed Consolidated Balance Sheets</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://bkti.com/role/CondensedConsolidatedBalanceSheets</Role>
      <ShortName>Condensed Consolidated Balance Sheets</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>2</Position>
    </Report>
    <Report instance="bkti_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>000003 - Statement - Condensed Consolidated Balance Sheets (Parenthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://bkti.com/role/CondensedConsolidatedBalanceSheetsParenthetical</Role>
      <ShortName>Condensed Consolidated Balance Sheets (Parenthetical)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>3</Position>
    </Report>
    <Report instance="bkti_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R4.htm</HtmlFileName>
      <LongName>000004 - Statement - Condensed Consolidated Statements Of Operations (Unaudited)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://bkti.com/role/CondensedConsolidatedStatementsOfOperationsUnaudited</Role>
      <ShortName>Condensed Consolidated Statements Of Operations (Unaudited)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>4</Position>
    </Report>
    <Report instance="bkti_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R5.htm</HtmlFileName>
      <LongName>000005 - Statement - Condensed Consolidated Statements Of Cash Flows (Unaudited)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://bkti.com/role/CondensedConsolidatedStatementsOfCashFlowsUnaudited</Role>
      <ShortName>Condensed Consolidated Statements Of Cash Flows (Unaudited)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>5</Position>
    </Report>
    <Report instance="bkti_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R6.htm</HtmlFileName>
      <LongName>000006 - Disclosure - Condensed Consolidated Financial Statements</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://bkti.com/role/CondensedConsolidatedFinancialStatements</Role>
      <ShortName>Condensed Consolidated Financial Statements</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>6</Position>
    </Report>
    <Report instance="bkti_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R7.htm</HtmlFileName>
      <LongName>000007 - Disclosure - Significant Events and Transactions</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://bkti.com/role/SignificantEventsAndTransactions</Role>
      <ShortName>Significant Events and Transactions</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>7</Position>
    </Report>
    <Report instance="bkti_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R8.htm</HtmlFileName>
      <LongName>000008 - Disclosure - Allowance for Credit Losses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://bkti.com/role/AllowanceForCreditLosses</Role>
      <ShortName>Allowance for Credit Losses</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>8</Position>
    </Report>
    <Report instance="bkti_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>000009 - Disclosure - Inventories net</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://bkti.com/role/InventoriesNet</Role>
      <ShortName>Inventories net</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>9</Position>
    </Report>
    <Report instance="bkti_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R10.htm</HtmlFileName>
      <LongName>000010 - Disclosure - Income Taxes</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://bkti.com/role/IncomeTaxes</Role>
      <ShortName>Income Taxes</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>10</Position>
    </Report>
    <Report instance="bkti_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R11.htm</HtmlFileName>
      <LongName>000011 - Disclosure - Capitalized Product Development Costs</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://bkti.com/role/CapitalizedProductDevelopmentCosts</Role>
      <ShortName>Capitalized Product Development Costs</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>11</Position>
    </Report>
    <Report instance="bkti_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R12.htm</HtmlFileName>
      <LongName>000012 - Disclosure - Investment</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://bkti.com/role/Investment</Role>
      <ShortName>Investment</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>12</Position>
    </Report>
    <Report instance="bkti_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R13.htm</HtmlFileName>
      <LongName>000013 - Disclosure - Stockholders Equity</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://bkti.com/role/StockholdersEquity</Role>
      <ShortName>Stockholders Equity</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>13</Position>
    </Report>
    <Report instance="bkti_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R14.htm</HtmlFileName>
      <LongName>000014 - Disclosure - Income (Loss) Per Share</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://bkti.com/role/IncomeLossPerShare</Role>
      <ShortName>Income (Loss) Per Share</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>14</Position>
    </Report>
    <Report instance="bkti_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R15.htm</HtmlFileName>
      <LongName>000015 - Disclosure - NonCash ShareBased Employee Compensation</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://bkti.com/role/NoncashSharebasedEmployeeCompensation</Role>
      <ShortName>NonCash ShareBased Employee Compensation</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>15</Position>
    </Report>
    <Report instance="bkti_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R16.htm</HtmlFileName>
      <LongName>000016 - Disclosure - Commitments and Contingencies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://bkti.com/role/CommitmentsAndContingencies</Role>
      <ShortName>Commitments and Contingencies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>16</Position>
    </Report>
    <Report instance="bkti_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R17.htm</HtmlFileName>
      <LongName>000017 - Disclosure - Debt</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://bkti.com/role/Debt</Role>
      <ShortName>Debt</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>17</Position>
    </Report>
    <Report instance="bkti_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R18.htm</HtmlFileName>
      <LongName>000018 - Disclosure - Leases</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://bkti.com/role/Leases</Role>
      <ShortName>Leases</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>18</Position>
    </Report>
    <Report instance="bkti_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R19.htm</HtmlFileName>
      <LongName>000019 - Disclosure - Condensed Consolidated Financial Statements (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://bkti.com/role/CondensedConsolidatedFinancialStatementsPolicies</Role>
      <ShortName>Condensed Consolidated Financial Statements (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <Position>19</Position>
    </Report>
    <Report instance="bkti_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R20.htm</HtmlFileName>
      <LongName>000020 - Disclosure - Inventories net (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://bkti.com/role/InventoriesNetTables</Role>
      <ShortName>Inventories net (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://bkti.com/role/InventoriesNet</ParentRole>
      <Position>20</Position>
    </Report>
    <Report instance="bkti_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R21.htm</HtmlFileName>
      <LongName>000021 - Disclosure - Stockholders Equity (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://bkti.com/role/StockholdersEquityTables</Role>
      <ShortName>Stockholders Equity (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://bkti.com/role/StockholdersEquity</ParentRole>
      <Position>21</Position>
    </Report>
    <Report instance="bkti_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R22.htm</HtmlFileName>
      <LongName>000022 - Disclosure - Income (Loss) per Share (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://bkti.com/role/IncomeLossPerShareTables</Role>
      <ShortName>Income (Loss) per Share (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://bkti.com/role/IncomeTaxes</ParentRole>
      <Position>22</Position>
    </Report>
    <Report instance="bkti_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R23.htm</HtmlFileName>
      <LongName>000023 - Disclosure - NonCash ShareBased Employee Compensation (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://bkti.com/role/NoncashSharebasedEmployeeCompensationTables</Role>
      <ShortName>NonCash ShareBased Employee Compensation (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://bkti.com/role/NoncashSharebasedEmployeeCompensation</ParentRole>
      <Position>23</Position>
    </Report>
    <Report instance="bkti_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R24.htm</HtmlFileName>
      <LongName>000024 - Disclosure - Debt (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://bkti.com/role/DebtTables</Role>
      <ShortName>Debt (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://bkti.com/role/Debt</ParentRole>
      <Position>24</Position>
    </Report>
    <Report instance="bkti_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R25.htm</HtmlFileName>
      <LongName>000025 - Disclosure - Leases (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://bkti.com/role/LeasesTables</Role>
      <ShortName>Leases (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://bkti.com/role/Leases</ParentRole>
      <Position>25</Position>
    </Report>
    <Report instance="bkti_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R26.htm</HtmlFileName>
      <LongName>000026 - Disclosure - Condensed Consolidated Financial Statements (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://bkti.com/role/CondensedConsolidatedFinancialStatementsDetailsNarrative</Role>
      <ShortName>Condensed Consolidated Financial Statements (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://bkti.com/role/CondensedConsolidatedFinancialStatementsPolicies</ParentRole>
      <Position>26</Position>
    </Report>
    <Report instance="bkti_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R27.htm</HtmlFileName>
      <LongName>000027 - Disclosure - Significant Events and Transactions (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://bkti.com/role/SignificantEventsAndTransactionsDetailsNarrative</Role>
      <ShortName>Significant Events and Transactions (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://bkti.com/role/SignificantEventsAndTransactions</ParentRole>
      <Position>27</Position>
    </Report>
    <Report instance="bkti_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R28.htm</HtmlFileName>
      <LongName>000028 - Disclosure - Allowance for Doubtful Accounts (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://bkti.com/role/AllowanceForDoubtfulAccountsDetailsNarrative</Role>
      <ShortName>Allowance for Doubtful Accounts (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>28</Position>
    </Report>
    <Report instance="bkti_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R29.htm</HtmlFileName>
      <LongName>000029 - Disclosure - Inventories Net (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://bkti.com/role/InventoriesNetDetails</Role>
      <ShortName>Inventories Net (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://bkti.com/role/InventoriesNetTables</ParentRole>
      <Position>29</Position>
    </Report>
    <Report instance="bkti_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R30.htm</HtmlFileName>
      <LongName>000030 - Disclosure - Inventories Net (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://bkti.com/role/InventoriesNetDetailsNarrative</Role>
      <ShortName>Inventories Net (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://bkti.com/role/InventoriesNetTables</ParentRole>
      <Position>30</Position>
    </Report>
    <Report instance="bkti_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R31.htm</HtmlFileName>
      <LongName>000031 - Disclosure - Income Taxes (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://bkti.com/role/IncomeTaxesDetailsNarrative</Role>
      <ShortName>Income Taxes (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://bkti.com/role/IncomeTaxes</ParentRole>
      <Position>31</Position>
    </Report>
    <Report instance="bkti_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R32.htm</HtmlFileName>
      <LongName>000032 - Disclosure - Capitalized Product Development Costs (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://bkti.com/role/CapitalizedProductDevelopmentCostsDetailsNarrative</Role>
      <ShortName>Capitalized Product Development Costs (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://bkti.com/role/CapitalizedProductDevelopmentCosts</ParentRole>
      <Position>32</Position>
    </Report>
    <Report instance="bkti_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R33.htm</HtmlFileName>
      <LongName>000033 - Disclosure - Investments (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://bkti.com/role/InvestmentsDetailsNarrative</Role>
      <ShortName>Investments (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://bkti.com/role/Investment</ParentRole>
      <Position>33</Position>
    </Report>
    <Report instance="bkti_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R34.htm</HtmlFileName>
      <LongName>000034 - Disclosure - Stockholders Equity (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://bkti.com/role/StockholdersEquityDetails</Role>
      <ShortName>Stockholders Equity (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://bkti.com/role/StockholdersEquityTables</ParentRole>
      <Position>34</Position>
    </Report>
    <Report instance="bkti_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R35.htm</HtmlFileName>
      <LongName>000035 - Disclosure - Income (Loss) Per Share (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://bkti.com/role/IncomeLossPerShareDetails</Role>
      <ShortName>Income (Loss) Per Share (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://bkti.com/role/IncomeLossPerShareTables</ParentRole>
      <Position>35</Position>
    </Report>
    <Report instance="bkti_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R36.htm</HtmlFileName>
      <LongName>000036 - Disclosure - Income (Loss) Per Share (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://bkti.com/role/IncomeLossPerShareDetailsNarrative</Role>
      <ShortName>Income (Loss) Per Share (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://bkti.com/role/IncomeLossPerShareTables</ParentRole>
      <Position>36</Position>
    </Report>
    <Report instance="bkti_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R37.htm</HtmlFileName>
      <LongName>000037 - Disclosure - Non-Cash Share-Based Employee Compensation (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://bkti.com/role/NonCashShareBasedEmployeeCompensationDetails</Role>
      <ShortName>Non-Cash Share-Based Employee Compensation (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>37</Position>
    </Report>
    <Report instance="bkti_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R38.htm</HtmlFileName>
      <LongName>000038 - Disclosure - Non-Cash Share-Based Employee Compensation (Details 1)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://bkti.com/role/NonCashShareBasedEmployeeCompensationDetails1</Role>
      <ShortName>Non-Cash Share-Based Employee Compensation (Details 1)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>38</Position>
    </Report>
    <Report instance="bkti_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R39.htm</HtmlFileName>
      <LongName>000039 - Disclosure - Non-Cash Share-Based Employee Compensation (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://bkti.com/role/NonCashShareBasedEmployeeCompensationDetailsNarrative</Role>
      <ShortName>Non-Cash Share-Based Employee Compensation (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>39</Position>
    </Report>
    <Report instance="bkti_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R40.htm</HtmlFileName>
      <LongName>000040 - Disclosure - Commitments and Contingencies (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://bkti.com/role/CommitmentsAndContingenciesDetailsNarrative</Role>
      <ShortName>Commitments and Contingencies (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://bkti.com/role/CommitmentsAndContingencies</ParentRole>
      <Position>40</Position>
    </Report>
    <Report instance="bkti_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R41.htm</HtmlFileName>
      <LongName>000041 - Disclosure - Debt (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://bkti.com/role/DebtDetails</Role>
      <ShortName>Debt (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://bkti.com/role/DebtTables</ParentRole>
      <Position>41</Position>
    </Report>
    <Report instance="bkti_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R42.htm</HtmlFileName>
      <LongName>000042 - Disclosure - Debt (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://bkti.com/role/DebtDetailsNarrative</Role>
      <ShortName>Debt (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://bkti.com/role/DebtTables</ParentRole>
      <Position>42</Position>
    </Report>
    <Report instance="bkti_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R43.htm</HtmlFileName>
      <LongName>000043 - Disclosure - Leases (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://bkti.com/role/LeasesDetails</Role>
      <ShortName>Leases (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://bkti.com/role/LeasesTables</ParentRole>
      <Position>43</Position>
    </Report>
    <Report instance="bkti_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R44.htm</HtmlFileName>
      <LongName>000044 - Disclosure - Leases (Details 1)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://bkti.com/role/LeasesDetails1</Role>
      <ShortName>Leases (Details 1)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://bkti.com/role/LeasesTables</ParentRole>
      <Position>44</Position>
    </Report>
    <Report instance="bkti_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R45.htm</HtmlFileName>
      <LongName>000045 - Disclosure - Leases (Details 2)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://bkti.com/role/LeasesDetails2</Role>
      <ShortName>Leases (Details 2)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://bkti.com/role/LeasesTables</ParentRole>
      <Position>45</Position>
    </Report>
    <Report instance="bkti_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R46.htm</HtmlFileName>
      <LongName>000046 - Disclosure - Leases (Details 3)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://bkti.com/role/LeasesDetails3</Role>
      <ShortName>Leases (Details 3)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://bkti.com/role/LeasesTables</ParentRole>
      <Position>46</Position>
    </Report>
    <Report instance="bkti_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R47.htm</HtmlFileName>
      <LongName>000047 - Disclosure - Leases (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://bkti.com/role/LeasesDetailsNarrative</Role>
      <ShortName>Leases (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://bkti.com/role/LeasesTables</ParentRole>
      <Position>47</Position>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <Logs>
    <Log type="Warning">[dq-60521-IcfrAuditorAttestationFlag-Unexpected] Submission type 10-Q should not have a value for IcfrAuditorAttestationFlag in the context From2024-01-01to2024-03-31. bkti_10q.htm 1</Log>
    <Log type="Warning">[ix-0514-Hidden-Fact-Eligible-For-Transform] WARN: 8 fact(s) appearing in ix:hidden were eligible for transformation: us-gaap:CommonStockParOrStatedValuePerShare, us-gaap:CommonStockSharesAuthorized, us-gaap:PreferredStockParOrStatedValuePerShare, us-gaap:PreferredStockSharesAuthorized, us-gaap:PreferredStockSharesIssued, us-gaap:PreferredStockSharesOutstanding -  bkti_10q.htm 1</Log>
    <Log type="Warning">[DQC.US.0043.9873] The company has reported the concept ProfitLoss as part of the cash flow statement. This income item is being deducted from the value of operating cash flows in the calculation defined by the filer.  This implies that the resulting operating cash flow calculation excludes this income item from cash flow from operations.  If  ProfitLoss represents income from discontinued operations then the element NetCashProvidedByUsedInOperatingActivitiesContinuingOperations should be used as the total rather than the current total element of NetCashProvidedByUsedInOperatingActivities. If the item is an income item and is being deducted because the value is negative then consider changing the sign and weight of the element. - https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd 4602, 9356 - https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd 4602, 9356</Log>
  </Logs>
  <InputFiles>
    <File>bkti-20240331.xsd</File>
    <File>bkti-20240331_cal.xml</File>
    <File>bkti-20240331_def.xml</File>
    <File>bkti-20240331_lab.xml</File>
    <File>bkti-20240331_pre.xml</File>
    <File doctype="10-Q" isDefinitelyFs="true" isUsgaap="true" original="bkti_10q.htm">bkti_10q.htm</File>
  </InputFiles>
  <SupplementalFiles/>
  <BaseTaxonomies>
    <BaseTaxonomy items="1">http://fasb.org/srt/2023</BaseTaxonomy>
    <BaseTaxonomy items="324">http://fasb.org/us-gaap/2023</BaseTaxonomy>
    <BaseTaxonomy items="30">http://xbrl.sec.gov/dei/2023</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>true</HasCalculationLinkbase>
</FilingSummary>
