memsduino

Arduino-Based Controller for MEMS Switches

https://github.com/lafefspietz/memsduino

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
Last synced: 6 months ago · JSON representation

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
Created over 1 year ago · Last pushed 6 months ago
Metadata Files
Readme License Citation

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

SP6T BOM

SP9T Build BOM

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

  1. Cut wood board and drill holes in it
  2. 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
  3. 3d print all 3d printed parts and add heat-pressed thread inserts
  4. Screw all brackets to the wood board except for the HV-DCDC-bracket.STL, which is screwed to the inside of the BUD box.
  5. Assemble Arduino UNO Shield board (arduino-to-headers-shield)
  6. Mount the Arduino UNO to the 3d printed Arduino mounting bracket with 4-40 screws and plug the shield into the UNO
  7. Assemble Relay control board (DB25-relay-HV-control), solder to captive DSUB connector in the lid of BUD box
  8. 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.
  9. Assemble front panel control circuit board, mount it to the plastic brackets on the wood board
  10. Connect all the cables, test system

MEMSduino SP6T COTS Build Sequence

  1. Cut wood board and drill holes in it
  2. 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
  3. 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
  4. 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
  5. Assemble Arduino UNO Shield board (arduino-to-headers-shield)
  6. Mount the Arduino UNO to the 3d printed Arduino mounting bracket with 4-40 screws and plug the shield into the UNO
  7. 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.
  8. 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
  9. Assemble front panel control circuit board, mount it to the plastic brackets on the wood board
  10. 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

GitHub Events

Total
  • Public event: 1
  • Push event: 79
Last Year
  • Public event: 1
  • Push event: 79