mirror of
https://github.com/solderparty/bbq20kbd_hw.git
synced 2024-11-21 23:23:18 +01:00
Production release
This commit is contained in:
parent
9d86425bcb
commit
420460b085
189
LICENSE.md
Normal file
189
LICENSE.md
Normal file
@ -0,0 +1,189 @@
|
||||
CERN Open Hardware Licence v1.2
|
||||
|
||||
Preamble
|
||||
|
||||
Through this CERN Open Hardware Licence ("CERN OHL") version 1.2, CERN
|
||||
wishes to provide a tool to foster collaboration and sharing among
|
||||
hardware designers. The CERN OHL is copyright CERN. Anyone is welcome
|
||||
to use the CERN OHL, in unmodified form only, for the distribution of
|
||||
their own Open Hardware designs. Any other right is reserved. Release
|
||||
of hardware designs under the CERN OHL does not constitute an
|
||||
endorsement of the licensor or its designs nor does it imply any
|
||||
involvement by CERN in the development of such designs.
|
||||
|
||||
1. Definitions
|
||||
|
||||
In this Licence, the following terms have the following meanings:
|
||||
|
||||
“Licence” means this CERN OHL.
|
||||
|
||||
“Documentation” means schematic diagrams, designs, circuit or circuit
|
||||
board layouts, mechanical drawings, flow charts and descriptive text,
|
||||
and other explanatory material that is explicitly stated as being made
|
||||
available under the conditions of this Licence. The Documentation may
|
||||
be in any medium, including but not limited to computer files and
|
||||
representations on paper, film, or any other media.
|
||||
|
||||
“Documentation Location” means a location where the Licensor has
|
||||
placed Documentation, and which he believes will be publicly
|
||||
accessible for at least three years from the first communication to
|
||||
the public or distribution of Documentation.
|
||||
|
||||
“Product” means either an entire, or any part of a, device built using
|
||||
the Documentation or the modified Documentation.
|
||||
|
||||
“Licensee” means any natural or legal person exercising rights under
|
||||
this Licence.
|
||||
|
||||
“Licensor” means any natural or legal person that creates or modifies
|
||||
Documentation and subsequently communicates to the public and/ or
|
||||
distributes the resulting Documentation under the terms and conditions
|
||||
of this Licence.
|
||||
|
||||
A Licensee may at the same time be a Licensor, and vice versa.
|
||||
|
||||
Use of the masculine gender includes the feminine and neuter genders
|
||||
and is employed solely to facilitate reading.
|
||||
|
||||
2. Applicability
|
||||
|
||||
2.1. This Licence governs the use, copying, modification,
|
||||
communication to the public and distribution of the Documentation, and
|
||||
the manufacture and distribution of Products. By exercising any right
|
||||
granted under this Licence, the Licensee irrevocably accepts these
|
||||
terms and conditions.
|
||||
|
||||
2.2. This Licence is granted by the Licensor directly to the Licensee,
|
||||
and shall apply worldwide and without limitation in time. The Licensee
|
||||
may assign his licence rights or grant sub-licences.
|
||||
|
||||
2.3. This Licence does not extend to software, firmware, or code
|
||||
loaded into programmable devices which may be used in conjunction with
|
||||
the Documentation, the modified Documentation or with Products, unless
|
||||
such software, firmware, or code is explicitly expressed to be subject
|
||||
to this Licence. The use of such software, firmware, or code is
|
||||
otherwise subject to the applicable licence terms and conditions.
|
||||
|
||||
3. Copying, modification, communication to the public and distribution
|
||||
of the Documentation
|
||||
|
||||
3.1. The Licensee shall keep intact all copyright and trademarks
|
||||
notices, all notices referring to Documentation Location, and all
|
||||
notices that refer to this Licence and to the disclaimer of warranties
|
||||
that are included in the Documentation. He shall include a copy
|
||||
thereof in every copy of the Documentation or, as the case may be,
|
||||
modified Documentation, that he communicates to the public or
|
||||
distributes.
|
||||
|
||||
3.2. The Licensee may copy, communicate to the public and distribute
|
||||
verbatim copies of the Documentation, in any medium, subject to the
|
||||
requirements specified in section 3.1.
|
||||
|
||||
3.3. The Licensee may modify the Documentation or any portion thereof
|
||||
provided that upon modification of the Documentation, the Licensee
|
||||
shall make the modified Documentation available from a Documentation
|
||||
Location such that it can be easily located by an original Licensor
|
||||
once the Licensee communicates to the public or distributes the
|
||||
modified Documentation under section 3.4, and, where required by
|
||||
section 4.1, by a recipient of a Product. However, the Licensor shall
|
||||
not assert his rights under the foregoing proviso unless or until a
|
||||
Product is distributed.
|
||||
|
||||
3.4. The Licensee may communicate to the public and distribute the
|
||||
modified Documentation (thereby in addition to being a Licensee also
|
||||
becoming a Licensor), always provided that he shall:
|
||||
|
||||
a) comply with section 3.1;
|
||||
|
||||
b) cause the modified Documentation to carry prominent notices stating
|
||||
that the Licensee has modified the Documentation, with the date and
|
||||
description of the modifications;
|
||||
|
||||
c) cause the modified Documentation to carry a new Documentation
|
||||
Location notice if the original Documentation provided for one;
|
||||
|
||||
d) make available the modified Documentation at the same level of
|
||||
abstraction as that of the Documentation, in the preferred format for
|
||||
making modifications to it (e.g. the native format of the CAD tool as
|
||||
applicable), and in the event that format is proprietary, in a format
|
||||
viewable with a tool licensed under an OSI-approved license if the
|
||||
proprietary tool can create it; and
|
||||
|
||||
e) license the modified Documentation under the terms and conditions
|
||||
of this Licence or, where applicable, a later version of this Licence
|
||||
as may be issued by CERN.
|
||||
|
||||
3.5. The Licence includes a non-exclusive licence to those patents or
|
||||
registered designs that are held by, under the control of, or
|
||||
sub-licensable by the Licensor, to the extent necessary to make use of
|
||||
the rights granted under this Licence. The scope of this section 3.5
|
||||
shall be strictly limited to the parts of the Documentation or
|
||||
modified Documentation created by the Licensor.
|
||||
|
||||
4. Manufacture and distribution of Products
|
||||
|
||||
4.1. The Licensee may manufacture or distribute Products always
|
||||
provided that, where such manufacture or distribution requires a
|
||||
licence under this Licence the Licensee provides to each recipient of
|
||||
such Products an easy means of accessing a copy of the Documentation
|
||||
or modified Documentation, as applicable, as set out in section 3.
|
||||
|
||||
4.2. The Licensee is invited to inform any Licensor who has indicated
|
||||
his wish to receive this information about the type, quantity and
|
||||
dates of production of Products the Licensee has (had) manufactured
|
||||
|
||||
5. Warranty and liability
|
||||
|
||||
5.1. DISCLAIMER – The Documentation and any modified Documentation are
|
||||
provided "as is" and any express or implied warranties, including, but
|
||||
not limited to, implied warranties of merchantability, of satisfactory
|
||||
quality, non-infringement of third party rights, and fitness for a
|
||||
particular purpose or use are disclaimed in respect of the
|
||||
Documentation, the modified Documentation or any Product. The Licensor
|
||||
makes no representation that the Documentation, modified
|
||||
Documentation, or any Product, does or will not infringe any patent,
|
||||
copyright, trade secret or other proprietary right. The entire risk as
|
||||
to the use, quality, and performance of a Product shall be with the
|
||||
Licensee and not the Licensor. This disclaimer of warranty is an
|
||||
essential part of this Licence and a condition for the grant of any
|
||||
rights granted under this Licence. The Licensee warrants that it does
|
||||
not act in a consumer capacity.
|
||||
|
||||
5.2. LIMITATION OF LIABILITY – The Licensor shall have no liability
|
||||
for direct, indirect, special, incidental, consequential, exemplary,
|
||||
punitive or other damages of any character including, without
|
||||
limitation, procurement of substitute goods or services, loss of use,
|
||||
data or profits, or business interruption, however caused and on any
|
||||
theory of contract, warranty, tort (including negligence), product
|
||||
liability or otherwise, arising in any way in relation to the
|
||||
Documentation, modified Documentation and/or the use, manufacture or
|
||||
distribution of a Product, even if advised of the possibility of such
|
||||
damages, and the Licensee shall hold the Licensor(s) free and harmless
|
||||
from any liability, costs, damages, fees and expenses, including
|
||||
claims by third parties, in relation to such use.
|
||||
|
||||
6. General
|
||||
|
||||
6.1. Except for the rights explicitly granted hereunder, this Licence
|
||||
does not imply or represent any transfer or assignment of intellectual
|
||||
property rights to the Licensee.
|
||||
|
||||
6.2. The Licensee shall not use or make reference to any of the names
|
||||
(including acronyms and abbreviations), images, or logos under which
|
||||
the Licensor is known, save in so far as required to comply with
|
||||
section 3. Any such permitted use or reference shall be factual and
|
||||
shall in no event suggest any kind of endorsement by the Licensor or
|
||||
its personnel of the modified Documentation or any Product, or any
|
||||
kind of implication by the Licensor or its personnel in the
|
||||
preparation of the modified Documentation or Product.
|
||||
|
||||
6.3. CERN may publish updated versions of this Licence which retain
|
||||
the same general provisions as this version, but differ in detail so
|
||||
far this is required and reasonable. New versions will be published
|
||||
with a unique version number.
|
||||
|
||||
6.4. This Licence shall terminate with immediate effect, upon written
|
||||
notice and without involvement of a court if the Licensee fails to
|
||||
comply with any of its terms and conditions, or if the Licensee
|
||||
initiates legal action against Licensor in relation to this
|
||||
Licence. Section 5 shall continue to apply.
|
25
README.md
Normal file
25
README.md
Normal file
@ -0,0 +1,25 @@
|
||||
# BBQ20KBD
|
||||
|
||||
![](./img/front.jpg)
|
||||
|
||||
![](./img/back.jpg)
|
||||
|
||||
A BB Q20 Keyboard in USB/PMOD/Qwiic format!
|
||||
|
||||
This is the evolution of our previous BBQ10 PMOD board. We took all the feedback from that board and improved on the design in every way.
|
||||
|
||||
We added a **Qwiic/Stemma QT** connector, we added **USB HID support**, we changed to a Q20 keyboard, which gave us four extra buttons, and the **optical trackpad** that works as a **USB HID Mouse**.
|
||||
|
||||
The board uses the Raspberry Pi RP2040 MCU to poll the keyboard and trackpad and put the key press information into a FIFO.
|
||||
|
||||
You can use the I2C interface to read the FIFO, reconfigure the chip, and change the keyboar backlight.
|
||||
|
||||
In addition to that, the board also has a USB Type-C socket, and when connected to a desktop computer (**Windows/Linux/MacOS**), a smartphone (**iOS/Android**), or a SBC (**Raspberry Pi**, etc), it enumerates as a USB HID Keyboard and Mouse combo!
|
||||
|
||||
The firmware can be configured over USB using the Vendor Class interface.
|
||||
|
||||
The I2C interface is compatible with the old BBQ10 module, you can use the same libraries to interface this board:
|
||||
- [Arduino library](https://github.com/arturo182/arduino_bbq10kbd)
|
||||
- [CircuitPython library](https://github.com/arturo182/arturo182_CircuitPython_BBQ10Keyboard)
|
||||
|
||||
For more information, visit https://bbq20kbd.solder.party
|
@ -63,18 +63,23 @@
|
||||
"annular_width": "error",
|
||||
"clearance": "error",
|
||||
"copper_edge_clearance": "error",
|
||||
"copper_sliver": "warning",
|
||||
"courtyards_overlap": "error",
|
||||
"diff_pair_gap_out_of_range": "error",
|
||||
"diff_pair_uncoupled_length_too_long": "error",
|
||||
"drill_out_of_range": "error",
|
||||
"duplicate_footprints": "warning",
|
||||
"extra_footprint": "warning",
|
||||
"footprint_type_mismatch": "error",
|
||||
"hole_clearance": "error",
|
||||
"hole_near_hole": "error",
|
||||
"invalid_outline": "error",
|
||||
"isolated_copper": "warning",
|
||||
"item_on_disabled_layer": "error",
|
||||
"items_not_allowed": "error",
|
||||
"length_out_of_range": "error",
|
||||
"lib_footprint_issues": "error",
|
||||
"lib_footprint_mismatch": "error",
|
||||
"malformed_courtyard": "error",
|
||||
"microvia_drill_out_of_range": "error",
|
||||
"missing_courtyard": "ignore",
|
||||
@ -87,6 +92,11 @@
|
||||
"silk_over_copper": "ignore",
|
||||
"silk_overlap": "ignore",
|
||||
"skew_out_of_range": "error",
|
||||
"solder_mask_bridge": "error",
|
||||
"starved_thermal": "error",
|
||||
"text_height": "warning",
|
||||
"text_thickness": "warning",
|
||||
"through_hole_pad_without_hole": "error",
|
||||
"too_many_vias": "error",
|
||||
"track_dangling": "warning",
|
||||
"track_width": "error",
|
||||
@ -94,7 +104,6 @@
|
||||
"unconnected_items": "error",
|
||||
"unresolved_variable": "error",
|
||||
"via_dangling": "warning",
|
||||
"zone_has_empty_net": "error",
|
||||
"zones_intersect": "error"
|
||||
},
|
||||
"rules": {
|
||||
@ -107,15 +116,59 @@
|
||||
"min_hole_to_hole": 0.25,
|
||||
"min_microvia_diameter": 0.19999999999999998,
|
||||
"min_microvia_drill": 0.09999999999999999,
|
||||
"min_resolved_spokes": 2,
|
||||
"min_silk_clearance": 0.0,
|
||||
"min_text_height": 0.7999999999999999,
|
||||
"min_text_thickness": 0.12,
|
||||
"min_through_hole_diameter": 0.3,
|
||||
"min_track_width": 0.15,
|
||||
"min_via_annular_width": 0.049999999999999996,
|
||||
"min_via_diameter": 0.39999999999999997,
|
||||
"solder_mask_clearance": 0.0,
|
||||
"solder_mask_min_width": 0.0,
|
||||
"solder_mask_to_copper_clearance": 0.0,
|
||||
"use_height_for_length_calcs": true
|
||||
},
|
||||
"teardrop_options": [
|
||||
{
|
||||
"td_allow_use_two_tracks": true,
|
||||
"td_curve_segcount": 5,
|
||||
"td_on_pad_in_zone": false,
|
||||
"td_onpadsmd": true,
|
||||
"td_onroundshapesonly": false,
|
||||
"td_ontrackend": false,
|
||||
"td_onviapad": true
|
||||
}
|
||||
],
|
||||
"teardrop_parameters": [
|
||||
{
|
||||
"td_curve_segcount": 0,
|
||||
"td_height_ratio": 1.0,
|
||||
"td_length_ratio": 0.5,
|
||||
"td_maxheight": 2.0,
|
||||
"td_maxlen": 1.0,
|
||||
"td_target_name": "td_round_shape",
|
||||
"td_width_to_size_filter_ratio": 0.9
|
||||
},
|
||||
{
|
||||
"td_curve_segcount": 0,
|
||||
"td_height_ratio": 1.0,
|
||||
"td_length_ratio": 0.5,
|
||||
"td_maxheight": 2.0,
|
||||
"td_maxlen": 1.0,
|
||||
"td_target_name": "td_rect_shape",
|
||||
"td_width_to_size_filter_ratio": 0.9
|
||||
},
|
||||
{
|
||||
"td_curve_segcount": 0,
|
||||
"td_height_ratio": 1.0,
|
||||
"td_length_ratio": 0.5,
|
||||
"td_maxheight": 2.0,
|
||||
"td_maxlen": 1.0,
|
||||
"td_target_name": "td_track_end",
|
||||
"td_width_to_size_filter_ratio": 0.9
|
||||
}
|
||||
],
|
||||
"track_widths": [
|
||||
0.0,
|
||||
0.15,
|
||||
@ -139,7 +192,8 @@
|
||||
"zones_allow_external_fillets": false,
|
||||
"zones_use_no_outline": true
|
||||
},
|
||||
"layer_presets": []
|
||||
"layer_presets": [],
|
||||
"viewports": []
|
||||
},
|
||||
"boards": [],
|
||||
"cvpcb": {
|
||||
@ -379,7 +433,7 @@
|
||||
}
|
||||
],
|
||||
"meta": {
|
||||
"version": 1
|
||||
"version": 2
|
||||
},
|
||||
"net_colors": null
|
||||
},
|
||||
@ -397,6 +451,8 @@
|
||||
"schematic": {
|
||||
"annotate_start_num": 0,
|
||||
"drawing": {
|
||||
"dashed_lines_dash_length_ratio": 12.0,
|
||||
"dashed_lines_gap_length_ratio": 3.0,
|
||||
"default_bus_thickness": 12.0,
|
||||
"default_junction_size": 40.0,
|
||||
"default_line_thickness": 6.0,
|
||||
|
BIN
img/back.jpg
Normal file
BIN
img/back.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 997 KiB |
BIN
img/front.jpg
Normal file
BIN
img/front.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 987 KiB |
2
library
2
library
@ -1 +1 @@
|
||||
Subproject commit 30b060b821e14a3f2013b516f157a5bd499ec0a9
|
||||
Subproject commit c54ad04bfeff0b2171acebfa5bd011cdd62748f4
|
2
modules
2
modules
@ -1 +1 @@
|
||||
Subproject commit ac359e54a6a08d969f17523f05b4442f932c4088
|
||||
Subproject commit 141eddd756ce01a0f64dcebf13437661806df5f2
|
BIN
schematics.pdf
Normal file
BIN
schematics.pdf
Normal file
Binary file not shown.
Loading…
Reference in New Issue
Block a user