Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,7 @@ The package currently exports these subcircuit components:
- `EnvironmentalSensor_HDC3022`
- `PowerMonitor_INA237`
- `AudioAmplifier_TAS2505`
- `TargetSocket_MSPTS430D8`
- `Microcontroller_MSPM0G3507`
- `Microcontroller_MSPM33C3x`
- `LEDDriver_TLC59116`
Expand Down Expand Up @@ -142,6 +143,7 @@ chip is listed individually below, including whether it supports a
| `HDC3020` | `wson_8_ep_2p5x2p5` | `HDC3020DEFR` |
| `HDC3022` | `wson_8_ep_2p5x2p5` | `HDC3022DEJR` |
| `INA237` | `vssop_10` | `INA237AQDGSRQ1` |
| `MSP430G2230ID` | `-` | `MSP430G2230ID` |
| `MSPM0G3507` | `lqfp_64` | `MSPM0G3507SPMR` |
| `TAS2505` | `-` | `TAS2505` |
| `TMP1827` | `-` | `TMP1827` |
Expand Down
5 changes: 5 additions & 0 deletions index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ import {
HDC3020,
HDC3022,
INA237,
MSP430G2230ID,
MSPM33C3x,
MSPM0G3507,
TAS2505,
Expand Down Expand Up @@ -49,6 +50,7 @@ import { EnvironmentalSensor_HDC3020 } from "./lib/subcircuits/EnvironmentalSens
import { EnvironmentalSensor_HDC3022 } from "./lib/subcircuits/EnvironmentalSensor_HDC3022.circuit";
import { PowerMonitor_INA237 } from "./lib/subcircuits/PowerMonitor_INA237.circuit";
import { AudioAmplifier_TAS2505 } from "./lib/subcircuits/AudioAmplifier_TAS2505.circuit";
import { TargetSocket_MSPTS430D8 } from "./lib/subcircuits/TargetSocket_MSPTS430D8.circuit";
import { Microcontroller_MSPM0G3507 } from "./lib/subcircuits/Microcontroller_MSPM0G3507.circuit";
import { Microcontroller_MSPM33C3x } from "./lib/subcircuits/Microcontroller_MSPM33C3x.circuit";
import { LEDDriver_TLC59116 } from "./lib/subcircuits/LEDDriver_TLC59116.circuit";
Expand Down Expand Up @@ -88,6 +90,7 @@ export {
EnvironmentalSensor_HDC3022,
PowerMonitor_INA237,
AudioAmplifier_TAS2505,
TargetSocket_MSPTS430D8,
Microcontroller_MSPM0G3507,
Microcontroller_MSPM33C3x,
LEDDriver_TLC59116,
Expand Down Expand Up @@ -123,6 +126,7 @@ export const TiChipComponents = {
HDC3020,
HDC3022,
INA237,
MSP430G2230ID,
MSPM33C3x,
MSPM0G3507,
TAS2505,
Expand Down Expand Up @@ -160,6 +164,7 @@ export const TiSubcircuitComponents = {
EnvironmentalSensor_HDC3022,
PowerMonitor_INA237,
AudioAmplifier_TAS2505,
TargetSocket_MSPTS430D8,
Microcontroller_MSPM0G3507,
Microcontroller_MSPM33C3x,
LEDDriver_TLC59116,
Expand Down
65 changes: 65 additions & 0 deletions lib/chips/MSP430G2230ID.circuit.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
import type { ChipProps } from "@tscircuit/props";
import "tscircuit";

const pinLabels = {
pin1: ["DVCC", "POWER_DVCC"],
pin2: ["P1_2_TA1_A2", "GPIO_P1_2", "P1_2", "TA1", "ADC_A2"],
pin3: ["P1_5_TA0_A5_SCLK", "GPIO_P1_5", "P1_5", "TA0", "ADC_A5", "SPI_SCLK"],
pin4: [
"P1_6_TA1_A6_SDO_SCL",
"GPIO_P1_6",
"P1_6",
"TA1",
"ADC_A6",
"SPI_SDO",
"I2C_SCL",
],
pin5: [
"P1_7_A7_SDI_SDA",
"GPIO_P1_7",
"P1_7",
"ADC_A7",
"SPI_SDI",
"I2C_SDA",
],
pin6: ["RST_SBWTDIO", "N_RESET", "RST", "SBWTDIO"],
pin7: ["TST_SBWTCK", "TEST", "SBWTCK"],
pin8: ["DVSS", "POWER_DVSS", "GND"],
} as const;

/**
* MSP430G2230 in the 8-pin D (SOIC) package.
*
* This pinout is also the one exposed by the MSP-TS430D8 socket board for the
* supported MSP430G2210/MSP430G2230 devices.
*/
export const MSP430G2230ID = (props: ChipProps<typeof pinLabels>) => (
<chip
manufacturerPartNumber="MSP430G2230ID"
footprint="soic8"
schWidth="7mm"
schHeight="4.8mm"
pinLabels={pinLabels}
schPinArrangement={{
leftSide: {
direction: "top-to-bottom",
pins: [1, 2, 3, 4],
},
rightSide: {
direction: "top-to-bottom",
pins: [8, 7, 6, 5],
},
}}
schPinStyle={{
pin1: { marginBottom: 0.2 },
pin2: { marginBottom: 0.2 },
pin3: { marginBottom: 0.2 },
pin8: { marginBottom: 0.2 },
pin7: { marginBottom: 0.2 },
pin6: { marginBottom: 0.2 },
}}
{...props}
/>
);

export default MSP430G2230ID;
1 change: 1 addition & 0 deletions lib/chips/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ export { HDC2080 } from "./HDC2080.circuit.tsx";
export { HDC3020 } from "./HDC3020.circuit.tsx";
export { HDC3022 } from "./HDC3022.circuit.tsx";
export { INA237 } from "./INA237.circuit.tsx";
export { MSP430G2230ID } from "./MSP430G2230ID.circuit.tsx";
export { MSPM33C3x } from "./MSPM33C3x.circuit.tsx";
export { MSPM0G3507 } from "./MSPM0G3507.circuit.tsx";
export { TAS2505 } from "./TAS2505.circuit.tsx";
Expand Down
258 changes: 258 additions & 0 deletions lib/subcircuits/TargetSocket_MSPTS430D8.circuit.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,258 @@
import type { SubcircuitProps } from "@tscircuit/props";
import "tscircuit";
import { MSP430G2230ID } from "../chips/MSP430G2230ID.circuit.tsx";

/**
* TI MSP-TS430D8 8-pin target socket board reference circuit.
*
* J5 power selection:
* - short pins 2-3 for power from the MSP debug tool
* - short pins 1-2 for an externally powered target / VCC sensing
*
* J6 is normally shorted and can be opened to measure target supply current.
* J4 is normally shorted and can be opened to disconnect the P1.2 LED.
*/
export const TargetSocket_MSPTS430D8 = (props: SubcircuitProps) => (
<subcircuit routingDisabled schMaxTraceDistance="50mm" {...props}>
<MSP430G2230ID
name="U1"
manufacturerPartNumber="MSP-TS430D8"
schX={1}
schY={-1.5}
schHeight="2.2mm"
connections={{
pin1: "J1.pin1",
pin2: "J1.pin2",
pin3: "J1.pin3",
pin4: "J1.pin4",
pin5: "J2.pin4",
pin6: "J2.pin3",
pin7: "J2.pin2",
pin8: "J2.pin1",
}}
/>

{/* 14-pin MSP Spy-Bi-Wire debug connector */}
<chip
name="SBW"
footprint="pinrow14_p2.54_nopinlabels_rows2"
schX={-12.8}
schY={7.3}
schWidth="1.2mm"
schHeight="1.8mm"
schPinArrangement={{
leftSide: {
direction: "top-to-bottom",
pins: [14, 12, 10, 8, 6, 4, 2],
},
rightSide: {
direction: "top-to-bottom",
pins: [13, 11, 9, 7, 5, 3, 1],
},
}}
connections={{
pin1: "R5.pin2",
pin2: "J5.pin3",
pin4: "J5.pin1",
pin7: "R2.pin1",
pin9: "net.GND",
}}
/>

{/* Internal/external supply-selection header */}
<pinheader
name="J5"
pinCount={3}
gender="male"
pitch="2.54mm"
schX={-14.8}
schY={6.1}
schFacingDirection="right"
pinLabels={["EXT", "VCC", "INT"]}
connections={{
pin2: "J3.pin1",
}}
/>

{/* External power connector */}
<pinheader
name="J3"
pinCount={3}
gender="male"
pitch="2.54mm"
schX={10.5}
schY={6.3}
schFacingDirection="left"
pinLabels={["VCC", "GND", "GND"]}
connections={{
pin2: "net.GND",
pin3: "net.GND",
}}
/>

{/* SBWTCK series resistor */}
<resistor
name="R2"
resistance="330ohm"
footprint="0805"
schX={-5.5}
schY={5.4}
schOrientation="vertical"
connections={{
pin2: "J2.pin2",
}}
/>

{/* Reset pull-up and optional reset capacitor */}
<resistor
name="R5"
resistance="47k"
footprint="0805"
schX={5.3}
schY={5.4}
schOrientation="vertical"
connections={{
pin1: "J3.pin1",
pin2: "C8.pin1",
}}
/>

<capacitor
name="C8"
capacitance="2.2nF"
footprint="0805"
doNotPlace
schX={5.3}
schY={3.25}
schOrientation="vertical"
connections={{
pin1: "J2.pin3",
pin2: "net.GND",
}}
/>

{/* Removable jumper for target-current measurement */}
<pinheader
name="J6"
pinCount={2}
gender="male"
pitch="2.54mm"
schX={-12.8}
schY={1.8}
schFacingDirection="right"
pinLabels={["VCC430", "VCC"]}
connections={{
pin1: "C7.pin1",
pin2: "J3.pin1",
}}
/>

{/* Target supply decoupling */}
<capacitor
name="C7"
capacitance="10uF"
footprint="1210"
schX={-11.8}
schY={-1.0}
schOrientation="vertical"
connections={{
pin1: "C5.pin1",
pin2: "net.GND",
}}
/>

<capacitor
name="C5"
capacitance="100nF"
footprint="0805"
schX={-9.8}
schY={-1.0}
schOrientation="vertical"
connections={{
pin1: "J1.pin1",
pin2: "net.GND",
}}
/>

{/* Low-side device breakout */}
<pinheader
name="J1"
displayName="FE4L"
pinCount={4}
gender="male"
pitch="2.54mm"
schX={-5.8}
schY={-1.5}
schFacingDirection="right"
pinLabels={["VCC430", "P1_2", "P1_5", "P1_6"]}
/>

{/* High-side device breakout */}
<pinheader
name="J2"
displayName="FE4H"
pinCount={4}
gender="male"
pitch="2.54mm"
schX={8.0}
schY={-1.5}
schFacingDirection="left"
pinLabels={["DVSS_8", "TST_7", "RST_6", "P1_7_5"]}
connections={{
pin1: "net.GND",
pin2: "R2.pin2",
pin3: "C8.pin1",
}}
/>

{/* P1.2 indicator LED and disconnect jumper */}
<jumper
name="J4"
pinCount={2}
footprint="pinrow2_p2.54_nopinlabels"
schX={-2.6}
schY={-5.0}
schWidth="0.4mm"
schHeight="0.7mm"
schPinArrangement={{
leftSide: {
direction: "top-to-bottom",
pins: [2],
},
rightSide: {
direction: "top-to-bottom",
pins: [1],
},
}}
connections={{
pin1: "U1.pin2",
pin2: "R3.pin2",
}}
/>

<resistor
name="R3"
resistance="330ohm"
footprint="0805"
schX={-5.3}
schY={-5.0}
connections={{
pin1: "D1.pin1",
}}
/>

<led
name="D1"
color="green"
footprint="led0603"
schX={-8.0}
schY={-5.0}
schRotation={180}
connections={{
pin2: "net.GND",
}}
/>
</subcircuit>
);

export default TargetSocket_MSPTS430D8;
Loading
Loading