Categories

Entries for the 'Custom Hardware and Software' Category

BlueGecko BGScript Development with VScode
Tyler Brink

BlueGecko BGScript Development with VScode

This tutorial will outline the process to configure Visual Studio Code for developing Blue Gecko script code. It assumes you have some familiarity with the BlueGecko scripting language. If not, check out the developer guide. Blue Gecko scripting is a high level programming language designed for the Silicon Labs line of Blue Gecko Bluetooth modules. Installation Download and install the BLE SDK and the BLE Update Tool using the default location and agree to licenses.&...

Continue reading →


A Properly Pleasing Prism Primer - Part 3:  Modules
Grant Anderson

A Properly Pleasing Prism Primer - Part 3: Modules

In Part 2 of this series, I introduced the Shell and the Bootstrapper components of a Prism application. The stage is set. The crew's in place. It's time for Lights! Camera! Action! But first, we need to hire some actors. Modules To quote the Prism documentation itself: A module is a logical collection of functionality and resources that is packaged in a way that can be separately developed, tested, deployed, and integrated into an application. All modules contain a central c...

Continue reading →


Automatically Change Windows System Sounds
Frank May

Automatically Change Windows System Sounds

For those of you who are impatient, click here to download the completed executable, and see the results below. Have you ever said: “UGH, these Windows system sounds are so bland” And then wished you could change them to something better, and do it to all your company computers, but didn’t want to go through the hassle of clicking through Windows system settings while explaining to your coworkers what you’re doing to their computer? ME TOO! That’s...

Continue reading →


Using Segger Real Time Transfer with an EFM32
Alex Krejcie

Using Segger Real Time Transfer with an EFM32

Today I want to detail a couple of cool tricks to use Segger Real Time Transfer with an EFM32 to create an easy-to-view trace log. Segger Real Time Transfer, or RTT for short, is a debugging interface designed specifically around the J-Links capabilities to provide an extremely efficient debug message input and output interface.  This is accomplished by writing messages to a RAM buffer on the microcontroller that the J-Link is capable of reading through the standard ARM de...

Continue reading →


A Properly Pleasing Prism Primer - Part 2:  The Shell and Bootstrapper
Grant Anderson

A Properly Pleasing Prism Primer - Part 2: The Shell and Bootstrapper

In Part 1 of this series, I gave a quick summary of what Prism is, and when and why you would want to use it. The remaining parts of this series will address the "how" of using it. Since this series is largely an overview, I won't cover everything you can possibly do under Prism. And since Prism is designed so that the programmer can pick and choose what functionality they need, not everything I cover here will be relevant to all applications. However, the goal is that th...

Continue reading →


A Properly Pleasing Prism Primer - Part 1:  An Introduction
Grant Anderson

A Properly Pleasing Prism Primer - Part 1: An Introduction

The usage of design patterns is situational. Their purpose is to reduce the overall complexity of an application or to replace unfamiliar complexity with manageable equivalents. For a sufficiently simple application, however, using patterns is often overkill. Even more so if the design pattern itself isn’t familiar to the developers that will be maintaining the code. The paradoxical upshot is usage of the pattern can actually increase the complexity if the application is simple. For exa...

Continue reading →


CAD Models in C#: Developing with Eyeshot
Matt Puskala

CAD Models in C#: Developing with Eyeshot

DMC recently developed some desktop applications for clients in C# that require 3D modeling. We’ve been using a third-party CAD tool developed by devDept called Eyeshot. If you are working in the world of graphic design, 3D animation rendering, or physics simulations, there could be better options for your needs, like gaming engines such as Unity and nVidia PhysX. However, if you are working in the engineering world of CAD files, Eyeshot is by far the best tool available for C#. Th...

Continue reading →


The Revit API: Creating Your First Add-In
Christopher Olsen

The Revit API: Creating Your First Add-In

Lately, I've gotten reacquainted with an old friend of mine: the Revit API. Revit is an incredible piece of architectural software from Autodesk, and one of its features is the ability to expand its functionality through the use of add-ins. Revit add-in development is now one of the many services that we're able to offer here at DMC, and I'd like to celebrate that fact by sharing an article about how to get started with Revit add-in development. First of all, this article assumes ...

Continue reading →


6 Easy Steps to Get Started with MVC Module Development in DNN 8
August Karlstedt

6 Easy Steps to Get Started with MVC Module Development in DNN 8

In the beginning of the year, DNN (formerly DotNetNuke) was updated to support MVC modules. MVC is the latest version of ASP.NET in which the Model-View-Controller paradigm is at the core. This article won't be a look into what MVC is or a comparison with WebForms, but instead will give a quick guide into starting DNN MVC module development. While there are some guides available that give you similar information, I found it a bit difficult to get started developing MVC modules i...

Continue reading →


Sorting in JavaScript: Handling Google Chrome's Unstable Sort
Christopher Olsen

Sorting in JavaScript: Handling Google Chrome's Unstable Sort

(NOTE: There is sample code to go along with this article.) In web applications, a task that often needs to be performed is the sorting of arrays. If you're anything like me, you often use the Array.prototype.sort method to accomplish this task. And who could blame you? It's short, it's easy, its implementation is performant, and it works exactly the way you want it to most of the time. As you can see in the code pictured below, all we have to do is call the "sort" ...

