From LabVIEW Wiki
Jump to: navigation, search

Events - VIWeek


VIWeek is a free community-led virtual event that was first held in 2020 at the time NIWeek would have taken place. The content focuses on both LabVIEW and good software engineering practices. All the sessions are hosted individually by the presenters themselves.

Discussions during presentations happened here:


DSH Workshops had planned to hold a number of workshops at and around NIWeek 2020. Due to the COVID-19 situation, and seeing as NI had also cancelled all live, in-person events, the workshops had to be cancelled, too. In order to entertain the community and keep in touch with their friends, the team (Fabiola De la Cueva, Steve Watts, Joerg Hampel and Brian Powell) decided to hold a series of live, virtual sessions during the week formerly know as NIWeek.

Conversation about these sessions led other LabVIEW Champions and Community leaders to throw around the idea of a new community-led virtual event. When Steve Watts went on to advertise this idea on his blog, VI Week was born. There are many community members to thank, see the #Special Thanks section below.


The speed and simplicity of how this event came together is a testament to the LabVIEW community. It took only about a week to get from the first thoughts to a finalised agenda and an understanding of how to execute the whole event:

  • Mid-April: DSH Workshops decides to hold a series of virtual sessions.
  • April 30: DSH Workshops publishes their events under the #Virtual NIWeek hashtag.
  • May 2: Chris Stryker coins the term #VIWeek, based on the original #Virtual NIWeek.
  • May 3: Steve Watts publishes his blog post.
  • May 7: Enough presentations to fill all 5 originally planned days of NIWeek.[1]

By May 17, the first day of the event, the community has not only come up with now 6 days worth of content, but also agreed on both a plan and tools for organising, advertising, holding, streaming and recording the presentations.

Introduction to VIWeek from Chris Cilino


Presentations (video)

Note: Click the topics below to watch the videos.

Sunday, 17th May 2020

Monday, 18th May 2020

  • DSH #VIWeek Pragmatic SW Engineering by DSH Gang: Fabiola De la Cueva, Steve Watts, Joerg Hampel, & Brian Powell
    Join us and fight the NIWeek blues. In this one-hour event, we (the whole DSH gang: Fab, Steve, Joerg and Brian) will be:
    - talking about who we are and what we do
    - asking you about your needs and pain points
    - answering any questions you might have
  • Philosophy of Coding - How to be a CraftsPerson by Sam Taggart
    A discussion of how what we value and the way we think about the process of developing software affects the end result. No LabVIEW code, just a high level discussion of software engineering. I've got a short presentation on our values at SAS and how we approach software development. I'll give that and I'd like to get some feedback. Then I'd like to have a discussion and ask the audience some questions like, what software qualities are important to you? What processes do you think are critical to ensuring software quality? What quality is most important in a junior engineer? How can we do a better job of training junior engineers?
  • Confessions of a Retired Superhero by Matt Pollock
    Crazy projects demand crazy solutions. Crazy solutions create crazy bugs. Come learn from spectacular failures (or near failures) that have threatened to torpedo other projects so yours will be safe from heroics.

Tuesday, 19th May 2020

  • Proper way to communicate over serial by Tim Robinson
    Too many users look to the Simple Serial Write Read example in LabVIEW and then struggle to achieve solid, robust communication with their instrument. This is because the example does not properly discuss or handle any of the real-world communication schemes instruments use. At this session, explore these schemes and learn how to handle each case.
  • Raspberry Pi / LABVIEW CE and Sensors by Sam Sharp
    Sam will demonstrate/show how to get started programming the Raspberry Pi using the LabVIEW 2020 Community Edition with a live/practical demo. He'll then expand this to show off his open-source library of drivers for a range of off-the-shelf sensors/hats so you can connect your Raspberry Pi to the physical world.
  • Linx Toolkit for Intermediate Robotics with Raspberry Pi by Derrick Bommarito
    I'll be demonstrating how I've used the updated Linx Toolkit for LabVIEW Community Edition to develop remote control and autonomous rovers using the Raspberry Pi along with a handful of sensors. We'll take a look at the high level architecture of the software along with the open source libraries I'm developing that target autonomous robotics projects. We'll also discuss how you can accomplish better performance for more demanding projects by developing custom firmware for arduino clones instead of using the Linx toolkit to interface to microcontrollers.
  • FPGA Advanced Sessions to create a versatile FPGA-based acquisition system by Cyril Gambini
    Creating an FPGA-based acquisition and control system is challenging if the hardware target changes and the bitfiles to load are completely different from one target to the next. Learn how you can handle completely different FPGA personalities within the same application using LabVIEW FPGA Advanced Session Resources. At this session, explore a VeriStand distributed DAQ system featuring multiple CompactRIO devices configured differently based on the test to perform (analyzing the electrical and mechanical behaviors of alternators) and the test's measurement requirements (currently more than 20 different configurations across four target references).
  • 8 Reasons for encapsulating your next device driver inside a DQMH module by Christopher Farmer
    Do you hate it when software throws an awful error if a device is not connected, and it just stops or crashes as a result? Do you have multiple instances of the same device that you need to manage? Do you find that your applications get so cluttered with code specific to managing devices? Do you like to see what a device is up to “under the hood” whilst you run an automated sequence? If you’re facing any of these challenges, then we’re confident this presentation will help you! Using a DQMH module to encapsulate your next device driver will eliminate these issues. Register below to learn how.

