Code, final versions, and information on the Sparkfun Graphical Datasheets

Overview

Graphical Datasheets

Code, final versions, and information on the SparkFun Graphical Datasheets.

Generated Cells Completed Graphical Datasheet
Generated Cells After Running Script Example Completed Graphical Datasheet

This repo includes the Python script used to help generate the graphical datasheets. It also includes the final .svg, and .pdf files as well as the .csv files use for development boards. The .csv files were used as a starting point and some text did change between the file and the final version. There is also a User Submitted folder for external contributions.

Setting Up and Running the Script via Notepad++

One method is to use Notepad++ to edit and a plug-in to run the script. Download and install Notepadd++ v7.7.1 on your computer. From Notepad++'s Plugins > Plugins Admin... menu, search for PyNPP plug-in and install. We used PyNPP v1.0.0. You may need to search online, download the plug-in, and manually install on Notepad++ from the Settings > Import > Import plug-in(s)... menu. This plug-in is optional if you want to run the script from Notepad++.

We'll assume that you have Python 2.7 installed. If you have not already, open up the command prompt. To check the version of Python, type the following to see if you are using Python 2 or Python 3. If you do not see Python 2, you will need to adjust your environment variables [i.e. System Properties > Environment Variables..., then System Variables > Path > Edit..., and add the location of your installed Python (in this case it was C:\Python27) to a field] to be able to use that specific version.

python --version

To manually install, download and unzip the svgwrite module (v1.2.0). In a command line, change the path to where ...\svgwrite folder is located and use the following command to install.

python setup.py install

Create a CSV of the pinout for your development board. You can also edit the CSV from any of the examples. For simplicity, copy the Pro Mini's file (...Graphical_Datasheets\Datasheets\ProMini\ProMini.csv ) and paste it in the same folder as the python script (...\Graphical_Datasheets). Open one of the tagscript.py scripts in Notepad++ and run the script from the menu: Plugins > PyNPP > Run File in Python.

A window will pop up requesting for the CSV file name. Enter the file name (like ProMini), it will output the SVG with the same name.

After running the script, open the SVG file in Inkscape (or Illustrator) with an image of your development board to align or adjust the pinouts! Feel free to adjust the script to format your cells based on your personal preferences. Have fun!

Setting Up and Running the Script via Command Line

You can use any text editor to edit the script. The following instructions do not require PyNPP. Additionally, it is an alternative method to install the svgwrite module and run the Python script via command line.

Again, we'll assume that you have Python 2.7 installed. If you have not already, open up the command prompt. To check the version of Python, type the following to see if you are using Python 2 or Python 3. If you do not see Python 2, you will need to adjust your environment variables [i.e. System Properties > Environment Variables..., then System Variables > Path > Edit..., and add the location of your installed Python (in this case it was C:\Python27) to a field] to be able to use that specific version.

python --version

Open a command prompt and use the following command to install the older version of svgwrite.

python -m pip install svgwrite==1.2.1

Create a CSV of the pinout for your development board. You can also edit the CSV from any of the examples. For simplicity, copy the Pro Mini's file (...Graphical_Datasheets\Datasheets\ProMini\ProMini.csv ) and paste it in the same folder as the python script (...\Graphical_Datasheets). Use the following command to execute the script.

python tagscript.py

A window will pop up requesting for the CSV file name. Enter the file name (like ProMini), it will output the SVG with the same name.

After running the script, open the SVG file in Inkscape (or Illustrator) with an image of your development board to align or adjust the pinouts! Feel free to adjust the script to format your cells based on your personal preferences. Have fun!

Required Software

Some software used to create graphical datasheets. At the time of writing, Python 2 was used to generate the cells. Note that support Python 2 has ended but the tools should still work if you are using archived versions of the plug-in and module. You may need to adjust the script to work with the latest NotePad++, NyPP plug-in, Python 3, and svgwrite versions.

  • Notepad++ v7.7.1 - Text editor to modify the Python script
    • PyNPP v1.0.0 - Optional plug-in to run Python Scripts
  • Python v2.7.13
    • svgwrite v1.2.0 - The script uses this version of svgwrite which is compatible with Python 2
  • Inkscape v0.92.4

Repository Contents

  • /Datasheets - CSV of pinouts and graphical datasheets for development boards
  • tagscript.py - Script to generate cells for graphical datasheets
  • tagscript_original-mshorter.py - Original script to individually modify each column attribute if necessary

Documentation

Owner
SparkFun Electronics
Building opensource widgets to make prototyping hardware easier since 2002.
SparkFun Electronics
DimReductionClustering - Dimensionality Reduction + Clustering + Unsupervised Score Metrics

Dimensionality Reduction + Clustering + Unsupervised Score Metrics Introduction

11 Nov 15, 2022
Using some basic methods to show linkages and transformations of robotic arms

roboticArmVisualizer Python GUI application to create custom linkages and adjust joint angles. In the future, I plan to add 2d inverse kinematics solv

Sandesh Banskota 1 Nov 19, 2021
Image Lowpoly based on Centroid Voronoi Diagram via python-opencv and taichi