Continue reading →


Recovering Missing Library Components in Altium Designer
Ryan Taylor

Recovering Missing Library Components in Altium Designer

Have you ever opened an Altium project only to discover that a Footprint or Schematic Library file is missing? Maybe your coworker forgot to commit the files to version control, or forgot to include them in the .zip file before leaving for vacation. If so, have no fear: you can recover the footprints easily and automatically. Schematic Library From the Schematic Editor, select Design -> Make Schematic Library. Altium will convert each component on your schematic into a library compon...

Continue reading →


Creating an Augmented Reality (AR) Demo with the Vuforia Studio Pilot Program
Cecilia Brookshier

Creating an Augmented Reality (AR) Demo with the Vuforia Studio Pilot Program

Augmented Reality (AR) has been booming the past couple of months, especially with the deployment of Pokémon Go. If you're not familiar with it, Pokémon Go is a mobile app that encourages its users to walk around the real world in order to capture virtual Pokémon characters. Aside from making a very addicting mobile phone application, AR is now being considered in industrial settings. It can be used to diagnose and troubleshoot machinery, or provide visual instructions for assem...

Continue reading →


Dynamic Printf in Atollic TrueSTUDIO v.6.0.0
Ji-hoon Kim

Dynamic Printf in Atollic TrueSTUDIO v.6.0.0

Atollic has recently released TrueStudio v6.0.0, their most recent major update to the TrueSTUDIO IDE. The update comes with new features such as support for CMSIS-pack, updates to the build analyzer, and an interesting debugging tool that Atollic calls “dynamic printf” which we’ll look at today. A dynamic printf is a hybrid between a traditional breakpoint and a printf() function. Essentially, it’s a printf() that you can insert into the code like a breakpoint, even d...

Continue reading →


6 Tips for LabVIEW UI and UX Design
Steven Dusing

6 Tips for LabVIEW UI and UX Design

At NIWeek this year, there were a few sessions that I really enjoyed focusing on user interface (UI) and user experience (UX) design in LabVIEW. I take a personal interest in designing intuitive and aesthetic interfaces for my applications. Here are a few tips I learned from NIWeek. #1: Classic, Flat Controls Modern user interfaces tend to use flat or semi-flat UI graphics. Flat design became popular around 2012.  By this time, users were more comfortable with digital mediums than sim...

Continue reading →


Coffee, Internet Buttons and Slack
Andrew Griesemer

Coffee, Internet Buttons and Slack

In a recent blog I detailed how I designed a case for a button that people can press to notify the office via Slack that a fresh pot of coffee has been brewed. Now for the fun part, the programming. This project uses the Particle Photon and the Internet Button. Particle's hardware and development environment makes easy IoT projects like this a breeze. There are three components to the code that we'll need to put together: The Slack webook that ...

Continue reading →


Querying the Active Directory
Christopher Olsen

Querying the Active Directory

While developing a .NET application, you may find that you need to access data that is stored in the Active Directory (AD). In these cases, if you’re not experienced with querying the AD, you may be tempted to create a copy of the data you need into a SQL database – however, this would amount to unnecessary data redundancy. Fortunately, pulling data from the AD and using it in your application is much easier than you might think, and allows you to maintain data integrity by keepin...

Continue reading →


How to Use FANUC PC Developer's Kit (PCDK)
Frank May

How to Use FANUC PC Developer's Kit (PCDK)

FANUC offers an easy way to command and configure a robot from a PC using their PC Developer's Kit (PCDK).The kit allows a PC to access variables, registers, IO, programs, positions, and alarms on the robot. Most of the help documentation already covers Visual Basic, so I'll explain how to get started with C#. Installation First step is to install Visual Studio. Visual Studio Community is free and works perfectly for this application. After installing Visual Studio, go...

Continue reading →


The Product Development Process: How to Bring Your Product to Market
Tim Jager

The Product Development Process: How to Bring Your Product to Market

Have you ever had a product design idea? Our engineers created this overview of the product development process to demystify how to bring your product to market.  Learn more about DMC's Custom Software and Hardware Development services.

Continue reading →


DMC Selected to Join Microsoft’s Azure IoT Red Carpet Program
Rick Rietz

DMC Selected to Join Microsoft’s Azure IoT Red Carpet Program

DMC is proud to join Microsoft’s new Azure IoT Red Carpet Program. Partners are individually selected by Microsoft and invited to join the program based on their expertise and proven success in implementing IoT solutions.  By joining, DMC will be listed in Microsoft’s IoT Partner Directory, and gains access to exclusive resources including engineering, marketing, and sales support. This also includes access to a private network of IoT partners to share insight as the Internet...

Continue reading →


Exploring Altium: Using Design Variants
Ryan Taylor

Exploring Altium: Using Design Variants

One of my absolute favorite things about embedded design is watching a product evolve over the development cycle. From unboxing the first prototype all the way to the release of the deluxe commercial model, each revision of the design poses new and interesting challenges. One of these challenges is managing each revision of the electrical schematic and PCB layout in a way that minimizes human error and maximizes automation. Altium Designer has an excellent tool to assist the embedded engineer...

Continue reading →


Page 1 of 9First   Previous   [1]  2  3  4  5  6  7  8  9  Next   Last   

Categories