Science Score: 49.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 4 DOI reference(s) in README -
✓Academic publication links
Links to: arxiv.org, zenodo.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (6.8%) to scientific vocabulary
Repository
Arduino-Based Controller for MEMS Switches
Basic Info
- Host: GitHub
- Owner: lafefspietz
- License: cc0-1.0
- Language: HTML
- Default Branch: main
- Size: 1.05 GB
Statistics
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
MEMSduino: Arduino-Based Controller for MEMS Switches
files.html
NIST Tech note describing system
Video demonstrating operation, Zenodo.org page
Video doi at Zenodo
Open source system for controlling MEMS switches using an Arduino. This system allows for both serial control via software and physical control by a human operator with buttons and indicator lights of a range of possible MEMS switch configurations. A set of relays are controlled by the Arduino, which determines which of the lines on a DSUB connector are energized with a 90 volt signal. This DSUB can then be connected to any cryogenic wiring which leads to the various DC control lines of a cryogenic MEMS RF switch.

Python Code Snippets
List com port objects: ``` import serial import serial.tools.listports ports = serial.tools.listports.comports()
for port, desc, hwid in sorted(ports): print("{}: {} [{}]".format(port, desc, hwid))
```
Create serial object ``` SP9T_serial = serial.Serial('COM18', 9600) # open serial port
```
Write to set to port 2:
``` SP9T_serial.write(bytes(str(2), encoding='utf-8'))
```
SP6T-COTS/
DUAL-SP3T-COTS/
SP9T/
DUAL-SP3T-COTS-SINGLE-DCDC/
METAL BOX
arXiv preprint DOI
All Files
- 6portcontroller.ino
- 6button-6eopixel.SchDoc
- 6button-6neopixel-BOM.xlsx
- 6button-6neopixel-gerbers.zip
- 6button-6neopixel.PcbDoc
- 6button-6neopixels.PrjPcb
- 6button-6neopixels.PrjPcbStructure
- 9-port-controller.ino
- 9button-9neopixel-BOM.xlsx
- 9button-9neopixel-gerbers.zip
- 9button-9neopixel.PcbDoc
- 9button-9neopixel.SchDoc
- 9button-9neopixels.PrjPcb
- 9button-9neopixels.PrjPcbStructure
- AN-1304-A-box-modifications.SLDDRW
- AN-1304-A-box-modifications.SLDPRT
- AN-1304-A-box-modifications.STEP
- AN-1304-A-box-modifications.pdf
- AN-1304-A-lid-modifications.SLDDRW
- AN-1304-A-lid-modifications.SLDPRT
- AN-1304-A-lid-modifications.STEP
- AN-1304-A-lid-modifications.pdf
- DB25-relay-HV-control-BOM.xlsx
- DB25-relay-HV-control-gerbers.zip
- DB25-relay-HV-control.PcbDoc
- DB25-relay-HV-control.PrjPcb
- DB25-relay-HV-control.PrjPcbStructure
- DB25-relay-HV-control.SchDoc
- HV-DCDC-bracket.SLDDRW
- HV-DCDC-bracket.SLDPRT
- HV-DCDC-bracket.STL
- HV-DCDC-bracket.pdf
- SP6T-COTS-BOM.xlsx
- SP9T-Custom-BOM.xlsx
- arduino-bracket.SLDDRW
- arduino-bracket.SLDPRT
- arduino-bracket.STL
- arduino-bracket.pdf
- arduino-to-headers-shield-BOM.xlsx
- arduino-to-headers-shield-gerbers.zip
- arduino-to-headers-shield.PcbDoc
- arduino-to-headers-shield.PrjPcb
- arduino-to-headers-shield.PrjPcbStructure
- arduino-to-headers-shield.SchDoc
- cryoelec-bracket.SLDDRW
- cryoelec-bracket.SLDPRT
- cryoelec-bracket.STL
- cryoelec-bracket.pdf
- front-panel-center-bracket.SLDDRW
- front-panel-center-bracket.SLDPRT
- front-panel-center-bracket.STL
- front-panel-center-bracket.pdf
- front-panel-edge-bracket.SLDDRW
- front-panel-edge-bracket.SLDPRT
- front-panel-edge-bracket.STL
- front-panel-edge-bracket.pdf
- rack-mount-board-SP6T.SLDDRW
- rack-mount-board-SP6T.SLDPRT
- rack-mount-board-SP6T.pdf
- rack-mount-board-SP9T.SLDDRW
- rack-mount-board-SP9T.SLDPRT
- rack-mount-board-SP9T.pdf
- switchcontrolmatlab.m
- switchcontrolpython.py
SP6T BOM
- 1/2" White oak board, 4" x 24"
- Brass Flared-Collar Knurled-Head Thumb Screws 10-32 Thread Size, 3/4" Long
- #6 wood screws
- cryoelec-bracket
- arduino-bracket
- front-panel-edge-bracket
- Brass threaded inserts #4-40
- 0-80 Brass Thread Inserts(E-Z LOK 240-000-BR)
- 0-80 screws 3/16" phillips, stainless
- Zinc-Plated Steel Pan Head Phillips Screw 4-40 Thread, 1/4" Long
- Diecast aluminum enclosure, AN-1304-A from BUD Industries
- Male-Female Threaded Hex Standoff 18-8 Stainless Steel, 3/16" Hex, 7/32" Long, 4-40 to 4-40 Thread
- Brass Socket Head Screw 4-40 Thread Size, 3/4" Long
- Brass Washer for Number 4 Screw Size, 0.12" ID, 0.281" OD
- 6button-6neopixel, 152.4 mm x 88.9 mm (6""x3.5")
- arduino-to-headers-shield 53.34 mm x 70.78 mm (2.1" x 2.79")
- 100k axial resistor
- 10k axial resistor
- 330 ohm axial resistor
- 1000 uF electrolytic capacitor
- Momentary buttons
- JUMPER WIRE M/M 6" 20PCS
- DB25 panel mount solder cup
- Arduino UNO
- USB A to USB B cable
- Neopixel programmable RGB LED
- 2 wire header cable
- 4 wire header cable
- 8 wire header cable
- 0.1" headers
SP9T Build BOM
- 1/2" White oak board, 4" x 24"
- Brass Flared-Collar Knurled-Head Thumb Screws 10-32 Thread Size, 3/4"" Long
- #6 wood screws
- HV-DCDC-bracket.STL 3d print(4 g of filament, 14 minutes print time)
- arduino-bracket.STL 3d print(4 g of filament, 17 minutes print time)
- front-panel-edge-bracket.STL 3d print (3 g of filament, 14 minutes print time)
- front-panel-center-bracket 3d print (1 g of filament, 7 minutes print time)
- Brass threaded inserts #4-40
- Zinc-Plated Steel Pan Head Phillips Screw 4-40 Thread, 1/4" Long
- Diecast aluminum enclosure, AN-1304-A from BUD Industries
- Male-Female Threaded Hex Standoff 18-8 Stainless Steel, 3/16" Hex, 7/32" Long, 4-40 to 4-40 Thread
- Brass Socket Head Screw 4-40 Thread Size, 3/4"" Long"
- Brass Washer for Number 4 Screw Size, 0.12" ID, 0.281" OD
- 5V-12V boost
- 12V to HV boost
- heat shrink tubing
- 9button-9neopixel 228.6mm x 88.9mm (9" x 3.5") printed circuit board
- arduino-to-headers-shield 53.34 mm x 70.78 mm (2.1" x 2.79") printed circuit board
- DB25-relay-HV-control 78.74 mm x 71.12 mm (3.1"x2.8") printed circuit board
- 100k axial resistor
- 10k axial resistor
- 330 ohm axial resistor
- 1000 uF electrolytic capacitor
- Momentary buttons
- 1 Mohm 1206 SMT resistor 1%
- DB25 board mount connector
- RELAY REED SIP SPST .5A 5V W/DIO
- Arduino UNO
- USB A to USB B cable
- Neopixel programmable RGB LED
- 2 wire header cable
- 4 wire header cable
- 8 wire header cable
- 0.1" headers
Disclaimer
Certain equipment, instruments, software, or materials are identified in this document in order to specify the experimental procedure adequately. Such identification is not intended to imply recommendation or endorsement of any product or service by NIST, nor is it intended to imply that the materials or equipment identified are necessarily the best available for the purpose.
MEMSduino SP9T Build Sequence
- Cut wood board and drill holes in it
- Cut out holes and D Sub Cutout in BUD box, mount DSUB into D cutout with 4-40 standoffs, mount to wood with long 4-40 screws
- 3d print all 3d printed parts and add heat-pressed thread inserts
- Screw all brackets to the wood board except for the HV-DCDC-bracket.STL, which is screwed to the inside of the BUD box.
- Assemble Arduino UNO Shield board (arduino-to-headers-shield)
- Mount the Arduino UNO to the 3d printed Arduino mounting bracket with 4-40 screws and plug the shield into the UNO
- Assemble Relay control board (DB25-relay-HV-control), solder to captive DSUB connector in the lid of BUD box
- Assemble the DC DC converter as needed to get to 90 volts or install an off the shelf converter in the BUD box, mount the board to the board mount bracket.
- Assemble front panel control circuit board, mount it to the plastic brackets on the wood board
- Connect all the cables, test system
MEMSduino SP6T COTS Build Sequence
- Cut wood board and drill holes in it
- Cut out holes and D Sub Cutout in BUD box, mount DSUB into D cutout with 4-40 standoffs, mount to wood with long 4-40 screws
- 3d print all 3d printed parts and add heat-pressed thread inserts, 4-40 on all but cryoelec-bracket, which takes 0-80 thread inserts
- Screw all brackets to the wood board except for the cryoelec-bracket.STL part, which is screwed to the inside of the BUD box with 4-40 screws
- Assemble Arduino UNO Shield board (arduino-to-headers-shield)
- Mount the Arduino UNO to the 3d printed Arduino mounting bracket with 4-40 screws and plug the shield into the UNO
- Put male header pins in the input side of the DC DC converter, and the jumper wires in the output side, mount board in metal box with 0-80 screws, connect to the Arduino shield with one 8 wire cable and one 4 wire cable, making sure all pins map in order.
- Solder the ends of the jumper wires into the solder cups in the DSUB connector, matching with whatever pins map to the appropriate pins on the cryogenic SP6T COTS switch
- Assemble front panel control circuit board, mount it to the plastic brackets on the wood board
- Connect all the cables, test system
License
This data/work was created by employees of the National Institute of Standards and Technology (NIST), an agency of the Federal Government. Pursuant to title 17 United States Code Section 105, works of NIST employees are not subject to copyright protection in the United States. This data/work may be subject to foreign copyright.
The data/work is provided by NIST as a public service and is expressly provided AS IS. NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT AND DATA ACCURACY. NIST does not warrant or make any representations regarding the use of the data or the results thereof, including but not limited to the correctness, accuracy, reliability or usefulness of the data. NIST SHALL NOT BE LIABLE AND YOU HEREBY RELEASE NIST FROM LIABILITY FOR ANY INDIRECT, CONSEQUENTIAL, SPECIAL, OR INCIDENTAL DAMAGES (INCLUDING DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, AND THE LIKE), WHETHER ARISING IN TORT, CONTRACT, OR OTHERWISE, ARISING FROM OR RELATING TO THE DATA (OR THE USE OF OR INABILITY TO USE THIS DATA), EVEN IF NIST HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
To the extent that NIST may hold copyright in countries other than the United States, you are hereby granted the non-exclusive irrevocable and unconditional right to print, publish, prepare derivative works and distribute the NIST data, in any medium, or authorize others to do so on your behalf, on a royalty-free basis throughout the world.
You may improve, modify, and create derivative works of the data or any portion of the data, and you may copy and distribute such modifications or works. Modified works should carry a notice stating that you changed the data and should note the date and nature of any such change. Please explicitly acknowledge the National Institute of Standards and Technology as the source of the data: Data citation recommendations are provided at https://www.nist.gov/open/license.
Permission to use this data is contingent upon your acceptance of the terms of this agreement and upon your providing appropriate acknowledgments of NISTs creation of the data/work.
Owner
- Login: lafefspietz
- Kind: user
- Repositories: 1
- Profile: https://github.com/lafefspietz
GitHub Events
Total
- Public event: 1
- Push event: 79
Last Year
- Public event: 1
- Push event: 79
