Categories

Entries for the 'Embedded Design' Category

CMSIS-Pack Integration
Ji-hoon Kim

CMSIS-Pack Integration

In this blog, we'll take a look at how CMSIS-Pack is being integrated with TrueSTUDIO and Atmel Studio 7, two IDEs (integrated development environments) that are commonly used among embedded folks here at DMC. But first... What Is CMSIS-Pack In the past, device selection was dominated by the hardware’s capabilities and specs. As 32-bit microcontrollers became cheaper, the number of viable hardware choices increased and other considerations, such as the software eco...

Continue reading →


Nucleo UART Tutorial
Ji-hoon Kim

Nucleo UART Tutorial

Introduction This tutorial covers the creation of a simple embedded project from the ground up that allows an ST Nucleo development board to talk to your PC using UART serial communication. It is used at DMC to introduce new engineers or engineers who primarily work in other service areas to embedded project work and covers a range of topics, skills, and tools commonly used in DMC Embedded projects including: An Eclipse-based IDE (TrueSTUDIO) Wiring hardware Configuring MCU peripher...

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 →


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 →


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 →


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 →


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 →


Reducing Altium Designer's Hard Drive Usage
Ryan Taylor

Reducing Altium Designer's Hard Drive Usage

Have you noticed your hard drive usage climbing steadily when working with Altium Designer? Here's how you can reduce the disk footprint for each of your PCB projects. Every time you manually save a schematic sheet or PCB design, Altium saves a local, compressed copy. You can compare between versions from the Storage Manager tab and manually delete versions that you no longer care about. This is generally a useful feature; however, if you are already using a version control tool (like Git...

Continue reading →


Introduction to Bluetooth
Alex Krejcie

Introduction to Bluetooth

With the wide adoption of smartphones and the attractive market for the Internet of Things (IOT) and other accessories, Bluetooth connectivity has made its way into many products and most people’s daily life. In the last five years there has likewise been rapid advances in the Bluetooth protocol and its integration in devices. Beyond the consumer applications most people think of when Bluetooth is mentioned, the technology has also proven its worth in the Industrial IoT (IIoT). Thi...

Continue reading →


Pet Project: Turn A Fan Into A Clock
Devon Fritz

Pet Project: Turn A Fan Into A Clock

