Xilinx has released an installer to run ISE on Windows 10! The downside is that it’s simply a virtual machine running Linux and only supports the Spartan 6 product line. Download from Xilinx’s Website
EAGLE Tip: Detailed Library Examples
To support one of my previous posts I’ve put together some examples on how to build a thoroughly detailed component library in EAGLE. You can always place general components and then attribute them one-by-one. The issue with this is that it simply takes forever. Then if a component goes EOL you have to go through […]
EAGLE Tip: Using Attributes to create hands-off BOMs
When starting out with EAGLE it’s easy to overlook the attribute tool. However, this is crucial when putting together a professional release package and ensuring proper documentation. Attributed paramaters show as collumns and information on a BOM export. Properly adding this information to the component allows for hands-off BOM generation when it comes time to […]
Altium Designer Shortcuts
After using ExpressPCB, EAGLE, Mentor PADs, and OrCAD I’ve found Altium to be above and beyond in usability and horsepower. Below are some useful keyboard shortcuts to get you up and running quickly. PCB Shortcuts Keys Description J L Jump to location Q Switch between metric and imperial units Ctrl + M Measure distance between […]
C# Example – Hash Checker
In part of an effort to push documentation, traceability, and verification to the production and engineering workflows I created a simple WPF calculator and comparator for MD5 and SHA1 cryptographic hashes. The program currently supports MD5 and SHA1 hashes. Running the software Download the repository from the GitHub link below. Run the EXE file located […]
Creating a Low-Level Serial Protocol
When developing systems of any complexity we’re tasked with either making multiple modules inside a system talk to each other, or the system itself talks to the outside world. It’s at this point that we need to develop a protocol to be able to send any amount of coherent data back and forth. Whether you’re […]
Hashes in the Firmware Development Workflow
Hashes are like checksums in that it takes an individual binary file and uses an algorithm based on the original file to generate an individual number. This number can then be compared to a reference number to determine integrity and authenticity of the file. These hashes play an integral part in production releases of a […]
C# Example – CRC8 Implementation
In support of my previous post on the CRC8 checksum. I compiled this basic program to provide a real-world implementation. The example uses a potential serial communication protocol that consists of a START and END deliminter using GREATER-THAN and LESS-THAN symbols. The first two bytes L1 and L0 indicate the length of the payload (Command […]
The CRC8 Checksum
The Cyclic Redundancy Check (CRC) byte in a serial packet is used for error detection. The method covered in this post is identical to the Maxim/Dallas 1-wire devices called Dow CRC. This is done through the following formula: Lucky for us, this data can be compressed to a simple Look Up Table (LUT) for efficient […]
Eagle Tip: Exporting Pick and Place Data
When submitting a design to a fab to get your electronics assembled, you’ll need to generate the “XY Data” file that can then be imported into the board houses’ software to program their Pick-and-Place machine. The default-installed ULP below will generate the data file in a format that matches Altium Designer and will be useable […]