CVTLowpoly: Image Lowpoly via Centroid Voronoi Diagram Image Sharp Feature Extraction using Guide Filter's Local Linear Theory via opencv-python. The

Pupa 4 Jul 29, 2022
An educational AI robot based on NVIDIA Jetson Nano.

JetBot Looking for a quick way to get started with JetBot? Many third party kits are now available! JetBot is an open-source robot based on NVIDIA Jet

NVIDIA AI IOT 2.6k Dec 29, 2022
Occlusion robust 3D face reconstruction model in CFR-GAN (WACV 2022)

Occlusion Robust 3D face Reconstruction Yeong-Joon Ju, Gun-Hee Lee, Jung-Ho Hong, and Seong-Whan Lee Code for Occlusion Robust 3D Face Reconstruction

Yeongjoon 31 Dec 19, 2022
Tensorflow implementation of "BEGAN: Boundary Equilibrium Generative Adversarial Networks"

BEGAN in Tensorflow Tensorflow implementation of BEGAN: Boundary Equilibrium Generative Adversarial Networks. Requirements Python 2.7 or 3.x Pillow tq

Taehoon Kim 922 Dec 21, 2022
Java and SHACL code commented in the paper "Towards compliance checking in reified I/O logic via SHACL" submitted to ICAIL 2021

shRIOL The subfolder shRIOL contains Java files to execute the SHACL files on the OWL ontology. To compile the Java files: "javac -cp ./src/;./lib/* -

1 Dec 06, 2022
Graph-based community clustering approach to extract protein domains from a predicted aligned error matrix

Using a predicted aligned error matrix corresponding to an AlphaFold2 model , returns a series of lists of residue indices, where each list corresponds to a set of residues clustering together into a

Tristan Croll 24 Nov 23, 2022
Connecting Java/ImgLib2 + Python/NumPy

imglyb imglyb aims at connecting two worlds that have been seperated for too long: Python with numpy Java with ImgLib2 imglyb uses jpype to access num

ImgLib2 29 Dec 21, 2022
Zero-Shot Text-to-Image Generation VQGAN+CLIP Dockerized

VQGAN-CLIP-Docker About Zero-Shot Text-to-Image Generation VQGAN+CLIP Dockerized This is a stripped and minimal dependency repository for running loca

Kevin Costa 73 Sep 11, 2022
Can we do Customers Segmentation using PHP and Unsupervized Machine Learning ? Yes we can ! 🤔

Customers Segmentation using PHP and Rubix ML PHP Library Can we do Customers Segmentation using PHP and Unsupervized Machine Learning ? Yes we can !

Mickaƫl Andrieu 11 Oct 08, 2022
An educational resource to help anyone learn deep reinforcement learning.

Status: Maintenance (expect bug fixes and minor updates) Welcome to Spinning Up in Deep RL! This is an educational resource produced by OpenAI that ma

OpenAI 7.6k Jan 09, 2023
Colossal-AI: A Unified Deep Learning System for Large-Scale Parallel Training

ColossalAI An integrated large-scale model training system with efficient parallelization techniques. arXiv: Colossal-AI: A Unified Deep Learning Syst

HPC-AI Tech 7.9k Jan 08, 2023
Code for AutoNL on ImageNet (CVPR2020)

Neural Architecture Search for Lightweight Non-Local Networks This repository contains the code for CVPR 2020 paper Neural Architecture Search for Lig

Yingwei Li 104 Aug 31, 2022
Simplified interface for TensorFlow (mimicking Scikit Learn) for Deep Learning

SkFlow has been moved to Tensorflow. SkFlow has been moved to http://github.com/tensorflow/tensorflow into contrib folder specifically located here. T

3.2k Dec 29, 2022
RoadMap and preparation material for Machine Learning and Data Science - From beginner to expert.

ML-and-DataScience-preparation This repository has the goal to create a learning and preparation roadMap for Machine Learning Engineers and Data Scien

33 Dec 29, 2022
GeoMol: Torsional Geometric Generation of Molecular 3D Conformer Ensembles

GeoMol: Torsional Geometric Generation of Molecular 3D Conformer Ensembles This repository contains a method to generate 3D conformer ensembles direct

127 Dec 20, 2022
The official code repo of "HTS-AT: A Hierarchical Token-Semantic Audio Transformer for Sound Classification and Detection"

Hierarchical Token Semantic Audio Transformer Introduction The Code Repository for "HTS-AT: A Hierarchical Token-Semantic Audio Transformer for Sound

Knut(Ke) Chen 134 Jan 01, 2023
A library for efficient similarity search and clustering of dense vectors.

Faiss Faiss is a library for efficient similarity search and clustering of dense vectors. It contains algorithms that search in sets of vectors of any

Meta Research 18.8k Jan 08, 2023
Convnet transfer - Code for paper How transferable are features in deep neural networks?

How transferable are features in deep neural networks? This repository contains source code necessary to reproduce the results presented in the follow

Jason Yosinski 143 Sep 13, 2022