Wednesday, 20th May 2020

  • DSH DQMH 5.0 Introduction by DSH - Fabiola De la Cueva & Joerg Hampel
    Hear it directly from the horse's mouth! Learn what's new in DQMH 5.0. In this one-hour event, we (Fabiola and Joerg) will walk you through the new features of DQMH 5.0. We'll also give insights into how these features actually help with our daily work.
  • Efficient Programming in LabVIEW by Tom McQuillan
    In this session, I'm going to showcase Project Templates. After choosing to go down a DQMH route for a project (after being a hardcore Actor Framework user), I realized there were certain aspects of AF I missed. Namely, the ability to reuse messages between modules. In this session, I will showcase a solution to this using Project Templates and how templates could be used for your modular applications. I'll also showcase some scripting tools that were possible using templates.
  • Using a Message Broker with DQMH Actors for High Speed/Throughput Data logging by Chris Roebuck and Becky Linton
    Tasked with creating a hardware agnostic, highly configurable, high-throughput data logger for ADAS applications we implemented the Mediator pattern using multiple modified-DQMH actors with a message broker. In this session we will review the requirements, high level design objectives and review the solution and take a deeper dive in to some of the specific technologies used such as malleable VIs, eDVRs and Message Brokers.
  • Graphical programming beyond G - Use case of LabVIEW integration with Node-RED by Michal Radziwon
    Dataflow programming is not only about G and LabVIEW! There is more and more of other platforms that uses graphical programming and one of them is Node-RED. Node-RED is a programming tool build to ease connecting and automating IoT enabled devices, APIs, and web-services. I will show a use case of integrating LabVIEW with Node-RED using MQTT server - all running on a Raspberry Pi.

Thursday, 21st May 2020

  • CEF (configuration editor framework) by Sreejith Sreenivasan & Vikas Koujalagi
    Configuration files are commonly used to specify application settings and hardware configuration. Manual editing of some of the complex configuration files of hardware systems or applications are often error prone. Shipping a configuration editor can ease the pain but development overheads may outweigh the benefits. Configuration Editor Framework (CEF) from NI Systems Engineering is a versatile framework allowing rapid development of such editors. Development generally take hours instead of days or weeks. This presentation delves in to the features and walks through an example which saves the files in JSON format.
  • Using the new TLS/SSL functions in LabVIEW 2020 by Sam Sharp
    Sam will go through the newly added SSL/TLS functions in LabVIEW 2020 which enables secure TCP/IP communications in LabVIEW. This session should provide enough information to be able to implement secure TCP/IP communications in your own applications and learn why you should. He'll also demonstrate an update to his WebSockets library that enables secure WebSockets (wss://) support - a highly requested feature now possible with LabVIEW 2020.
  • DSH Soft Skills for Software Engineers Discussion by DSH Gang: Fabiola De la Cueva, Steve Watts, Joerg Hampel, & Brian Powell
    Bit of a chat

Friday, 22nd May 2020

  • #VIWeek – Open Your Instruments With A G Interfaces HAL In LV2020 (No Lever Tool Required!!) by Jonathan Hird (Jono)
    The recent release of LV2020 Community edition has opened up the new capability of “Interfaces” into the LVOOP world. I for one am incredibly excited about what this means specifically for Hardware Abstraction Layers. After some initial trudging through the mud and not quite seeing the value in interfaces for my specific needs for a HAL, I decided to scrap what I had, start from scratch and work logically to put together an example of a “Real World” HAL application. In this session we will briefly cover the Why, What and How of HALs and how interfaces may help along with some sample code which will be uploaded for community use as a good starting point.
  • The Core Framework by Denis Stavila
    It's something that I built on top of the Actor Framework and aims at solving several shortcomings that I believe AF has ... plus a lot of tweaks and built-in functionality to make the life of a developer much easier: - Internal broadcast system - Debugging/Monitoring tools - UI structuring and configuration - User Access tools .... etc.
  • Mock Object Framework by Sam Taggart
    I will present an open source tool for creating Mock objects and show how to use them in tests. It will be an informal kind of code review thing. I might put together a few slides on what Mock Objects are so we are all on the same page. After that I will just start with defining the problem and then how I came up with the solution. We will spend a lot of time just looking at the code.

Saturday, 23rd May 2020

  • Fast and Simple Unit Testing with Caraya 1.0 by Francois Normandin and Jim Kring
    Almost everyone writes code to test their code. Caraya, a unit test framework for LabVIEW, makes it simple to turn those test VIs into unit tests that can be reused throughout the life of the project. With a focus on ease of use and lightning fast execution time, Caraya allows you to write and run tests without adding much overhead to your development work. Come see how you can create and run a test in under a minute, run all the tests in your project with a simple QuickDrop shortcut, and integrate your tests into a fully-automated build and deploy process. You’ll also learn about advanced features like running tests on real-time targets, creating custom test report formats, and more!

Special Thanks

  • Chris Stryker for the name.
  • Steve Watts for the organization.
  • Derrick Bommarito for the web portal.
  • Michal Radziwon for the Discord chat server.
  • Quentin "Q" Alldredge for the Logo.
  • Michael Avaliotis of VIShots for the video recording.
  • All of the presenters
  • And many more who will hopefully be added to this list.


  1. LinkedIn Post, Joerg Hampel, May 7th 2020