[01:05.740 --> 01:08.860] Call sign KI7ODK. [01:08.980 --> 01:12.840] Before I begin, I would like to briefly introduce myself. [01:13.320 --> 01:18.920] I have been an amateur radio operator since 2017, and currently hold a U.S. general class [01:18.920 --> 01:20.020] license. [01:20.420 --> 01:24.420] I am an aerospace engineer by profession, and I'm just about to receive my master's [01:24.420 --> 01:26.420] degree in that same field. [01:26.420 --> 01:31.520] Some of my interests related to amateur radio and engineering are emergency preparedness, [01:31.520 --> 01:35.420] computer hardware and programming, and computer networking. [01:36.080 --> 01:44.160] Today, I will be presenting about single-board computers, or SBCs, and their use in amateur [01:44.160 --> 01:45.200] radio. [01:45.220 --> 01:50.600] For those who are not familiar with SBCs, I will first go over what an SBC is. [01:50.600 --> 01:54.300] We will then look into some of the advantages of SBCs. [01:54.700 --> 01:59.000] The majority of my experience with single-board computers has dealt with the Raspberry Pi, [01:59.400 --> 02:03.600] so I will be focusing my presentation today on the Raspberry Pi. [02:03.660 --> 02:11.260] However, the Pi, as it is also known, is not the only SBC out there, so I will also be [02:11.260 --> 02:15.120] showing a couple other options that you can look into if you're interested. [02:15.460 --> 02:21.040] My plan today is to dedicate most of my presentation to introducing the Raspberry Pi, showing you [02:21.040 --> 02:26.020] the various models of the Pi that are available, walk you through how to set up the Raspberry [02:26.020 --> 02:32.080] Pi OS, and then show you just some of the many things that you can do using a Raspberry [02:32.080 --> 02:35.300] Pi in the sphere of amateur radio. [02:35.640 --> 02:38.360] So with that, let's jump right in. [02:39.660 --> 02:46.200] Now a typical desktop or laptop and computer generally includes the following components. [02:46.580 --> 02:51.040] A motherboard, which serves to interconnect the computer's various components. [02:51.040 --> 02:55.800] Random Access Memory, or RAM, also known simply as memory. [02:56.360 --> 03:01.380] A Central Processing Unit, or CPU, also just called the processor. [03:02.940 --> 03:06.580] A graphics card, or graphics processing unit. [03:07.660 --> 03:10.020] A hard drive for data storage. [03:10.380 --> 03:12.460] And a power supply. [03:13.380 --> 03:19.980] The pictures shown here for each of these components are showing what they may appear [03:19.980 --> 03:21.900] like in a desktop computer. [03:22.160 --> 03:26.520] While the same components used for laptop computers are usually more compact, the function [03:26.520 --> 03:29.780] for each of these components is still the same. [03:30.260 --> 03:34.960] As the name implies, a single board computer is a computer that has all of its essential [03:34.960 --> 03:37.560] components assembled onto one board. [03:38.080 --> 03:42.580] As noted in the explanation from Wikipedia, this usually includes, but is not limited [03:42.580 --> 03:48.160] to, a microprocessor, memory, and input-output connections. [03:50.670 --> 03:57.090] Because all of these components are built onto a single board, SBCs have several advantages [03:57.910 --> 04:00.670] over their desktop and laptop counterparts. [04:01.490 --> 04:06.770] First, modern single board computers are small and compact. [04:06.990 --> 04:12.450] Similarly, they are very lightweight, even when compared to the lightest laptop computers [04:12.450 --> 04:13.910] available today. [04:14.070 --> 04:19.890] Their small and lightweight nature makes SBCs great for portable and or space-constrained [04:19.890 --> 04:21.110] uses. [04:22.370 --> 04:24.670] SBCs are also very versatile. [04:25.150 --> 04:29.250] Because most SBCs run on Linux, they are very customizable. [04:29.890 --> 04:36.490] Many SBCs also include what are known as GPIO, or General Purpose Input-Output connections. [04:36.690 --> 04:39.610] I'll explain a little bit more about that later. [04:40.070 --> 04:46.070] GPIO pins can be very useful for amateur radio and electronics purposes and projects. [04:47.790 --> 04:53.690] Next, the use of smaller, low-power components on SBCs means that single board computer systems [04:53.690 --> 04:56.730] often require very little power to run. [04:57.010 --> 05:03.070] And finally, devices such as the Raspberry Pi have a large community of users that continue [05:03.550 --> 05:04.730] to grow. [05:05.290 --> 05:09.370] This means that there is a large group of people you can turn to for support with your [05:09.370 --> 05:11.950] projects or to get ideas from. [05:12.280 --> 05:13.990] Now let's be clear. [05:14.290 --> 05:19.970] Single board computers are great, however, they do have some disadvantages. [05:21.760 --> 05:29.350] Because SBCs are smaller and use small, low-power components, their processing power is limited [05:29.350 --> 05:32.210] compared to a desktop or laptop computer. [05:32.450 --> 05:37.650] However, this disadvantage has become less of a problem in recent years as the processing [05:37.650 --> 05:41.010] power of SBCs has increased noticeably. [05:41.690 --> 05:46.650] Another point that many may consider a disadvantage is the fact that single board computers typically [05:46.650 --> 05:48.370] cannot run Windows. [05:48.650 --> 05:54.310] Especially in amateur radio, there are many programs that can only run on Windows. [05:54.310 --> 05:59.350] However, I myself do not consider this a great disadvantage. [06:00.270 --> 06:08.090] The Windows operating system is great for home and office use where your Windows updates [06:08.090 --> 06:10.950] probably don't mess you up too much. [06:11.660 --> 06:17.250] In the end, Windows is not known for being the most stable operating system. [06:17.750 --> 06:23.130] And let me just say right now, SBCs are not built or intended for hardcore gaming use [06:23.130 --> 06:23.850] either. [06:24.010 --> 06:27.030] Yes, you can run Minecraft on a Raspberry Pi. [06:27.030 --> 06:30.230] You can also set up a Pi to run classic arcade games. [06:30.850 --> 06:35.450] Just don't expect to be playing Call of Duty or something similar on a Pi, as is typically [06:35.450 --> 06:37.610] done on a Windows desktop computer. [06:38.690 --> 06:42.830] Now that I've said that, some of you may go out there to prove me wrong, and that's perfectly [06:42.830 --> 06:43.270] fine. [06:43.270 --> 06:44.670] All the more power to you. [06:44.690 --> 06:48.050] I would love to see if you could run Call of Duty on a Raspberry Pi. [06:48.250 --> 06:50.170] However, I digress. [06:50.170 --> 06:51.990] That's not the point of this presentation. [06:52.730 --> 06:58.890] Hopefully, this simply gives you a good idea of what SBCs are great for, and what areas [06:58.890 --> 07:02.690] they aren't generally intended to be used in. [07:04.910 --> 07:10.910] After going through those advantages and disadvantages, we can begin to see why single-board computers [07:10.910 --> 07:12.770] are great for amateur radio. [07:13.430 --> 07:19.690] As digital modes continue to grow in use and popularity, we will see an increasing use [07:19.690 --> 07:22.270] of computer-connected radios. [07:22.270 --> 07:29.750] SBCs do great running digital modes, and as I mentioned earlier, are also great for interfacing [07:29.750 --> 07:31.230] with electronics. [07:31.490 --> 07:36.390] This could allow you to easily set up a push-to-talk circuit using an SBC. [07:36.690 --> 07:39.050] And that's just one simple example. [07:39.390 --> 07:44.690] Now even though Windows doesn't typically run on SBCs, almost anything you can do on [07:44.790 --> 07:50.210] a Windows computer for amateur radio can also be done on an SBC. [07:51.130 --> 07:56.030] Looking at the advantages listed in the previous slide, we can see that SBCs are great for [07:56.030 --> 08:01.490] portable operations, such as summits on the air and field day. [08:01.830 --> 08:08.030] And as I alluded to earlier, Linux is a great and very stable operating system. [08:08.570 --> 08:13.810] It's also open source, which means that you don't have to pay for the OS itself. [08:16.660 --> 08:20.460] Here are some quick examples of single-board computers that are available on the market [08:20.460 --> 08:21.300] today. [08:21.300 --> 08:25.240] Now the first I have already mentioned is the Raspberry Pi. [08:25.920 --> 08:32.400] The Raspberry Pi is probably, by far, the most well-known and popular single-board computer [08:32.400 --> 08:34.100] available right now. [08:34.580 --> 08:36.880] Next is the BeagleBone Black. [08:37.160 --> 08:42.100] The BeagleBone shares some features with the Raspberry Pi, but includes a different processor [08:42.820 --> 08:46.040] and GPIO setup, as you can see in that picture. [08:46.860 --> 08:50.580] The other example that I have shown here is the BananaPi. [08:50.580 --> 08:56.280] Now I honestly don't know too much about the BananaPi, but from what I've read, its design [08:56.280 --> 09:00.600] was partially inspired by the Raspberry Pi, as you can probably see in that picture. [09:00.940 --> 09:04.640] There are multiple other single-board computers out there that you can get. [09:04.660 --> 09:09.320] Feel free to look around and see what interests you and what fits your needs. [09:10.600 --> 09:16.020] Alright now that I have gone over and given a general explanation about single-board computers, [09:16.800 --> 09:20.780] I will be talking from here on out specifically about the Raspberry Pi. [09:21.220 --> 09:26.540] The original Raspberry Pi board was released in 2012 by the Raspberry Pi Foundation. [09:27.460 --> 09:33.860] As of the end of last year, 2019, over 30 million Raspberry Pi boards have been sold. [09:34.140 --> 09:38.980] Today, the Pi is available in three main form factors. [09:39.000 --> 09:42.820] The first and most popular is the full-sized Model B. [09:42.820 --> 09:52.660] The Model B includes four USB ports, an Ethernet port, GPIO header pins, an audio output, HDMI [09:52.660 --> 10:00.460] output or outputs, depending on the model, a display ribbon output, a camera ribbon connector, [10:00.610 --> 10:02.740] and a power input. [10:03.450 --> 10:06.740] The second form factor is known as the Model A. [10:06.740 --> 10:14.860] This model has one USB port, an HDMI output, a display ribbon output, GPIO pins, an audio [10:14.860 --> 10:19.380] port, a camera ribbon input, and a power connection. [10:20.040 --> 10:29.900] And last, the Pi Zero includes only GPIO headers, an HDMI output, USB connection, ribbon connection, [10:29.900 --> 10:31.740] and power input. [10:32.140 --> 10:39.780] The base Zero model does not include wireless capabilities, however the Zero W does. [10:39.840 --> 10:46.200] You can also buy versions of the Zero W with pins pre-soldered onto the GPIO headers to [10:46.200 --> 10:49.180] make it easier to do those connections. [10:51.660 --> 10:56.600] Now here is a table showing the different Raspberry Pi revisions and models that have [10:56.600 --> 10:59.980] been released since the first Raspberry Pi. [11:00.260 --> 11:07.020] The most popular models currently available are the Raspberry Pi 3B+, and the Raspberry [11:07.020 --> 11:08.500] Pi 4. [11:08.880 --> 11:16.780] The 4 is now available with 2, 4, or 8 gigabytes of RAM, even though this table doesn't show [11:16.780 --> 11:18.580] the 8 gigabyte model. [11:20.080 --> 11:24.260] The 3A+, typically sells for about $25. [11:24.260 --> 11:30.640] The 3B+, and the 4B 2 gigabyte models, both currently sell for $35. [11:30.860 --> 11:35.900] You can see the other prices that I have listed there on the right for the various models [11:35.900 --> 11:36.960] as well. [11:37.300 --> 11:44.740] Notice that the price increases about $20 for each successive increment of RAM if you're [11:44.740 --> 11:47.000] ordering the Raspberry Pi 4. [11:49.500 --> 11:53.460] To buy a Pi, I would recommend going to raspberrypi.org. [11:53.460 --> 11:59.080] The Raspberry Pi Foundation maintains a list of approved resellers on their website. [11:59.520 --> 12:04.220] I would recommend that you avoid buying from Amazon.com and other similar sites. [12:04.600 --> 12:10.520] Because of the popularity of the Raspberry Pi, sellers commonly try to buy stock from [12:10.520 --> 12:14.180] the approved resellers, and then resell it at a markup. [12:14.840 --> 12:17.520] I personally prefer to buy from Adafruit. [12:17.520 --> 12:21.400] However, any of these resellers shown here are great. [12:21.400 --> 12:27.180] Be aware that you can purchase the boards or computers alone, or in a kit. [12:27.540 --> 12:31.740] The kits are nice if you're just starting out, but they can be a little more expensive. [12:33.340 --> 12:37.920] Keep in mind that there are a couple components that you need to run your Pi, in addition [12:37.920 --> 12:39.680] to just the board itself. [12:40.980 --> 12:43.520] The first of those is an SD card. [12:43.700 --> 12:46.740] The SD card is essentially the hard drive of the Pi. [12:47.100 --> 12:49.780] It slides into a slot at the bottom of the board. [12:50.820 --> 12:53.140] The next is a power supply. [12:53.560 --> 12:58.180] With just a power supply and an SD card, you can run what is known as a headless Raspberry [12:58.180 --> 12:59.180] Pi setup. [12:59.260 --> 13:03.320] In other words, the Pi is not connected to any external displays. [13:04.020 --> 13:06.960] This is how I run most of my Pis. [13:07.320 --> 13:11.080] I have my Pis set up so that I can control them remotely over my home network. [13:11.480 --> 13:16.660] I also have the Raspberry Pi I use for portable operations set up to create its own wireless [13:16.660 --> 13:19.640] network when I am out of range of my home network. [13:20.000 --> 13:26.680] This allows me to connect to the Pi using any other wireless computer, tablet, or smartphone [13:27.430 --> 13:31.500] and remotely control the Raspberry Pi while I'm out operating. [13:33.230 --> 13:38.440] To start out, it is often nice to hook up your Pi to an HDMI display, a keyboard, and [13:38.440 --> 13:39.320] mouse. [13:39.320 --> 13:44.300] This can help you set it up and go through the initial configuration process. [13:44.780 --> 13:48.100] I also like having my Pis in a case. [13:48.500 --> 13:53.620] Now a case is not necessary, but it can help protect your Pi and the components on the [13:53.620 --> 13:54.380] board. [13:55.520 --> 14:01.740] Alright, now that we've gone over all of that, it's time to jump into setting up a Pi. [14:02.400 --> 14:07.440] To set up your Raspberry Pi, you will first need two things in addition to your laptop [14:07.440 --> 14:08.880] or desktop computer. [14:08.880 --> 14:16.760] First of those, as we mentioned earlier, is a micro SD card to set up and to install [14:16.760 --> 14:18.040] the OS on. [14:18.180 --> 14:22.940] The next thing you'll need for the SD card is an SD card reader of some sort that you [14:22.940 --> 14:26.440] can plug into your computer so you can set it up and image it that way. [14:26.920 --> 14:32.020] Once you have that plugged up into your computer, we'll then use one of two applications to [14:32.020 --> 14:34.220] format and image this card. [14:36.560 --> 14:46.960] On the computer, we can use, like I mentioned, one of two applications to image the SD card. [14:47.960 --> 14:52.980] The Raspberry Pi Foundation has recently released the Raspberry Pi Imager application, which [14:52.980 --> 14:56.200] makes it very easy to set up the SD card. [14:56.560 --> 14:59.680] First we need to choose the operating system version that we want. [14:59.820 --> 15:05.500] Now the one that they recommend currently is the Raspberry Pi OS with the desktop environment. [15:05.500 --> 15:11.040] This will simply install the full operating system on your SD card and will include the [15:11.040 --> 15:15.080] desktop environment so you can interact with the Pi just as you would any other desktop [15:15.080 --> 15:17.980] computer using a keyboard and mouse. [15:18.480 --> 15:23.400] There is other options that you can select here, such as Ubuntu, which is another type [15:23.400 --> 15:28.160] of Linux, RetroPie for retro gaming, and things like that. [15:28.220 --> 15:34.280] If you select Other Images for the Raspberry Pi OS, you can see that they have two other [15:34.280 --> 15:35.340] options here. [15:35.340 --> 15:37.780] The first is the Lite option. [15:38.000 --> 15:45.140] The Lite OS image installs the OS with a command line interface only, so no desktop interface [15:45.140 --> 15:46.560] will be included. [15:47.900 --> 15:55.620] The second one here is the Full OS, so that will install the full desktop operating system [15:56.140 --> 16:01.580] with a set of recommended applications, so you can have those applications already installed [16:01.580 --> 16:04.360] and ready to go for your first use. [16:06.180 --> 16:10.280] Once you select the operating system that you would like to use, for this example I'll [16:10.280 --> 16:15.600] go ahead and select the recommended one, you then choose your SD card, and then you click [16:15.600 --> 16:16.560] Write. [16:16.560 --> 16:22.960] It will download the operating system image from the internet and then write it to your [16:22.960 --> 16:24.000] SD card. [16:25.460 --> 16:30.260] The second application that you can use, which is no longer recommended, but I'm going to [16:30.260 --> 16:35.620] be using it today just for speed, is Bylena Etcher. [16:37.130 --> 16:48.020] This application, you simply select an image that you've already downloaded, I have mine [16:48.020 --> 16:54.620] here in OS Images, and I have the full image here to select. [16:55.020 --> 17:03.000] You then make sure it has your SD card selected there for the drive, and then you click Flash. [17:04.760 --> 17:09.820] Now this will take a little bit to flash or image the card, so I'll come back to you after [17:09.820 --> 17:10.740] it's done. [17:14.200 --> 17:19.420] Alright, Etcher is almost done flashing the image to our SD card. [17:19.760 --> 17:25.020] Now I didn't mention earlier, but I'm using Etcher right now because I already downloaded [17:25.020 --> 17:30.160] the image online, as you saw, and I found that Etcher can be a little bit faster if [17:30.160 --> 17:31.240] you do that. [17:31.900 --> 17:37.160] The Raspberry Pi imager does take a little bit longer, simply because it has to first [17:37.160 --> 17:40.360] download the image from the internet, like I mentioned earlier. [17:40.640 --> 17:48.040] I believe that once you have used the Raspberry Pi imager, once or twice, it will actually [17:48.040 --> 17:50.900] store that image somewhere on your computer. [17:50.920 --> 17:55.440] So if you use it sequentially multiple times, it will be faster in the future, and it will [17:55.440 --> 17:59.560] simply use that downloaded image to flash to your SD cards. [17:59.560 --> 18:04.000] Alright, Etcher is going to now take some time to validate the image that we just flashed [18:04.000 --> 18:08.200] to our card, so I'll come back right after that has finished. [18:09.220 --> 18:16.120] Etcher is about done validating the image that has been flashed to the SD card. [18:16.120 --> 18:22.640] While that's finishing up, let me show you really quick where you can download the Raspberry [18:22.640 --> 18:26.320] Pi OS images and the Raspberry Pi imager. [18:26.660 --> 18:31.820] If you just go to raspberrypi.org, all you have to do is come up and click on the Downloads [18:31.820 --> 18:33.400] page up here. [18:33.460 --> 18:40.160] You can then download the imager application for Windows, Mac, or Ubuntu Linux. [18:40.440 --> 18:47.620] You can also directly download the images for the OS by going down here and scrolling [18:47.620 --> 18:48.580] down. [18:48.580 --> 18:51.180] As we can see, the flash is now complete. [18:53.240 --> 19:01.000] Alright, now that that's done, at this point, you can remove the SD card from your computer, [19:01.000 --> 19:04.800] plug it into your Pi, and power up your Raspberry Pi. [19:04.880 --> 19:10.900] If you were to hook your Raspberry Pi up to a monitor, keyboard, and mouse to complete [19:10.900 --> 19:12.120] the rest of the setup. [19:12.420 --> 19:19.920] However, I am now going to continue on and set up my Raspberry Pi for a headless setup. [19:21.840 --> 19:28.100] Now, in my case here, I have to remove the SD card and put it back into my computer in [19:28.100 --> 19:30.600] order for the computer to load up the card again. [19:30.800 --> 19:34.060] So now that I'm done with Balana Etcher, I'll go ahead and close that out. [19:34.300 --> 19:41.120] And you can see here that I have a drive showing up in my USB drive E now. [19:41.440 --> 19:47.940] You can see all these files here are from the image that just got flashed to the card. [19:48.300 --> 19:53.700] What's going to happen is once we plug this into the Raspberry Pi, the first time the [19:53.700 --> 19:59.380] Pi boots up, it will take all these files and it will actually set up the OS. [19:59.560 --> 20:06.860] So the files you see here are not necessarily the same way they're going to show up once [20:06.860 --> 20:10.220] you have the OS set up and have run the Pi for the first time. [20:10.600 --> 20:16.540] The first thing I'm going to do here is I'm going to follow the instructions here on the [20:16.540 --> 20:22.620] raspberrypi.org documentation for setting up a Raspberry Pi headless. [20:23.780 --> 20:27.780] Now you can see the first things you want to do here is if you're going to connect to [20:27.780 --> 20:33.220] your Raspberry Pi with a wireless network, you need to set it up so it will connect to [20:33.220 --> 20:34.160] your network. [20:34.600 --> 20:39.440] If you're going to set it up and connect it with an Ethernet cable, you don't have to [20:39.440 --> 20:40.800] worry about this step here. [20:40.800 --> 20:42.760] But I'm going to go ahead and set this up. [20:42.760 --> 20:48.200] So what we want to do is we are going to set up what's called a WPA supplicant configuration [20:48.200 --> 20:49.220] file. [20:49.860 --> 20:53.120] The contents of that file are shown here. [20:53.120 --> 20:59.740] So I'm going to simply copy that and paste that over to my Notepad Plus document here. [21:01.040 --> 21:05.580] We need to first verify that the settings are correct here. [21:05.820 --> 21:10.560] So the first thing we'll check is to make sure that the country code is set. [21:10.560 --> 21:13.700] In my case, that will be US. [21:15.080 --> 21:24.860] You will then put in here the name of your network and whatever your password is for [21:24.860 --> 21:28.860] your network in the PSK spot. [21:30.380 --> 21:42.320] If your network is open and has no password, you can set that up by following the directions [21:42.320 --> 21:45.560] for unsecured networks shown here. [21:45.560 --> 21:52.960] So all you would do is put in key underscore MGMT equals none instead of having a password [21:52.960 --> 21:54.640] there in the file. [21:57.040 --> 22:06.760] So we're going to take that file and we're going to save that into our SD card there. [22:06.760 --> 22:17.980] And I'll make sure that that is named WPA underscore supplicant dot CONF. [22:19.680 --> 22:21.080] Save that there. [22:21.220 --> 22:27.400] And when the Pi boots up for the first time, it will detect that file and it will set up [22:27.980 --> 22:29.600] the wireless networking. [22:29.620 --> 22:34.040] Now you notice Windows changed it to .conf.txt. [22:34.040 --> 22:35.680] So I'm going to go in there. [22:35.680 --> 22:41.160] And I'm going to make sure that it's .conf and not .conf.txt. [22:44.380 --> 22:48.460] And yes, Windows is going to ask me if I want to do that, and I'm going to say yes. [22:48.920 --> 22:55.760] All right, the next thing that I'm going to do here is I'm going to create a new file [22:55.760 --> 22:56.780] in here. [22:57.900 --> 23:04.000] Just a text document, and I'm just going to call it SSH with no suffix. [23:04.620 --> 23:06.700] And I'm going to say yes. [23:07.160 --> 23:16.480] Now with that SSH file in there, that will enable the SSH interface the first time the [23:16.480 --> 23:18.060] Raspberry Pi boots up. [23:18.380 --> 23:22.500] SSH is simply a remote control interface that you can do over command line. [23:22.760 --> 23:28.000] And that's one thing that I use a lot with my Raspberry Pis that I'm remote controlling. [23:28.500 --> 23:35.420] So now that I have those two things set up, all that's left to do is to plug the SD card [23:35.420 --> 23:38.880] into the Pi and plug it into power. [23:42.800 --> 23:47.180] So what we'll do is we'll go ahead and grab our SD card, and we'll go ahead and put that [23:47.180 --> 23:50.900] in the SD card slot on the bottom of the Raspberry Pi. [23:51.320 --> 23:56.480] You just insert that straight in there until it goes in all the way. [23:57.700 --> 23:59.100] It's not really hard to put in. [23:59.100 --> 24:03.540] You won't feel a click, but just make sure it goes in all the way so it's connected properly. [24:03.660 --> 24:09.060] You'll then take your Raspberry Pi and hook it up to your power supply by hooking that [24:09.060 --> 24:10.580] into the power in slot. [24:10.880 --> 24:16.260] Now today, I'm simply going to be using a USB power bank to power my Pi as well for [24:16.260 --> 24:17.580] setup and demonstration. [24:21.880 --> 24:27.460] Alright once the Raspberry Pi has started up, you'll see the red light and green light [24:27.460 --> 24:29.940] start to flash on the Raspberry Pi itself. [24:30.680 --> 24:34.920] Give the Pi a minute or so to boot up and set up the OS. [24:35.260 --> 24:42.400] And then, to complete the setup for the headless portion of the tutorial right now, what I'm [24:42.400 --> 24:46.100] going to do is I'm going to go ahead and connect to the Pi using SSH. [24:46.160 --> 24:50.240] Now there's multiple programs you can use to do SSH. [24:50.300 --> 24:54.640] One of the popular ones is called PuTTY, P-U-T-T-Y. [24:54.640 --> 24:59.580] Go ahead and Google that and you can download that and use that for SSH. [24:59.950 --> 25:06.580] What I do is I use the Windows subsystem for Linux feature that's currently on Windows [25:06.580 --> 25:07.340] 10. [25:07.340 --> 25:14.380] So I'm going to go ahead and pull up my Ubuntu installation and all you have to do in this [25:14.380 --> 25:23.320] case is just type in ssh pi at and then the IP address of your Pi on your network. [25:23.320 --> 25:28.360] You'll have to figure that out, what IP address your Pi connected with. [25:29.040 --> 25:33.500] I'm going to go ahead and hit enter here and the first time I connect to this host it's [25:33.500 --> 25:36.760] saying that the authenticity of the host cannot be established. [25:36.940 --> 25:40.140] Well that's fine because this is the first time I'm connecting to the host after it's [25:40.140 --> 25:40.780] been set up. [25:40.780 --> 25:43.340] So I'm just going to say yes, that's fine. [25:43.620 --> 25:45.600] Now it's going to ask me for the password. [25:46.000 --> 25:50.340] Now notice that Pi I put in is the default username. [25:50.720 --> 25:55.660] And the default password for the Raspberry Pi is simply raspberry. [25:57.720 --> 26:03.540] So I type that in and apparently I did not type it correctly. [26:06.540 --> 26:08.360] Let's see if I... there we go. [26:08.460 --> 26:15.120] So once you're in and connected correctly you'll see the prompt there to change your [26:15.120 --> 26:15.960] password. [26:15.980 --> 26:18.960] You'll want to do that if you're leaving your Pi connected at all. [26:18.960 --> 26:25.620] What I'm going to do here is I'm going to enter raspi underscore config. [26:29.180 --> 26:31.540] And I'm going to have to look at the command now. [26:33.620 --> 26:39.200] So what I want to do is I'm going to set up here some interfaces. [26:39.760 --> 26:44.780] And I want to set up primarily VNC so I can remote control this Pi graphically. [26:45.280 --> 26:51.160] So what I want is enabling this option at the command line. [26:51.160 --> 26:53.860] Oh, and I wanted a dash, not an underscore. [26:53.860 --> 26:55.220] So I was pretty close. [26:56.360 --> 27:00.640] But I'm just going to do dash and that will bring up this. [27:00.740 --> 27:04.220] It's telling me I need to do it as a root or basically as an admin user. [27:04.220 --> 27:10.180] So I just need to do sudo as pi config. [27:13.040 --> 27:18.640] All right, now that this has come up, you can use the keyboard here to navigate through [27:18.640 --> 27:19.200] this menu. [27:19.200 --> 27:27.160] I'm just going to do down arrow, two interfacing options, and I'm going to go over arrow, right [27:27.160 --> 27:29.400] to select, and I'm going to hit enter. [27:30.140 --> 27:33.420] And then I'm going to say VNC. [27:33.420 --> 27:39.860] I want to select and I want to enable the VNC server. [27:40.280 --> 27:42.060] It's now telling me that that's enabled. [27:42.780 --> 27:46.000] And that should be the only thing that I have to do right now. [27:46.180 --> 27:50.760] You can enable the other interfaces or explore the options right here that you have. [27:51.920 --> 27:58.040] So what I'm going to do is I'm just going to do now go over over to finish and hit finish. [27:58.160 --> 28:04.320] And now I'm going to do sudo reboot to restart the Pi. [28:05.420 --> 28:09.320] It will close the SSH connection and it will reboot the Pi. [28:09.980 --> 28:14.400] What we're going to do now is we will wait for the Pi to reboot so we can now connect [28:14.400 --> 28:16.660] with it with VNC. [28:17.500 --> 28:23.920] VNC is automatically installed on the Raspbian or the Raspberry Pi operating system. [28:24.060 --> 28:26.620] Like we just saw, I just enabled the server. [28:26.620 --> 28:34.900] So what you want to do is you can download the VNC viewer for your computer. [28:36.580 --> 28:43.580] It's available for Windows, Mac, Linux, and there's also applications available for iOS [28:43.580 --> 28:44.780] and Android. [28:44.880 --> 28:48.280] So you can use those devices to remote control your Raspberry Pi as well. [28:48.440 --> 28:52.180] Once you download that and install it, you can then connect to your Raspberry Pi. [28:52.720 --> 29:00.700] So I'm going to pull up VNC viewer and these are a few of my devices here that I often [29:00.700 --> 29:01.760] connect to. [29:02.800 --> 29:04.880] Mine is 0.36. [29:04.880 --> 29:09.840] Now since I have reinstalled the operating system on my Raspberry Pi, its catchphrase [29:09.840 --> 29:11.520] and signature have changed. [29:11.540 --> 29:16.600] So that's why it's alerting me here to this identity check failure. [29:17.060 --> 29:20.040] I already know about that so I'm just going to click continue and I'm going to put in [29:20.040 --> 29:25.440] the same password, raspberry, and connect to it. [29:26.240 --> 29:27.480] There we go. [29:28.040 --> 29:31.060] Alright, now it's going to give us a couple of warnings because we haven't changed the [29:31.060 --> 29:31.660] password. [29:31.660 --> 29:32.580] That's fine. [29:32.900 --> 29:40.040] So the last thing that I'm going to go through right now is just show you this wizard that [29:40.040 --> 29:41.580] helps you set up the Raspberry Pi. [29:41.580 --> 29:45.920] It simply goes through and this is the graphical way that you can set up your Raspberry Pi. [29:49.030 --> 29:51.890] First of all, make sure you've set up your country. [29:52.450 --> 29:55.910] That's the thing that we set up earlier when we set up the wireless configuration. [29:58.490 --> 30:01.570] Alright now it gives you an opportunity to change the password. [30:02.390 --> 30:05.030] You would enter your new password here and confirm it. [30:05.650 --> 30:08.490] I'm not going to worry about that right now but that's something I definitely encourage [30:08.490 --> 30:09.230] you to do. [30:10.470 --> 30:14.810] This gives you the opportunity here if you're using a monitor to make sure that the screen [30:14.810 --> 30:16.470] is set up properly. [30:16.970 --> 30:19.030] I'm not going to worry about that right now. [30:19.610 --> 30:23.350] And then here is where you can set up your wireless networks if you haven't already. [30:23.470 --> 30:25.010] So I'm going to go ahead and skip that. [30:25.270 --> 30:32.110] And then finally, it gives you a prompt to update the system software and I would recommend [30:32.110 --> 30:35.970] you do that at the end of your setup here just to make sure that everything is up to [30:35.970 --> 30:39.210] date even though we just barely installed the operating system. [30:39.250 --> 30:42.850] So most everything should be up to date but it's a good idea to check that. [30:43.890 --> 30:48.450] The very last thing that I will do here is you can notice that the screen size for the [30:48.450 --> 30:50.930] VNC viewer is a little small here. [30:51.010 --> 30:56.370] What I'm going to go ahead and do is we can change that by going into the preferences [30:57.130 --> 31:00.250] and into Raspberry Pi configuration. [31:00.610 --> 31:09.810] If we go into display and set resolution, we can then make the VNC server emulate a [31:09.810 --> 31:10.850] larger display. [31:10.850 --> 31:20.050] So I'm going to just select 1280x720 and we'll go ahead and make sure that that is confirmed. [31:20.090 --> 31:21.490] Can I get down to the... [31:21.490 --> 31:24.750] Hopefully if I just close it, okay. [31:24.750 --> 31:29.170] So it is going to confirm the settings there and it's just going to reboot the Pi. [31:29.370 --> 31:35.670] So what will happen is the VNC viewer here will wait for the Pi to reboot and it will [31:35.670 --> 31:36.450] reconnect. [31:36.670 --> 31:37.490] And here we are. [31:37.490 --> 31:39.030] We have a slightly larger screen. [31:39.030 --> 31:42.710] So you can set that resolution to whatever fits your setup and needs. [31:44.870 --> 31:49.990] Now that we have set up a Raspberry Pi, it's up to you to explore and figure out just what [31:49.990 --> 31:52.570] you can do with a Raspberry Pi. [31:53.030 --> 31:58.510] Pis are great for use in emergency communications and can enable effective communications for [31:58.510 --> 32:01.410] Ares and Skywarn groups. [32:01.870 --> 32:06.670] Using a software TNC such as Direwolf makes it really easy to hook a sound card up to [32:06.670 --> 32:12.730] the Pi and your radio for things such as Winlink and APRS. [32:12.970 --> 32:22.090] Other digital applications such as JSA Call and WSJTX work great on the Pi. [32:22.470 --> 32:26.990] You can even hook your Raspberry Pi up to a software-defined radio device to expand [32:26.990 --> 32:28.970] the capabilities of your setup. [32:29.470 --> 32:34.310] These are just a few examples of what you can do with a Raspberry Pi. [32:34.310 --> 32:37.670] And honestly, the sky is the limit. [32:39.590 --> 32:44.790] Now I'm going to show you my setup and how I use my Raspberry Pi in amateur radio while [32:44.790 --> 32:46.190] I am out operating. [32:48.390 --> 32:51.410] So this is my portable setup as I currently have it. [32:51.470 --> 32:58.550] Here I have a Kenwood TM-V71 interfaced with my Raspberry Pi 3B+. [32:59.330 --> 33:06.790] The Raspberry Pi is hooked to a sound card and an RT-Systems control or programming cable, [33:06.790 --> 33:10.770] which are both then hooked into the back of the TM-V71 here. [33:11.090 --> 33:17.190] The Raspberry Pi is also hooked up to a 12V to 5V power converter. [33:18.210 --> 33:23.650] If you don't want to hook your Raspberry Pi into your 12V battery system, you can also [33:23.650 --> 33:28.610] consider using a USB power bank, as I mentioned earlier. [33:29.130 --> 33:35.590] A power bank such as this will power your Pi for quite a few hours out in portable operations. [33:37.910 --> 33:43.610] Now I'm going to give you a close-up of how this setup is currently arranged. [33:44.490 --> 33:49.250] So here is the USB sound card that I mentioned that's currently hooked up to the Pi. [33:49.930 --> 33:56.070] Typically you want to use a USB or external sound card because the Raspberry Pi only has an audio out. [33:56.070 --> 33:58.590] It does not have a microphone input port. [33:58.650 --> 34:04.270] I also have my RT-Systems cable that I mentioned here hooked into one of the other USB ports. [34:04.370 --> 34:09.550] You'll notice here is a GPS receiver hooked up to the Pi. [34:09.550 --> 34:16.790] This GPS receiver is not only receiving the position of the Raspberry Pi system, [34:16.790 --> 34:22.370] but it also is able to sync up the time, the system time, with GPS time. [34:22.370 --> 34:28.850] For data modes such as JSA Call and FT8 that require fairly precise timing. [34:29.130 --> 34:36.790] This GPS receiver is simply the same as this GPS GLONASS UBLOX 7 receiver here. [34:36.790 --> 34:45.150] I've simply taken off the plastic casing off the outside so that this would fit with my other USB connections there on the Pi. [34:47.310 --> 34:58.290] Currently the Raspberry Pi is creating a hotspot or wireless network that I can connect to it using an iPad or another tablet or even a laptop. [34:58.610 --> 35:05.730] Typically I use my iPad here to connect to the Raspberry Pi and control it wirelessly using the VNC app. [35:05.730 --> 35:12.450] It's also handy if you want to have a wireless keyboard attached to your tablet or use the keyboard on a laptop. [35:12.450 --> 35:15.910] And that makes typing much easier than trying to use an on-screen keyboard. [35:20.070 --> 35:31.090] So now that I've shown you the physical setup of my Raspberry Pi portable radio box, let me show you some of the software that I have installed on my Raspberry Pi. [35:31.170 --> 35:34.350] First thing you can see here on the desktop is DireWolf. [35:34.370 --> 35:40.930] DireWolf is a software TNC application that is currently interfaced with the USB sound card that I showed you earlier. [35:40.930 --> 35:50.070] You can see it currently decoding APRS packets in real time because I have my radio currently tuned to the APRS frequency. [35:51.450 --> 36:01.010] DireWolf is also currently interfaced with LIN-BPQ, which is creating and providing a WinLink gateway. [36:01.510 --> 36:08.230] Other stations could connect to my gateway and send and receive email over the WinLink service. [36:08.230 --> 36:15.910] That WinLink gateway is managed by going to the local website created by LIN-BPQ. [36:16.090 --> 36:28.490] This is a nice feature that many of these applications, these portable applications and digital applications do, is create a webpage service that you can access not only from the Raspberry Pi, [36:28.830 --> 36:34.330] but you can access from any computer that's connected to the Raspberry Pi wirelessly, such as my iPad tablet. [36:35.190 --> 36:39.030] LIN-BPQ hosts its website at port 8080. [36:39.030 --> 36:46.690] And so this is a configuration page that I go to in order to manage my WinLink gateway and BPQ node. [36:47.330 --> 36:52.310] Another application that I have installed on my Raspberry Pi is PAT. [36:52.350 --> 36:55.790] Now PAT is a WinLink client. [36:55.990 --> 37:03.330] So if I go here to port 5000, I will pull up my PAT web UI. [37:05.010 --> 37:12.590] PAT can also connect to Direwolf to use my sound card TNC to send and receive messages. [37:12.590 --> 37:25.430] This has a simple interface, just an inbox, your app box, your sent messages, an archive, and the action menu where you can compose messages and position updates. [37:26.770 --> 37:35.410] Alright, in addition to those two applications that I have for WinLink, I have a variety of other applications currently installed on my Raspberry Pi. [37:35.810 --> 37:40.530] These are all organized under the ham radio submenu here. [37:41.510 --> 37:45.710] Some of these include Chirp for programming radios. [37:46.610 --> 37:49.530] CQRLog, which is a logging program. [37:49.930 --> 37:52.690] Direwolf, once again, is the sound card TNC. [37:52.690 --> 38:01.050] I have FLdigi and FLrig for rig control and some digital sound card modes. [38:01.050 --> 38:07.150] You can also see here JSA Call and WSJTX. [38:07.230 --> 38:12.450] Additionally, I have Zaster and YAC for APRS clients. [38:12.570 --> 38:19.890] And I have a couple additional tools here installed that help me manage the software and update the software. [38:19.890 --> 38:27.690] Such as PapMenu, PiAPRS, and other things that have been developed by Jason, KM4AK. [38:28.850 --> 38:35.250] These programs are really useful on VHF, UHF, and HF. [38:35.250 --> 38:44.890] And you can interface your single Raspberry Pi to both a VHF radio and an HF radio simply using multiple sound card interfaces. [38:44.890 --> 38:49.950] Alright, so you're probably wondering now, where do I start? [38:50.810 --> 38:53.190] Here are a few of my suggestions. [38:53.350 --> 38:56.250] First, check out raspberrypi.org. [38:56.450 --> 39:03.350] There are many tutorials there and elsewhere online of projects you can do using the Raspberry Pi. [39:03.390 --> 39:06.290] Next, check out YouTube. [39:06.290 --> 39:16.750] KM4AK, Jason, and OH8STN, Julian, both have great channels on YouTube that I follow. [39:16.990 --> 39:20.970] They both do some great things with their radios using the Raspberry Pi. [39:21.750 --> 39:26.910] I would also suggest you take some time to decide what you would like to explore. [39:27.370 --> 39:32.390] There is a lot that you can do with the Raspberry Pi and other single board computers. [39:32.390 --> 39:37.270] Identify where you'd like to start first and go slow. [39:37.310 --> 39:39.650] Don't burn yourself out. [39:39.810 --> 39:50.290] Finally, put some effort into identifying your communications needs and how single board computers can empower your amateur radio setup. [39:50.970 --> 39:54.610] Well, thank you very much for tuning in today. [39:54.650 --> 39:59.550] I will be available to answer your questions in the designated channel. [40:05.430 --> 40:09.410] Hello, thanks for joining us. Thanks for that great presentation. [40:09.410 --> 40:15.870] If folks have questions, you can throw them either on Twitch or on the HRV Presentation Tech channel. [40:16.910 --> 40:24.450] We actually have one. I'm curious, what's your wish list for the Raspberry Pi 5, whatever, right? [40:24.450 --> 40:27.670] What would you love to see in there that we don't have today? [40:30.250 --> 40:31.750] Interesting question. [40:31.750 --> 40:42.850] I say that's interesting because the Raspberry Pi 4 has actually been a pretty good model so far that I can't think of anything I would necessarily add to it off the top of my head. [40:43.130 --> 40:50.950] I mean, obviously, it's always good to increase the processor capability, and I think they're incrementally doing that. [40:50.950 --> 41:02.190] And so as we see the capabilities of these processors on the Raspberry Pis, that will continue to increase what we can do with these single board computers. [41:03.170 --> 41:09.810] I will mention with the 4, since they added the two USB 3.0 ports, that was a really nice addition. [41:09.810 --> 41:14.190] So I guess one thing that I would like to see is maybe all four ports USB 3.0. [41:15.790 --> 41:19.410] And that's really the only thing I can think of right now. [41:21.410 --> 41:27.310] Okay, I'm curious. Do you know, is the power consumption on the 4 much higher than the 3, or is it about the same? [41:27.590 --> 41:30.530] Correct, because they switched to USB-C power, right, on that? [41:31.730 --> 41:37.130] Yeah, they switched to the USB-C power because there was a slight increase in the power consumption. [41:37.450 --> 41:43.370] I think the 3B+, at max power, would use about 2.5 amps. [41:43.730 --> 41:47.310] And the 3 can draw up to 3 amps, is my understanding. [41:48.010 --> 41:52.210] But a lot of that will actually go to if you have USB devices hooked up to it. [41:52.210 --> 41:55.830] A lot of the power draw comes from those USB devices. [41:55.850 --> 42:00.310] So that's just something to keep in mind if you're connecting devices that require a lot of power. [42:00.310 --> 42:04.490] Sometimes it's better to hook them up to an external hub that you can then power that way. [42:06.110 --> 42:12.910] Cool. Related to that power, we had a question about how long can you run the Pi using a battery bank on a standard day? [42:15.070 --> 42:26.450] So the battery bank that I showed in the presentation, that one can run it for upwards of at least, I would guess, 6 or 7 hours. [42:26.930 --> 42:32.910] And a lot of the portable battery banks that you get for charging your phone, if you get upwards of... [42:33.430 --> 42:37.850] there's some 20,000 mAh packs and stuff, and those are the ones that I have. [42:38.430 --> 42:48.810] But then, of course, if you just power it off your 12V battery, you can run for probably days off a 12V battery. [42:48.830 --> 42:57.430] Something like an 18Ah battery, a 12V battery that you're going to connect to a 5V converter, will give you operation for days just on the Raspberry Pi. [42:59.890 --> 43:06.530] Great, thanks. We get a couple questions around, do you have a preferred SDR or do you use USB SDRs? [43:06.530 --> 43:09.910] And what are your favorite SDR-based activities, if so? [43:12.010 --> 43:18.590] Yeah, so as far as SDR goes, the only SDR device I've used is the RTL-SDR, and I've done a little bit with that. [43:18.590 --> 43:24.030] I haven't done too much on the Pi, but that's the one I've played around with. [43:24.030 --> 43:37.950] What I would really like to do is set up a receive-only iGate for EPRS using an SDR, and that's just a really cheap and pretty easy method to set it up that way with an SDR. [43:37.950 --> 43:49.170] Instead of just taking up a full other ham rig, you can dedicate that to just sit in your house and receive EPRS packets in your local area. [43:49.170 --> 43:58.010] So yeah, as far as SDR, I've used only the RTL-SDR, and I'm really right now playing around more with how to use that on the Raspberry Pi. [43:58.170 --> 44:05.490] In general, on the computer, when I've just hooked it up to my laptop or PC, I've just been listening to voice traffic locally. [44:05.550 --> 44:09.170] So that's as far as I've gotten with SDR so far. [44:11.790 --> 44:22.050] Great, thanks. That's all the questions we had in chat. If you have any further questions, feel free to just hop in the village and ask away, and I'm sure I can get you there. [44:22.050 --> 44:27.430] I want to thank you for giving that great talk, and hopefully everyone enjoys the rest of DEF CON Safe Mode. [44:28.130 --> 44:29.630] Yeah, thanks for tuning in. [45:01.780 --> 45:04.460] Transcribed by https://otter.ai