The Next-Gen Deck

by Marcel Hebert in Circuits > Arduino

6771 Views, 126 Favorites, 0 Comments

The Next-Gen Deck

Image002.jpg

The Next-Gen Deck

By Marcel’s Workshop

I spend a lot of time on Genealogy with subscriptions to many services.
To make it efficient I copy, paste and refresh pages often from one database to another.
I use 3 monitors so I can go from screen to screen to compare data, all while evaluating what I’m looking at.
While doing this I saw that some people were using Stream Decks to edit videos, or to do live feeds on YouTube.
These are quite efficient little kits, they allow you to program buttons to perform functions you do often, or a combination of key presses for fast response.
You can buy these off the shelf for about $200 USD. But I can build one from scratch for about the same price, but it’s tailored to my needs.

The reason I built my own is because although the store-bought stream decks are nice, you need to program the computer to understand the key presses.
I wanted to build a unit where the program is built into the keyboard, and I can connect it to any (Windows) computer and it will work instantly.

Supplies

To build this Deck you need a few parts.

  • · 7-inch Nextion HMI display.
  • · Arduino Leonardo.
  • · WS2812B RGB LED modules x4
  • · Mini Vibration Motor
  • · USB Data Cable

Programing the Nextion Screen

Image003.jpg

When you purchase a Nextion screen you will need to download the Nextion Editor.
Using the editor I set up page 0 as my splash screen

When you first power up the unit this screen will show for 2.5 seconds.

Image004.jpg

Page 1 is where the real work happens.

This page has been set up for the work I do most often. Opening Genealogy web pages, data bases, Google, Facebook, and a few keyboard shortcuts. Some of you may not know this already but F5 is the screen Refresh button.

Image005.JPG

Each of these buttons have a function attached to them. When you press a button a code is sent via the serial port to the Arduino. For example, when I press the Ancestry Logo button the code “65 010201 FF FF FF” is transmitted. This tells the Arduino what button was pressed on which page. Until the Arduino is programmed to understand that code, it will just sit there and stare at you.

In the third row down, second column you see a calendar with the date Sep 14. Genealogy programs have a standard on how the date should be entered. But since I work in multiple languages, I sometimes copy data in French.

For example. The date 3rd of August is “3 août” or the 14th of July is “14 juillet” It’s not a big deal until you have to correct the Birth, Death, and Marriage dates of an entire family. To simplify this I created Page 2 to simply type the Month in the 3 letter abbreviation. I simply highlight the entire word, press the button and it replaces the French version with the 3 letter English version.

Image006.jpg

It’s much easier to just highlight the entire word and retype the 3 letters than to try and change a few letters within the word.

Again, due to the language differences I sometimes need to type special characters.
I created Page 3 as a quick reference for the letters I frequently use in French or Spanish.

Image007.JPG

The only function on this page is the back button which sends you back to Page 1.

Page 4 is the most Dangerous page of all.

There’s only one button on this page but it performs the ALT-F4 command which closes programs and pages.

Unless the page or program has some kind of protection and says “Are you sure” or “Do you want to Save?”

It will close it faster than the blink of an eye.

Page 5 and 6 are interesting ones using the Ball and Pattern Method by Larry Jones.

His method helps in deciphering how you could be related to a DNA match when you don’t know the link in between you and them.

Page 5 is the Single Path Method.

Image008.jpg

Page 6 is the Dual Path Method.

Image009.jpg

I use this system daily, and if you are searching for biological family, this should be your go to system.
Larry has many Genealogy videos on YouTube.
Here’s the link to one of his videos that covers this particular subject.

The Technical Stuff.

We will continue with the Nextion display and the editor used to program it.

The Nextion Editor lets you program the screen it’s used to program any size screen they offer, just pick the screen from the list, if you are not sure which display you have it is on the box and on the back of the display as well.

I will use page 1 as an example of how this unit works.

Image005.JPG

In the top left corner is p0 this is the picture I’m using in the background. I created it in Paint by copying all the Logos from the services I use. Then pasted the Logos in the grid I created. You notice in each of the Logos there is a b followed by a number highlighted in yellow. This identifies the buttons I created for the squares in the grid. For example, Google has b17, so when I press that square a code will be sent via the serial port. Each button has its own code that identifies what button was pressed. in the bottom left corner is button b24, this is a hidden button. It does not show on the display, but only the programmer would know it’s there.

The button b24 was put there so I could go back to look at the splash screen, Since it’s on a timer I only see it for 2.5 seconds. This button lets me go back to the splash screen to inspect my artwork.
( I changed or adjusted it 6 times before I settled on this one.)


Pages 1,2 and 4 all work on the same premise, page 3 is just a picture that I use for reference on special characters. I may add more characters in the future, it will require changing the photo but no changes in programing.

Pages 5 and 6 are a bit different. It is a reference photo but I can toggle the circles from white to yellow individually. This allows me to run through a theory based on DNA centimorgans between the subject and a DNA match.

For example, let’s say I have a match of 225cM
to the person I’m searching for. I would start with the Single Path Method on page 5.

Image011.JPG

Judging from tree of the match I see that they are older than the subject.
So I would stat by pressing on 212 (The closest to 225) This will represent the match

Image012.JPG

After doing some research I find that this person shares a line with the subject on his maternal side.
Armed with this information I work my way up the line on the matches tree towards the left side.

Image013.JPG

As we work our way up, we find that it stops at the matches’ great-grandfather.
We already know that the subject is at 6800 cM, so that leaves us with 2 people in between
the great-grandfather and the subject.

Image014.JPG

It’s certainly easier to search for two people than hundreds of possibilities.
I cannot express to you how valuable this tool has been to me.

Page 6 works the same way but is used more for people with two biological parents that are shared.

Image015.JPG

The Arduino

I started with an Arduino Pro Micro and the program worked great but it would not supply the power needed to run the microprocessor and the 7-inch display. So, I had to move up to an Arduino Leonardo.
In comparison it is much larger but still smaller than the Nextion 7-inch screen footprint.

The wire connections are as follows. WS2812B RBG LEDs were connected to 5 volts, ground, and pin 9 to control the colours. The Mini Vibration Motor is connected to Ground and Pin 13, to turn it on or off. And finally, the Nextion display uses 5 Volts, ground, and serial is connected to pins 10 and 11. The blue wire on 10 and yellow on 11.

Image0016.jpg

The only thing left to do is the Arduino programing.

I’m a newbie at Arduino programing but here is how I managed to get it running.
Download the INO file below.

In closing, you can build your own stream deck with your own graphics for about the same cost of a store-bought system.

If you build one of these, I hope you enjoy using it as much as I do.

Image017.jpg