For those of you with electronics hobbies, here is an interesting pet project that is not very difficult or expensive. In fact, you can find most of the parts lying around your house. The idea is to make an analog display clock. The finished product will have a rotating circuit board that flashes LEDs at the correct time in order to make a floating image of an analog clock. Here is a list of basic materials that you will need: White box fan Perforated board PIC (or any microcontroll...

Continue reading →


Repairing an NI USB-6351 X-Series DAQ
Johnny Sun

Repairing an NI USB-6351 X-Series DAQ

Recently, I’ve needed to do some proof of concept testing for a LabVIEW-based project. The only special I/O requirement for my prototype was a +/- 10V analog output that is capable of sourcing at least 1mA of current. The good news was that DMC owned just the piece of hardware: an NI USB-6351 X-Series DAQ. The bad news was that it was handed to me with the caveat that it doesn’t turn on and may or may not smell bad when plugged in. Undeterred, I resolved to resurrect our $1500 out-of...

Continue reading →


Firmware Programming and Configuration Application for Embedded Device
Alex Krejcie

Firmware Programming and Configuration Application for Embedded Device

In order to support development, deployment, and management of a customer’s embedded device, DMC developed a simple windows GUI using C# and WPF to assist in programming and configuring the device. The program uses a single USB connection for both actions, allowing the customer to simplify connections and have access to all functions even on assembled devices. Technologies Used Texas Instruments MSP430 NET C# (WPF) HID, CDC device interfaces Programming DMC leveraged t...

Continue reading →


Updating Your Rotary Dial Phone for the Digital Age
Boris Cherkasskiy

Updating Your Rotary Dial Phone for the Digital Age

Good-old rotary dial phones have been around since forever, and they used to be a part of everyday life, like dragons during medieval period. However, like dragons, suddenly all these marvelous ancient devices just disappeared one day. I was lucky to find one of these dinosaurs at the local flea market. I was eager to try it out, but unfortunately I don't have a home phone line anymore. I hooked it up to my Voice Over IP (VoIP) adapter that I haven't used in years. It almost worked! W...

Continue reading →


Aiding My Horrible Handwriting With A Polargraph Drawing Bot
Boris Cherkasskiy

Aiding My Horrible Handwriting With A Polargraph Drawing Bot

People who know me have probably noticed that I have pretty bad handwriting skills. I recently realized that apparently there is a pretty scary word for my case: dysgraphia. Fortunately I was growing up long enough ago when this word hadn't yet been discovered, so this diagnosis did not affect my life. There were probably even a few times I benefited from it when my teachers couldn't figure out my scrawls and assumed that I was trying to write something profound. Once upon a time...

Continue reading →


LCD Paint with Nokia 3310 screen and 8051 Microcontroller
Furqan Ayub

LCD Paint with Nokia 3310 screen and 8051 Microcontroller

Engineers at DMC often tend to have fun tech hobbies to work on in their spare time. I worked on such a project a couple years ago and wanted to share it on our blog. I came across this webpage while looking for cool LCD projects: Connect Nokia LCD to LPT port This particular person had connected a Nokia 3310 LCD to a computer’s parallel port and written a PASCAL program to draw on the LCD screen using his mouse. Upon reading this I thought - why not do this with a microcontroller ...

Continue reading →


CTA Bus Tracking with the Raspberry Pi
Ryan Taylor

CTA Bus Tracking with the Raspberry Pi

I've never been much of a morning person; some days, the snooze button on my alarm clock works harder than I do. I also like to take public transit to work as often as possible. An unfortunate side effect of my erratic waking habits is that an extra 30 second delay in leaving sometimes results in missing the bus - and arriving (another) 10 minutes late to the office. Recently, I pulled my Raspberry Pi out of storage and picked up a cheap TFT display and set out to cure my morning woes. ...

Continue reading →


Exploring Altium: Design Rules
Ryan Taylor

Exploring Altium: Design Rules

Some rules are meant to be broken. Unfortunately, none of them apply to PCB design. Designing and developing printed circuit boards can be an unforgiving process: placing a critical analog line just a few millimeters closer to a noisy clock line might be the difference between a functional widget and an expensive drink coaster. Luckily, many modern software tools provide safeguards to catch critical mistakes before they’re sent out to your favorite PCB fabricator. The most fundamenta...

Continue reading →


Improving Battery Life in Low Power Embedded Applications Part 2: Case Study
Alex Krejcie

Improving Battery Life in Low Power Embedded Applications Part 2: Case Study

In Part 1, I talked about how battery capacity is rated and how certain conditions can affect relative battery capacity. This case study will specifically focus on a solution DMC provided for a low power embedded application designed around user interaction with a high base current draw. Many of its principles can be applied to all embedded applications. Active/Sleep Programming One of the first steps DMC took to help improve battery life was to use an active/sleep architecture for running...

Continue reading →


Improving Battery Life in Low Power Embedded Applications, Part 1: Basics
Alex Krejcie

Improving Battery Life in Low Power Embedded Applications, Part 1: Basics

As portable devices become more capable, powerful and smaller, people expect them to have more features, perform better, and replace the functionality of multiple devices. However, while embedded performance has skyrocketed, battery performance has stayed relatively the same. This has forced developers and engineers to be much more conscious of power consumption.   The Simple Case When discussing battery life and power consumption, average current draw is king. If certain electronics...

Continue reading →


Android Connectivity using the Android Open Accessory Development Kit
Ryan Taylor

Android Connectivity using the Android Open Accessory Development Kit

With Android operating system’s market share growing rapidly, the appeal for developers to release their applications on this platform has never been higher. Android is quite developer friendly, and as it matures the variety of applications has been growing steadily. Most Android programs (and really most mobile apps), run on the target device and will interact to the outside world over some sort of wireless network: Wi-Fi, Bluetooth, NFC, etc. However, a much less common (but equally a...

Continue reading →


Page 1 of 3First   Previous   [1]  2  3  Next   Last   

Categories