Anshgrover23/rfm69-breakout
The RFM69HCW module is a 16-pin radio transceiver with SPI and GPIO interfaces, featuring antennas, reset, and data I/O pins.
Usage: To import and use the RFM69HCW component: 1. Import the component: ```tsx import { RFM69HCW } from "@tsci/Anshgrover23.rfm69-breakout" ``` 2. Use in a circuit: ```tsx <board> <RFM69HCW name="RF1" /> </board> ``` The component includes 16 pins with predefined labels like GND, MISO, MOSI, SCK, NSS, RESET, and various DIO pins. You can place it on a board and connect traces to its specific pins using the `sel` selector.
- Version
- 1.0.0
- License
- unset
- Stars
- 1
dist/index.js
PCB
Schematic
import { sel } from '@tscircuit/core';
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
const pinLabels = {
pin1: "GND",
pin2: "MISO",
pin3: "MOSI",
pin4: "SCK",
pin5: "NSS",
pin6: "RESET",
pin7: "DIO5",
pin8: "GND",
pin9: "ANT",
pin10: "GND",
pin11: "DIO3",
pin12: "DIO4",
pin13: "3.3V",
pin14: "DIO0",
pin15: "DIO1",
pin16: "DIO2"
};
const RFM69HCW = props => /*#__PURE__*/React.createElement("chip", _extends({
manufacturerPartNumber: "RFM69HCW"
}, props, {
pinLabels: pinLabels,
schPinArrangement: {
leftSide: {
direction: "top-to-bottom",
pins: ["3.3V", "MISO", "MOSI", "SCK", "NSS", "RESET"]
},
rightSide: {
direction: "top-to-bottom",
pins: ["DIO0", "DIO1", "DIO2", "DIO3", "DIO4", "DIO5", "pin8", "ANT", "pin1"]
}
},
schPinStyle: {
RESET: {
marginTop: "0.4"
},
MISO: {
marginTop: "0.4"
},
pin8: {
marginTop: "0.3"
}
}
}));
var index = () => /*#__PURE__*/React.createElement("board", {
width: "27.94",
height: "20.32"
}, /*#__PURE__*/React.createElement(RFM69HCW, {
name: "U1",
footprint: "stampboard_left8_right8_bottom0_top0_w18mm_p2.0mm_pw1.2mm_pl3.0mm_padshape=rect",
pcbY: "1.27mm"
}), /*#__PURE__*/React.createElement("pinheader", {
name: "JP1",
pinCount: 2,
schRotation: 180,
footprint: "pinrow2_p2.54_id1.016_od1.88_pinlabeltextalignleft_pinlabelorthogonal_nosquareplating",
schFacingDirection: "right",
schX: -3,
schY: 1.4,
pcbRotation: 90,
pcbX: -12.7,
pcbY: -7.62,
showSilkscreenPinLabels: true,
pinLabels: ["3.3V", "GND"],
connections: {
pin1: "U1.pin13"
}
}), /*#__PURE__*/React.createElement("netlabel", {
schX: -1.7,
schY: 1.2,
anchorSide: "top",
net: "GND",
connection: "JP1.GND"
}), /*#__PURE__*/React.createElement("netlabel", {
schX: -1.7,
schY: 1.8,
net: "V3_3",
connection: "JP1.pin1",
anchorSide: "bottom"
}), /*#__PURE__*/React.createElement("pinheader", {
name: "JP2",
pinCount: 5,
schRotation: 0,
footprint: "pinrow5_p2.54_id1.016_od1.88_pinlabeltextalignleft_pinlabelorthogonal_nosquareplating",
schFacingDirection: "right",
schX: -3,
schY: -0.1,
pcbRotation: 90,
pcbX: -12.7,
pcbY: 3.81,
connections: {
pin1: sel.U1.pin2,
pin2: sel.U1.pin3,
pin3: sel.U1.pin4,
pin4: sel.U1.pin5,
pin5: sel.U1.pin6
},
showSilkscreenPinLabels: true,
pinLabels: ["MISO", "MOSI", "SCK", "NSS", "RESET"]
}), /*#__PURE__*/React.createElement("pinheader", {
name: "JP3",
pinCount: 1,
schRotation: 180,
footprint: "pinrow1_p2.54_id1.016_od1.88_pinlabeltextalignleft_pinlabelorthogonal_nosquareplating",
facingDirection: "left",
schX: 3,
schY: 1.5,
pcbRotation: 90,
pcbX: -12.7,
pcbY: -3.81,
connections: {
pin1: sel.U1.pin14
},
showSilkscreenPinLabels: true,
pinLabels: ["DIO0"],
schWidth: 0.5
}), /*#__PURE__*/React.createElement("pinheader", {
name: "JP4",
pinCount: 5,
schRotation: 0,
footprint: "pinrow5_p2.54_id1.016_od1.88_pinlabeltextalignright_pinlabelorthogonal_nosquareplating",
facingDirection: "left",
schX: 3,
schY: 0.34,
pcbRotation: 90,
pcbX: 12.7,
pcbY: 3.81,
connections: {
pin1: sel.U1.pin15,
pin2: sel.U1.pin16,
pin3: sel.U1.pin11,
pin4: sel.U1.pin12,
pin5: sel.U1.pin7
},
showSilkscreenPinLabels: true,
pinLabels: ["DIO0", "DIO1", "DIO2", "DIO3", "DIO4"]
}), /*#__PURE__*/React.createElement("pinheader", {
name: "JP5",
pinCount: 3,
schRotation: 180,
footprint: "pinrow3_p2.54_id1.016_od1.88_pinlabeltextalignright_pinlabelorthogonal_nosquareplating",
facingDirection: "left",
schX: 3,
schY: -1,
pcbRotation: 90,
pcbX: 12.7,
pcbY: -6.35,
connections: {
pin1: sel.U1.pin8,
pin2: sel.U1.pin9,
pin3: sel.U1.pin1
},
showSilkscreenPinLabels: true,
pinLabels: ["GND", "ANT", "GND"]
}), /*#__PURE__*/React.createElement("netlabel", {
schX: 1.6,
schY: -1.3,
anchorSide: "top",
net: "GND",
connectsTo: ["U1.pin8"]
}), /*#__PURE__*/React.createElement("capacitor", {
name: "C2",
capacitance: "0.1uF",
footprint: "0603",
schRotation: 90,
schX: -4.7,
pcbY: -8.89,
pcbX: -2.54,
pcbRotation: 180,
connections: {
pin1: "net.GND",
pin2: "net.V3_3"
}
}), /*#__PURE__*/React.createElement("capacitor", {
name: "C1",
capacitance: "10uF",
footprint: "1210",
schRotation: 90,
schX: -5.7,
pcbY: -8.57,
pcbX: 3.81,
connections: {
pin1: "net.GND",
pin2: "net.V3_3"
}
}), /*#__PURE__*/React.createElement("net", {
name: "GND"
}), /*#__PURE__*/React.createElement("net", {
name: "V3_3"
}), /*#__PURE__*/React.createElement("schematictext", {
text: "Antenna length (1/4 wave)",
schX: 4,
schY: -1,
fontSize: 0.2,
anchor: "center_left",
color: "brown"
}), /*#__PURE__*/React.createElement("schematictext", {
text: "915MHz: 3.07\" = 78mm",
schX: 4,
schY: -1.3,
fontSize: 0.2,
anchor: "center_left",
color: "brown"
}), /*#__PURE__*/React.createElement("schematictext", {
text: "434MHz: 6.47\" = 164mm",
schX: 4,
schY: -1.5,
fontSize: 0.2,
anchor: "center_left",
color: "brown"
}));
export { index as default };