Coder Social home page Coder Social logo

linneslab / kickstat-paper-firmware Goto Github PK

View Code? Open in Web Editor NEW
53.0 9.0 10.0 5.64 MB

Firmware used to collect data for the first KickStat publication. The device was first called MiniStat so we apologize for the name conflict in many of the files.

C++ 99.87% C 0.13%
arduino potentiostat electrochemistry point-of-care voltammetry amperometry

kickstat-paper-firmware's Introduction

KickStat-Paper-Firmware

Firmware used to collect data for first KickStat publication "KickStat: A Coin-Sized Potentiostat for High-Resolution Electrochemical Analysis" doi: https://doi.org/10.3390/s20082407

Note: KickStat was originally named MiniStat hence a few files still bearing the root name "MiniStat." We had to change the name after we found another publication with the name MiniStat, though earlier versions of our design (which was called MiniStat) were published on GitHub 3 years before the publication of the other manuscript in question. We apologize for the confusion.

Note: KickStat uses the SparkFun SAMD21 Dev Breakout board definition. Instructions for setting up your board as well as the Arduino IDE are below.

Hardware Setup Instructions

Ordering Boards from PCBWay

  1. PCBWay parameters are located in attached images in the following location:
    KickStat-Paper-Firmware/KickStat/Hardware/Button-Cell/RevB/Assembly-Instructions
    files: PCBWay-Ordering-Parameters-01, PCBWay-Ordering-Parameters-02, PCBWay-Ordering-Parameters-03

  2. Boards can be fabricated and assembled by PCBWay. Go to PCBWay's website and click the PCB Assembly option. You can select how many assembled PCBs you would like. Feel free to leave unique number of parts, SMT pads, and thru-holes blank. PCBWay will populate those fields themselves.

  3. Feel free to specify whatever surface finish you prefer. I used HASL with lead, but if you feel more comfortable with lead-free, HASL lead-free and Immersion gold (ENIG) are very economical options.

  4. Upload the Gerbers, centroid file, and the BOM to PCB Way's quote system. All those files are located in the Assembly Instructions folder. It will take 2-4 days to review your design. They will contact you over email when the review is complete or if they have any questions.

  5. Note: PCBWay often asks about the cathode location for the LEDs. The cathode locations are as noted in the "KickStat-LED-Cathode-Mark.jpg" file. You can simply send them this file in an email. Be sure to reference your Product No. given in their quote system.

  6. Note: I like to solder the SWD programming header (10-pin connector) myself (it's located on the bottom of the board), but PCBWay could also solder the headers as well. You'll just need to specify Assembly Side(s): as "Both sides." It might cost a little extra, but still very inexpensive as far as PCB assembly goes. You will also need to give them the part number for the SWD 10-pin connector. I like these options: from Adafruit PID: 752, from Digi-Key Part Number: 1175-1735-ND, Manufacturer Part Number: 3221-10-0300-00, as well as Digi-Key Part Number: 609-3695-1-ND, Manufacturer Part Number: 20021121-00010C4LF

Firmware Setup Instructions

  1. Bootload your SAMD21 with the SparkFun SAMD21 Dev Board definition using these instructions "Bootloading-SAMD21.pdf". You will need an SWD 10-pin connector (as discussed in the Hardware Setup Instructions section) and a J-Link

  2. Download SparkFun SAMD21 Drivers

  3. Set up Arduino for SparkFun SAMD21 Board Definition. Note: I am using Arduino v.1.8.12, Arduino SAMD Boards v.1.8.6, and SparkFun SAMD Board v.1.7.5. I would recommend using all the same versions to avoid any trouble.

  4. Download contents of the Firmware/libraries folder (KickStat/Firmware/libraries) into the Arduino libraries folder often located in: documents/arduino of your computer. But always double check. The contents of libraries include the MiniStatAnalyst library and the LMP91000 library. Both are necessary to run KickStat. Instructions for downloading Arduino libraries can be found on Arduino's website

  5. Once all that is complete, modify the code as you wish, select the proper board definition within the Arduino IDE (SparkFun SAMD21 Dev Breakout), select the proper port, and you can upload.

kickstat-paper-firmware's People

Contributors

hoilett avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

kickstat-paper-firmware's Issues

Missing paste mask for exposed pad ground on processor, please update gerbers

Hello,
We are manufacturing KickStat and the manufacturer informed us of the missing paste mask for the processor's exposed pad. Without the exposed pad soldered to the board, it would leave ground pins 5 and 18 floating. For this particular package, there is no mention in the datasheet of all the digital and analog grounds being connected internally to compensate for the missing paste mask. Please update the gerber files for others.
Thank you.

Values of "RTIA","RLoad","VREF Divider" for Cyclic Voltammetry

Dear Sir
Im recording Cyclic voltammetry for 5mM FeCN solution,but unable to get the duck shaped waveform,but able to record the waveform which looks almost similar to what i m expecting,with this i believe there nothing wrong in hardware and the code im using,,,im confused about choosing the correct values of RTIA,Rload,IntZ,i request you kindly tell me the correct values to be choosen for 5mM FeCN solution

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.