1 00:00:00,840 --> 00:00:01,640 Hello, friends. 2 00:00:01,640 --> 00:00:03,200 Joe here from HackerBoxes. 3 00:00:03,200 --> 00:00:06,280 Welcome to this build session for HackerBox 0057. 4 00:00:06,280 --> 00:00:15,200 This is an extension to our Learn to Solder workshop that we're doing with the Hardware Hacking Village as part of DEF CON 28 Safe Mode. 5 00:00:15,200 --> 00:00:16,320 Hope everyone's being safe. 6 00:00:16,320 --> 00:00:18,000 Hope you're having a great time. 7 00:00:18,000 --> 00:00:25,920 So, HackerBox is the original monthly subscription box for DIY electronics, computer enthusiasts, and hacker culture. 8 00:00:25,920 --> 00:00:32,080 The theme of this particular HackerBox, HackerBox 57, is Safe Mode. 9 00:00:32,260 --> 00:00:47,300 So, the primary content item of HackerBox 0057 that we're working on here is this really cool kit to build this exclusive indie badge, which we'll talk about more in a second. 10 00:00:47,300 --> 00:00:55,540 This HackerBox also includes a practice lock for practicing lockpicking and a set of lockpicks. 11 00:00:55,580 --> 00:00:57,460 There's also some exclusive items. 12 00:00:57,460 --> 00:01:02,560 There's a branded tube bandana that can be used as a Safe Mode mask. 13 00:01:02,560 --> 00:01:05,240 It has a really cool circuit board pattern on it. 14 00:01:05,240 --> 00:01:08,340 There's also some cool hacker stickers. 15 00:01:08,340 --> 00:01:15,100 There's an exclusive lapel pin that has our logo, our BitHead logo, wearing a mask. 16 00:01:15,100 --> 00:01:19,860 It's a special Safe Mode lapel pin. 17 00:01:20,720 --> 00:01:23,040 Let's see, there's also a USB cable. 18 00:01:23,040 --> 00:01:26,580 Oh, there's an IR remote controller that lets you control your PC. 19 00:01:26,580 --> 00:01:29,320 It's kind of like a remote control mouse to use for presentations. 20 00:01:29,320 --> 00:01:37,260 It also lets you control media functions, such as turning volume up and down and jumping tracks. 21 00:01:37,740 --> 00:01:46,660 Interestingly, because of the IR features of our indie badge kit, you can use that remote control, that IR remote control, to do some cool things with the badge as well. 22 00:01:47,560 --> 00:01:53,420 All right, so the badge kit itself will let you build up this badge. 23 00:01:53,420 --> 00:02:01,520 Of course, it has a pretty nifty PCB with the HackerBox logo on it as its basis. 24 00:02:01,700 --> 00:02:08,930 And then the processing module on it is called an ESP32T display module. 25 00:02:09,200 --> 00:02:10,980 Of course, it includes the ESP32. 26 00:02:10,980 --> 00:02:14,060 A lot of us are pretty familiar with this microcontroller. 27 00:02:14,640 --> 00:02:22,300 This microcontroller has a dual-core 32-bit LX6 microprocessor that can run up to 240 MHz. 28 00:02:22,300 --> 00:02:24,740 So it's very full-featured for a microcontroller. 29 00:02:24,900 --> 00:02:32,960 It also has built-in Wi-Fi and Bluetooth, a whole bunch of bus interfaces, all the standard stuff, a lot of GPIOs. 30 00:02:32,960 --> 00:02:41,220 This particular version of it, the T-Display, has an onboard IPS full-color display. 31 00:02:41,220 --> 00:02:43,840 It's a 240x135 display. 32 00:02:43,840 --> 00:02:46,120 It looks really sharp at that small size. 33 00:02:46,120 --> 00:02:47,660 It's actually quite a lot of pixels. 34 00:02:47,680 --> 00:02:49,840 It has a built-in USB-C interface. 35 00:02:49,840 --> 00:02:51,760 It also has a battery charger. 36 00:02:51,760 --> 00:02:56,680 You can connect a LiPo battery to it, and it'll keep it charged when it's plugged into USB power. 37 00:02:56,840 --> 00:03:04,840 The kit for this board also includes RCA interfaces for audio and video out. 38 00:03:04,920 --> 00:03:13,020 This can do composite video and audio out, sort of like what we used to have on the older 8-bit computers. 39 00:03:14,420 --> 00:03:21,920 You may have had a composite output on your Commodore 64 or Apple II computer back in the day, if you're as old as I am. 40 00:03:22,100 --> 00:03:25,640 So there's also a little five-way joystick. 41 00:03:25,640 --> 00:03:26,920 It's a little tiny joystick. 42 00:03:26,920 --> 00:03:28,320 It's a surface-mounted device. 43 00:03:28,540 --> 00:03:30,200 And there's a couple of buttons. 44 00:03:30,200 --> 00:03:34,520 So with this joystick and these two buttons, you can do a lot of nice controls. 45 00:03:34,520 --> 00:03:40,440 There's an infrared receiver and an infrared LED for doing IR blasting. 46 00:03:40,440 --> 00:03:45,840 So you can receive infrared signals and then blast them back out, or blast out different infrared signals. 47 00:03:46,540 --> 00:03:50,460 Let's see, there's also a little tiny surface-mounted buzzer there for making sounds. 48 00:03:50,460 --> 00:03:59,100 So you can make sounds onboard and then also output audio through the digital-analog converter built into the ESP32. 49 00:03:59,100 --> 00:04:00,560 All right, so... 50 00:04:01,100 --> 00:04:11,260 Oh, and of course there's a nice, colorful, exclusive HackerBoxes lanyard as part of that kit that uses a similar graphic to what's on the actual box itself. 51 00:04:11,980 --> 00:04:22,920 Great, so as far as getting started with working on this kit, we really recommend that you take the T-Display device, plug it in to your computer. 52 00:04:22,920 --> 00:04:31,880 Just when you power it up, it'll do a little nice graphics demo showing a little graphical image and then flip through some color screens. 53 00:04:32,100 --> 00:04:36,500 So the advantage of doing that first off before you solder anything is it just lets you know the thing works. 54 00:04:36,500 --> 00:04:45,720 And then also what you want to do, so before you solder anything to it or try to do anything with this little module, we recommend setting up the toolchain. 55 00:04:45,840 --> 00:05:01,820 So this is a good time to probably tell you that every HackerBox has an online box guide, which has lots of different information about how to use the devices in the box, for some projects it kind of gets you started, for some of them it gives you all the build instructions, 56 00:05:01,820 --> 00:05:11,080 sometimes there's some sample code, or if it's a device that's pre-programmed, we usually try to give you the code so that you can modify it and do other things with it and hack it and learn from it. 57 00:05:11,080 --> 00:05:35,280 So the box guide for HackerBox 0057, the safe mode box, has some sample code for exercising the badge, but even before you put the T-Display module onto the badge, there are all the instructions for configuring the Arduino IDE as a software tool that can compile code for that board and interface to it, 58 00:05:35,280 --> 00:05:46,860 and then also, quite importantly, setting up the library for doing graphical displays and text displays on that little IPS display that's embedded on the board. 59 00:05:46,860 --> 00:06:04,680 So when you go through and set all that up, then when you power the board up, rather, after powering the board up, you can program it and then just verify to yourself that your toolchain works well, that you have the TFTE SPI library set up correctly, 60 00:06:04,680 --> 00:06:10,600 and that you can program the flash on the board and then have it boot up and run the code you put on it. 61 00:06:10,600 --> 00:06:20,680 So that really builds confidence and lets us know that our toolchain is good before we start taking it to the next level and putting the module onto the badge itself and then start programming the badge. 62 00:06:22,400 --> 00:06:31,180 Right, so probably now what we should do is just let's go to the overhead and we'll jump into soldering this badge together, and we'll just talk through it as we do it. 63 00:06:31,600 --> 00:06:36,940 All right, so for this kit, we have a baggie of components. 64 00:06:37,160 --> 00:06:39,700 We have the T-Display module and the PCB. 65 00:06:39,700 --> 00:06:42,260 So these are the three things we're going to be working with. 66 00:06:42,660 --> 00:06:45,540 Let's get the actual T-Display module out. 67 00:06:45,540 --> 00:06:52,500 This is the module that has the actual display on it and the ESP32 processor. 68 00:06:52,640 --> 00:06:57,600 The processor has the Wi-Fi and Bluetooth functionality built into it. 69 00:06:57,600 --> 00:07:15,440 So this display doesn't have the pins soldered on, they're separate headers, and it comes with a little wire JST connector for attaching the LiPo battery to the battery charger circuit of the module. 70 00:07:29,120 --> 00:07:41,340 All right, like I said, before we get to soldering this module, let's go ahead and power it up and just make sure that it works fine. 71 00:07:42,660 --> 00:07:59,440 Before we solder it, we want to go through and make sure all the tools can compile a program for it and load the program with the correct library, which is the tft-eSPI library for controlling the display driver. 72 00:08:13,600 --> 00:08:17,260 Okay, so let's check out the actual PCB. 73 00:08:17,800 --> 00:08:20,140 This is obviously where we'll be doing our soldering. 74 00:08:20,140 --> 00:08:24,080 You can see it has a side that's a little blacker and a side that's whiter. 75 00:08:24,280 --> 00:08:29,900 The black side is the one we'll be soldering the components onto. 76 00:08:29,900 --> 00:08:33,500 So the front of this board, the silkscreen, is just used for some artwork. 77 00:08:33,500 --> 00:08:35,300 So the silkscreen isn't on here. 78 00:08:35,300 --> 00:08:37,380 It gives it a nicer look when it's finished. 79 00:08:37,380 --> 00:08:40,260 It's a little harder to build it, but that's kind of part of the fun. 80 00:08:40,260 --> 00:08:43,640 So make sure you go to the box guide and look at the... 81 00:08:44,020 --> 00:08:47,440 There's a placement diagram that shows where the components go. 82 00:08:47,440 --> 00:08:54,880 So that diagram is sort of what would normally be on the silkscreen if you weren't going to have artwork on the silkscreen. 83 00:08:54,880 --> 00:08:58,220 So definitely check that out. 84 00:08:59,900 --> 00:09:02,440 And we'll go ahead and start with these three resistors. 85 00:09:03,380 --> 00:09:07,040 You can tell which resistor is which by measuring them. 86 00:09:07,040 --> 00:09:10,560 There's a 220 ohm, a 330 ohm, and a 1k ohm. 87 00:09:10,840 --> 00:09:12,800 1k is 1,000, 1,000 ohm. 88 00:09:12,800 --> 00:09:15,840 You can measure them with a multimeter or you can just look at the little stripes. 89 00:09:18,620 --> 00:09:24,620 This one that has an orange, orange, and black, that's 330. 90 00:09:24,740 --> 00:09:27,680 So that's a 330 ohm resistor. 91 00:09:30,160 --> 00:09:34,400 Go ahead and put it through and just bend the leads back so it holds it in place. 92 00:09:34,600 --> 00:09:38,900 And then the 220 ohm resistor is the one that is red, red, black, black. 93 00:09:48,310 --> 00:09:50,230 And then the 1k resistor. 94 00:09:50,230 --> 00:09:52,530 So these go in right next to each other. 95 00:09:53,690 --> 00:09:58,410 You can, again, make sure you look at the component placement guide. 96 00:09:58,410 --> 00:10:05,850 Or if you can see really closely up here, those three resistors, it almost looks like they touch each other. 97 00:10:05,850 --> 00:10:10,850 The holes for each neighboring resistor are very close to the one next to it. 98 00:10:12,230 --> 00:10:16,230 So in order they go 330 to 21k. 99 00:10:16,270 --> 00:10:17,910 Front order from left to right. 100 00:10:31,950 --> 00:10:35,330 When the wire gets a little kinked on the front side, it's hard to pull it through. 101 00:10:37,050 --> 00:10:43,640 You want to grab some pliers here to pull it through. 102 00:10:48,680 --> 00:10:53,580 All right, so all three of these resistors are through and the wires are bent back so they're going to be held into place. 103 00:10:56,610 --> 00:10:58,310 And we'll go ahead and get some solder on here. 104 00:10:58,310 --> 00:11:06,790 So I have to apologize, the white artwork that's on the silkscreen on the back of this board makes it a little hard to get contrast. 105 00:11:08,310 --> 00:11:11,070 But hopefully you can still see the soldering that's going on. 106 00:11:11,070 --> 00:11:22,830 We're using the standard techniques that we've discussed in the Learn to Solder videos of starting with a very clean tip, make sure it's tinned, have a little solder on the tip. 107 00:11:22,870 --> 00:11:27,310 Because the solder that's on the tip helps conduct heat into the work. 108 00:11:27,570 --> 00:11:40,290 So we want to use the soldering iron to heat each joint up so that it gets a little warm and then bring the solder to it and let the pieces of metal you're trying to solder melt the solder. 109 00:11:40,290 --> 00:11:45,250 Don't melt the solder just with the iron tip or you might get a cold solder joint. 110 00:11:46,770 --> 00:11:58,350 And since there's not a lot of metal here, the vias, the through holes that these leads go through, there's not a lot of metal so they don't take but a very quick touch to heat up. 111 00:11:58,530 --> 00:12:00,810 You don't have to hold the iron on there for very long. 112 00:12:01,390 --> 00:12:04,650 That looks good, let's go ahead and trim these leads off. 113 00:12:04,650 --> 00:12:09,110 This is where you want to make sure you're wearing your safety glasses and hold on to the leads while you cut them. 114 00:12:09,450 --> 00:12:11,550 You don't need leads flying all over the place. 115 00:12:23,200 --> 00:12:35,000 And as we discussed in the first Learning to Solder video, we want to make sure we're not getting a lot of chunks of solder around because solder has lead in it. 116 00:12:35,000 --> 00:12:42,220 So when I'm cutting these, I try to keep the surface clean, my work surface, I wipe it down at the end. 117 00:12:42,220 --> 00:12:45,660 And also when I cut leads, I put them in a little pile so I can easily throw them away. 118 00:12:46,560 --> 00:12:50,200 Next we're going to do the surface mount buzzer. 119 00:12:57,450 --> 00:12:59,970 That little dot just tells you that that's pin 1. 120 00:12:59,970 --> 00:13:04,270 Pin 1 is at the top when the board is oriented like this for this layout. 121 00:13:06,570 --> 00:13:08,150 So this is an example of 122 00:13:12,020 --> 00:13:14,380 a surface mount component. 123 00:13:14,380 --> 00:13:33,860 We're going to basically just set it on the surface and get the pad that it sits on, get some solder on that pad, get it tinned, and then get just enough heat onto the little metal lead on the side of the buzzer, just enough heat on there to melt some solder onto it. 124 00:13:33,860 --> 00:13:45,360 We'll get one side tacked down and then flip it around and get some solder fluid onto the other side and just make a nice solder flow that fills in the little L-shaped space between the buzzer and the PCB. 125 00:13:54,340 --> 00:13:58,980 The buttons are oriented with the leads up and down. 126 00:14:00,040 --> 00:14:05,200 They won't really fit if you try to put them the other way, but it doesn't matter if you completely rotate them 180 degrees. 127 00:14:05,200 --> 00:14:08,560 There's no top and bottom to the button. 128 00:14:08,560 --> 00:14:12,480 We just don't want to have the leads going out of the sides. 129 00:14:12,480 --> 00:14:18,300 Although if they were going out the sides in this configuration, you wouldn't be able to solder them because they wouldn't be over any pads. 130 00:14:19,320 --> 00:14:20,560 It's pretty easy. 131 00:14:20,560 --> 00:14:23,240 Again, just tack one little bit down. 132 00:14:23,380 --> 00:14:39,320 When only one part of it is tacked, you can heat it up very easily and move it around again and make sure all the leads line up over the pads before you go ahead and commit the other three corners of the button to soldering. 133 00:14:50,520 --> 00:14:53,540 You can see from the first one we did, we kind of go to the opposite corner. 134 00:14:53,540 --> 00:14:55,740 It helps constrain it nicely. 135 00:14:55,740 --> 00:14:58,600 It's a similar concept to tightening up lug nuts. 136 00:14:58,600 --> 00:15:02,000 You want to kind of distribute the tension around. 137 00:15:04,590 --> 00:15:08,430 I'm going across the... you can see there's some... that looks pretty good. 138 00:15:08,430 --> 00:15:14,230 There's a nice flow, a nice shiny flow all over the lead and the pad. 139 00:15:16,890 --> 00:15:22,930 We have one more pin on each one. 140 00:15:22,930 --> 00:15:34,150 And if you want, you can hit the original pin, the first pin you did, just to get it reflowed real shiny and make sure all four of the pins look good. 141 00:15:37,130 --> 00:15:37,990 Buttons are good. 142 00:15:37,990 --> 00:15:45,470 And the next component we're going to do is a little joystick, which looks very similar to the buttons, but it has a lot more leads because it's actually a five-way joystick. 143 00:15:45,470 --> 00:15:50,890 So it has a lead for up, down, left, right, and then it has a lead for center, which is when you're just pushing it straight down. 144 00:15:50,890 --> 00:16:09,670 And then there's a common lead, which in this design, if you check out the schematic, you can see that the common lead on the five-way joystick is grounded, which means that the other terminals will all float. 145 00:16:09,670 --> 00:16:15,270 So you should probably pull them up using the pull-up description definition for your... 146 00:16:15,790 --> 00:16:21,630 when you do the pin declaration in Arduino, make sure they have a pull-up. 147 00:16:21,630 --> 00:16:28,330 So then when you close that contact, it will go to ground and the ground will overcome the pull-up and it'll go to zero. 148 00:16:28,330 --> 00:16:35,450 So when one of the contacts is not being closed, it'll be a high, and then when you close it, it'll be a low or zero or false. 149 00:16:39,160 --> 00:16:44,200 Now we're just doing this nice and slow, getting each terminal and making sure the solder flows really nicely. 150 00:16:55,690 --> 00:16:58,910 All right, we've got our joystick done, we've got the buttons done. 151 00:17:00,530 --> 00:17:02,010 We're cooking in here. 152 00:17:12,110 --> 00:17:17,710 All right, so next we're going to put the T-display on, which has these headers that come separate. 153 00:17:17,710 --> 00:17:30,570 So I'm just going to put the headers in here and then put something underneath it so that the headers aren't being pushed out by the desk, just to make sure everything lines up right and it looks good. 154 00:17:31,110 --> 00:17:39,150 I'll get it on here and we'll tack a couple of the points, a couple of the pins while it's in this position, while it's being held up. 155 00:17:40,170 --> 00:17:43,190 And again, usually kind of work from opposite corners. 156 00:17:47,620 --> 00:17:54,000 Make sure when you're doing this, you get the solder to flow all down in the hole. 157 00:17:54,060 --> 00:17:58,360 And remember, when you see the smoke coming out, that means that you're getting the... 158 00:17:58,360 --> 00:18:00,500 Let me cut this little tab off of here. 159 00:18:01,140 --> 00:18:09,740 This tab is so you can pull the protective plastic off of the display, but I'm going to leave the plastic on there for now to catch any flux splatter. 160 00:18:10,200 --> 00:18:13,560 When you see that smoke, what you see right here, some smoke will come out. 161 00:18:13,560 --> 00:18:18,380 That's when the flux is being released and that's when it's the easiest to get the solder to flow. 162 00:18:18,380 --> 00:18:28,100 So right as that smoke's released and the solder starts to melt, that's when you want to make sure your connection is hot and get the solder into the terminal. 163 00:18:28,100 --> 00:18:30,260 So we'll look at this and you'll see there's... 164 00:18:30,260 --> 00:18:36,900 We need to reflow this and drop that down against the plastic of the header. 165 00:18:36,900 --> 00:18:38,220 There we go. 166 00:18:38,820 --> 00:18:39,760 Let me get the other one. 167 00:18:39,760 --> 00:18:41,800 Yeah, so now that header's in there nice and tight. 168 00:18:42,340 --> 00:18:44,480 That one looks good. 169 00:18:46,460 --> 00:18:47,220 Great. 170 00:18:49,740 --> 00:18:51,120 Put that back in. 171 00:18:51,120 --> 00:18:53,300 We don't need to solder the rest of them quite yet. 172 00:18:53,300 --> 00:19:00,380 Let's just get it mechanically seated and make sure everything fits right and all the headers are all aligned properly. 173 00:19:04,710 --> 00:19:07,450 Tack a couple of the pins all the way through on the other side. 174 00:19:07,450 --> 00:19:09,810 For each pin, you actually have to solder it twice. 175 00:19:09,810 --> 00:19:12,930 You're soldering it once to the module and once to the board on the other side. 176 00:19:15,210 --> 00:19:26,110 And again, just like we did with the top, just make sure it's sunken all the way down and it's completely seated properly in at least a few spots or at least the opposite corners. 177 00:19:26,110 --> 00:19:37,010 And then once it's all properly seated, we can go through and make sure we get a good connection and flow on each pin. 178 00:20:01,800 --> 00:20:02,740 There we go. 179 00:20:02,740 --> 00:20:03,820 It goes pretty quickly. 180 00:20:04,500 --> 00:20:08,500 It's kind of a weird angle to try to do this underneath the overhead camera. 181 00:20:12,780 --> 00:20:22,320 I like to try to avoid doing this right here where I get too close to this hole because I don't want to get any solder down there inside the T-Display module. 182 00:20:22,480 --> 00:20:25,500 That would be a big pain and we'd have to take it all apart and clean it up. 183 00:20:25,500 --> 00:20:28,600 So maybe just stay to the outside of these headers. 184 00:20:28,600 --> 00:20:31,620 Don't go near that hole and that void in the PCB. 185 00:20:35,820 --> 00:20:39,380 I'm going to get these a lot quicker because I have easier access from this direction. 186 00:20:43,070 --> 00:20:45,070 Always cleaning our tip a lot. 187 00:20:45,070 --> 00:20:48,570 Keep a nice clean solder and iron tip. 188 00:20:48,570 --> 00:20:49,950 Keep the solder flowing. 189 00:21:29,360 --> 00:21:31,040 There's a couple more here. 190 00:21:48,470 --> 00:21:50,690 Now we've just got to get all the pins. 191 00:21:50,690 --> 00:21:55,930 So there's 24 pins on this thing so we're having to make 48 solder connections. 192 00:21:56,490 --> 00:21:57,730 This takes a couple minutes. 193 00:21:57,730 --> 00:21:58,910 Just take your time. 194 00:22:00,650 --> 00:22:08,690 Like I said, leave that plastic covering on the display in case you splatter some flux up onto the display. 195 00:22:15,930 --> 00:22:19,370 Just turn the temperature up on the solder and iron a little bit. 196 00:22:27,250 --> 00:22:28,950 Yeah, that works a little better. 197 00:22:28,950 --> 00:22:40,410 The posts in these headers are a little thicker than, let's say, the pins on an IC or on a resistor or something. 198 00:22:40,410 --> 00:22:45,490 So it might just help that I turn the temperature up just a little bit. 199 00:22:46,930 --> 00:22:48,610 Turn it up to 30. 200 00:22:48,610 --> 00:22:50,510 It looks like it's 360 here. 201 00:23:23,100 --> 00:23:25,640 All right, there's this last row of 12. 202 00:23:35,750 --> 00:23:40,450 It's nice when you have the pin and the through-hole very nicely heated. 203 00:23:40,450 --> 00:23:51,730 You can see the solder almost gets drawn down into the hole and makes a nice shiny kind of cone shape onto the lead. 204 00:23:51,730 --> 00:24:01,490 So you can see the solder totally wets down into the hole and then totally wets the lead in such a way that it fills it in all the way around. 205 00:24:01,490 --> 00:24:08,930 It makes a nice clean, shiny, well-flowed connection. 206 00:24:10,750 --> 00:24:14,370 All right, so there's our T-display. 207 00:24:14,470 --> 00:24:17,250 So, bump the camera a little bit. 208 00:24:28,120 --> 00:24:31,380 The display is all done, all 48 of those connections. 209 00:24:31,380 --> 00:24:36,900 So, let's get on to this little driver transistor. 210 00:24:36,900 --> 00:24:43,760 Notice that one side of it is flat, and if you look at the placement diagram, that flat is down. 211 00:24:43,760 --> 00:24:46,020 It's kind of facing the joystick. 212 00:24:46,100 --> 00:24:50,480 So , make sure the flat portion of that transistor is in that direction. 213 00:24:50,480 --> 00:24:57,040 And once you get it into place, if you want, you can fold it over and make it flush to the board, or you can leave it sitting up. 214 00:24:57,040 --> 00:24:58,320 That's totally your option. 215 00:25:00,480 --> 00:25:04,440 Just to keep it out of the way of the display, I think I'm going to fold it down. 216 00:25:04,440 --> 00:25:05,820 I kind of like the way that looks. 217 00:25:06,260 --> 00:25:09,140 Fold it right down onto its flat face, but you don't need to do that. 218 00:25:13,210 --> 00:25:19,470 See, that solders real quick because the plated holes are very small on these, very thin. 219 00:25:19,470 --> 00:25:21,650 There's not a lot of metal there to waste the heat. 220 00:25:21,650 --> 00:25:24,090 It just solders very quickly. 221 00:25:24,090 --> 00:25:25,650 It heats up quickly and solders quickly. 222 00:25:25,650 --> 00:25:27,090 We'll cut the leads off. 223 00:25:35,960 --> 00:25:44,860 I'm going to keep checking back to our component placement diagram that tells us what direction to put things in. 224 00:25:44,860 --> 00:25:50,440 That's definitely important, even though there's only two leads on this LED, it only works if placed in the right direction. 225 00:25:50,600 --> 00:25:59,300 The short lead goes towards the flat side in the diagram, and I like to leave this sticking up about 3 or 4 millimeters so that I can fold it over. 226 00:25:59,300 --> 00:26:05,400 And it gives it a nice edge-firing, edge-blasting configuration. 227 00:26:05,400 --> 00:26:06,720 I like the way that looks. 228 00:26:07,080 --> 00:26:18,520 It feels like it's a little bit more like a transmitter, like it would be on the end of the board of a remote control, like a TV remote or something. 229 00:26:19,300 --> 00:26:20,700 Just two quick leads. 230 00:26:20,700 --> 00:26:27,380 Remember the short lead goes on the flat side of the circle in the placement diagram. 231 00:26:38,140 --> 00:26:44,560 All right, and just a few more components here, continuing on with our through-hole components. 232 00:26:47,690 --> 00:26:49,670 A little ceramic capacitor. 233 00:26:49,670 --> 00:26:55,150 This is part of the audio circuit for the AV. 234 00:26:55,890 --> 00:26:58,690 And with this, you could also fold it over if you wanted to. 235 00:26:59,630 --> 00:27:02,910 Unfortunately, where it's placed right there, it's kind of right next to the reset button. 236 00:27:02,910 --> 00:27:09,550 So if you're going to use the reset button a lot, you might want to fold that cap over before you solder it into place, but it's not really a big deal. 237 00:27:09,550 --> 00:27:10,930 It's pretty small. 238 00:27:12,470 --> 00:27:15,970 And again, the heat flows on that real quickly. 239 00:27:15,970 --> 00:27:17,530 Very nice, very quick. 240 00:27:22,440 --> 00:27:24,120 Trim the leads off. 241 00:27:36,910 --> 00:27:44,210 And I should mention, we can take the leads off of the headers on the back of the T-display to make it nice and flat if you're going to put a battery on there. 242 00:27:44,210 --> 00:27:46,310 We'll just skip that for now. 243 00:27:46,310 --> 00:27:49,390 It's a little time-consuming, and everyone knows how to cut wires. 244 00:27:49,610 --> 00:27:56,910 The display leads are not really in the way until we try to put a battery on there. 245 00:27:58,910 --> 00:28:04,890 All right, and this is our IR sensor device. 246 00:28:04,890 --> 00:28:15,070 You want to put it on there so that the rounded lens faces down towards the bottom of the board, away from the T-display, the ESP32-T display. 247 00:28:16,730 --> 00:28:31,550 And again, that makes it so if you set the badge down, you can aim an IR remote at it, and it'll receive from one side, and then it blasts out of the top, IR blaster style. 248 00:28:36,460 --> 00:28:38,580 So, that's real easy. 249 00:28:38,900 --> 00:28:47,100 And all we have left is our two RCA jacks for our AV, for composite video, and our audio line out. 250 00:29:04,730 --> 00:29:07,590 So the yellow one is the video out. 251 00:29:08,150 --> 00:29:09,270 We're going to get that here. 252 00:29:09,270 --> 00:29:11,150 That's kind of on the left side. 253 00:29:11,150 --> 00:29:15,410 Again, check the component placement diagram on the box guides. 254 00:29:15,410 --> 00:29:23,030 You're going to want to just get one of these, get just a little solder on one of these, and then, you know, check the positioning, make sure it's the right depth. 255 00:29:24,570 --> 00:29:29,130 There's some, like, alignment holes on the front of these things that don't always work very well. 256 00:29:29,130 --> 00:29:31,230 That's why we just let them hang off the edge of the board there. 257 00:29:31,570 --> 00:29:39,610 Once you get the three posts soldered, it really holds itself in very well, but you don't really need those alignment holes at all, or even in the front. 258 00:29:41,950 --> 00:29:48,590 And then once it's all positioned, we just get a lot of solder in there to make sure it's very mechanically stable and flows very well. 259 00:29:48,590 --> 00:29:57,130 Because there's a lot of pressure, sometimes if you have a tight RCA cable, when you're plugging it on there, it puts a lot of pressure on that jack. 260 00:29:57,130 --> 00:29:59,370 So you want to make sure you have it well soldered. 261 00:30:00,310 --> 00:30:06,010 So not only for a good electrical connection, but to keep it, you know, very solidly seated from a mechanical perspective. 262 00:30:06,830 --> 00:30:22,970 Again, we're going to get one soldered and then we're going to pick it back up and move, position the connector around until it's right in the right orientation and seated the way we want before we put solder on the other three posts. 263 00:30:41,440 --> 00:30:43,040 Alright, that looks nice. 264 00:30:44,460 --> 00:30:46,220 That's the last one here. 265 00:31:03,400 --> 00:31:12,700 I see there's a little bit of the metal on the back there sticking out, so I'm going to heat that up and see if we can force it back into the housing. 266 00:31:24,130 --> 00:31:26,270 There we go, looks a little better. 267 00:31:26,350 --> 00:31:30,490 Now we can go ahead and get a lot of solder in there to hold it into place, now that everything's positioned correctly. 268 00:31:31,170 --> 00:31:36,150 And that'll hold it real solid even when we're plugging cables onto it. 269 00:31:36,390 --> 00:31:43,870 Pulling them off and plugging them back on, it'll keep everything seated properly. 270 00:31:46,090 --> 00:31:48,910 Real good, real solid there. 271 00:31:55,990 --> 00:31:59,190 Alright, there's our fully soldered up board. 272 00:31:59,770 --> 00:32:03,870 We have some keycaps we can pop on the buttons and then also the joystick. 273 00:32:07,030 --> 00:32:10,890 And if you have other buttons like this, you can put different keycaps on. 274 00:32:11,430 --> 00:32:15,590 If you have other compatible caps, customize it a bit. 275 00:32:23,640 --> 00:32:27,060 Alright, so the first sketch we just loaded on here was... 276 00:32:28,900 --> 00:32:30,680 Again, this sketch is in the box guide. 277 00:32:30,680 --> 00:32:33,120 It's just a really simple buzzer demo. 278 00:32:33,120 --> 00:32:40,300 And it does use the TFT eSpy library to just put some text on the screen. 279 00:32:40,300 --> 00:32:43,940 And then it just plays some tones out through the buzzer. 280 00:32:43,940 --> 00:32:45,820 So let's power it up and you can see. 281 00:32:53,510 --> 00:32:55,710 A little Mario music there. 282 00:32:55,710 --> 00:33:06,370 So this is a really simple program that you can look at what it does. 283 00:33:06,750 --> 00:33:12,370 Like I said, it's fairly simple and it just shows you how to make some sounds on the buzzer. 284 00:33:12,370 --> 00:33:18,410 So really good kind of first sketch to get running after you've soldered up this board. 285 00:33:18,470 --> 00:33:35,210 Part of the reason for wanting to do that one first is even if the library gets messed up or something's not quite working right or one of the pins is shorted or something for the display, as long as you have that one wire that gets between the ESP32T display module and the surface mount buzzer, 286 00:33:35,210 --> 00:33:37,210 there's only one wire necessary for that. 287 00:33:37,210 --> 00:33:44,190 As long as you have that one wire right and you don't have a power ground short elsewhere, then whatever else is going on, this sketch should work. 288 00:33:44,190 --> 00:33:45,790 So go ahead and try that one out first. 289 00:33:46,050 --> 00:34:06,830 If that works out well, which it should, the next sketch to try out from the box guide, there are a couple of links to different sketches within a library, example sketches that do infrared receiving, infrared transmitting, and then also relay infrared signals. 290 00:34:06,830 --> 00:34:09,670 So that might be a nice thing to try next. 291 00:34:09,670 --> 00:34:12,170 They also exercise the serial output. 292 00:34:12,650 --> 00:34:19,430 They don't use the display because they're not specific to this particular T-display module, but they do some really interesting things. 293 00:34:19,430 --> 00:34:23,030 Of course, you can add in some display outputs if you want to do that. 294 00:34:23,690 --> 00:34:31,650 So trying out the LED blaster and the infrared receiver next, that might be a good next step. 295 00:34:33,250 --> 00:34:40,150 Then probably another very simple one that isn't too complicated. 296 00:34:40,270 --> 00:34:41,310 It's actually in the guide. 297 00:34:41,310 --> 00:34:41,930 You can download it. 298 00:34:41,930 --> 00:34:45,610 Maybe let's go ahead and load it up, the one that exercises the joystick. 299 00:34:45,610 --> 00:34:47,610 It displays the state of the joystick on the display. 300 00:34:47,610 --> 00:34:49,970 So here, let me get that programmed on here. 301 00:34:51,530 --> 00:34:59,250 All right, so on this one here, we've loaded the sketch from the box guide. 302 00:34:59,250 --> 00:35:01,150 That's the joystick sketch. 303 00:35:01,150 --> 00:35:03,350 So let's go ahead and fire that up. 304 00:35:03,350 --> 00:35:05,610 So let's see how that works. 305 00:35:07,850 --> 00:35:10,850 All right, so just says it's launching a joystick test. 306 00:35:10,850 --> 00:35:23,690 And then when you put the joystick, you know, up, down, left, right, or press the center button on it, it puts it on the display and you can actually do button A and B also. 307 00:35:23,690 --> 00:35:30,090 And you can actually hold them both down to get A and B and then go down or down and sideways and in all at the same time. 308 00:35:30,090 --> 00:35:35,410 And whatever these contacts you close on the joystick and switches, it'll just put it on the display. 309 00:35:35,410 --> 00:35:44,230 So again, just a little sketch you can run that'll let you know that your soldering is right, you've made all the right connections for the joystick and the two buttons. 310 00:35:46,750 --> 00:35:50,190 So that, you know, exercises the joystick and the buttons. 311 00:35:50,850 --> 00:35:58,790 You know, both of the sketches we've loaded use the display, onboard display. 312 00:35:58,790 --> 00:36:04,230 And then there's some demos for testing out the IR in and IR out. 313 00:36:05,390 --> 00:36:11,770 The easiest way to test the audio video is there's a really cool program. 314 00:36:11,970 --> 00:36:15,610 There's a link to it in the box guide called Dawn of AV. 315 00:36:15,610 --> 00:36:16,810 It's from Bit Loony. 316 00:36:16,810 --> 00:36:25,710 He wrote some really cool code that does composite output and an audio line out using ESP32. 317 00:36:25,710 --> 00:36:32,410 So let's load that on there now and I'll capture the output so we can see it here. 318 00:36:32,410 --> 00:36:34,210 Hold on. 319 00:36:49,500 --> 00:37:00,400 Yeah, so outputting to the composite video and the audio line out is actually, it's pretty nifty. 320 00:37:00,400 --> 00:37:05,700 It does require a little bit of trickery, but you can check out the Bit Loony's code and see how that works. 321 00:37:05,880 --> 00:37:17,740 Those techniques are the same ones that are used in a really neat project called, I think it's ESP8Bit, that lets you emulate Nintendo Entertainment Systems and 8Bit Atari computer systems. 322 00:37:18,620 --> 00:37:19,540 It's really neat. 323 00:37:19,540 --> 00:37:22,360 There's a link to it in the box guide. 324 00:37:22,360 --> 00:37:23,580 It's really kind of fun to play with. 325 00:37:23,580 --> 00:37:38,160 It uses the file system in the ESP32, so the flash of the ESP32 can be set up to have a file system in it and make sure you follow the instructions clearly in the repo for that. 326 00:37:39,600 --> 00:37:46,100 If you want to mess around with that ESP8Bit project, make sure you set the file system up correctly. 327 00:37:46,500 --> 00:37:54,300 There's a lot of other cool projects in the box guide, links to projects that would be interesting. 328 00:37:55,300 --> 00:38:15,660 There is a thing called the ESP Marauder, which allows you to extend some pen testing tools to leverage the Bluetooth and other wireless functionality of the ESP32. 329 00:38:15,660 --> 00:38:16,980 So that's kind of a neat project. 330 00:38:16,980 --> 00:38:23,940 There's a couple other projects that are targeted specifically towards the T-Display. 331 00:38:23,940 --> 00:38:26,840 So they'll use the display without too much modification. 332 00:38:26,840 --> 00:38:38,220 Getting different TFT display modules working at the right resolution for different programs can be a little tricky, but that's a lot of the fun that you get with working with these projects. 333 00:38:38,220 --> 00:38:47,380 So anyway, this badge is a really nice platform because it has an ESP32 processor, which there's more and more stuff coming out for it all the time. 334 00:38:47,380 --> 00:38:53,020 And then it has some really nice IOs that are pretty easy to program, the buttons in the joystick. 335 00:38:54,520 --> 00:39:01,700 You probably won't see a ton of projects out there that use the AVIO, but they are kind of neat to play with. 336 00:39:02,400 --> 00:39:09,640 Like I said, there's some really neat emulation out there that uses these for doing some retro gaming and some 8-bit computing. 337 00:39:09,640 --> 00:39:18,540 A lot of programs can be adjusted to use the particular driver for this TFT display. 338 00:39:18,540 --> 00:39:20,040 It's a pretty common driver. 339 00:39:20,040 --> 00:39:30,920 It works with a lot of the libraries for doing full-color graphics displays with the Arduino projects, and particularly ESP32 has the power to really do some nice displays on that. 340 00:39:30,920 --> 00:39:32,840 So anyway, it's a nice badge. 341 00:39:32,840 --> 00:39:35,120 Hopefully you enjoyed building it. 342 00:39:35,120 --> 00:39:39,620 Take some real pride of ownership that you made the badge yourself and you can program your own stuff on it. 343 00:39:39,620 --> 00:39:46,760 Maybe put a picture of yourself or your pet or your logo or whatever on there and do some neat stuff with it. 344 00:39:46,780 --> 00:39:58,340 Oh, we didn't get into it here, but the guide has the instructions on how to use these little pins right here to put a LiPo battery on here that charges when you plug the USB cable in. 345 00:39:58,340 --> 00:40:04,020 And then there's a little power switch, which came in the parts kit for this badge. 346 00:40:04,020 --> 00:40:16,700 And that switch will let you turn the battery, the LiPo on and off, basically take it in and out of the circuit so that you can turn the board off when it just has the LiPo plugged in without having to reach in there and remove this little tiny JST connector. 347 00:40:17,380 --> 00:40:22,960 Just remember, though, if you turn that switch off, it actually takes the battery completely out of the circuit so it won't charge. 348 00:40:23,040 --> 00:40:33,400 So if you want to charge it, you need to leave it in there and maybe write something in your program to have a sleep mode or something so that your sound and display aren't going wild while you're just trying to charge the battery up. 349 00:40:34,080 --> 00:40:52,040 All right, yeah, so we hope you enjoyed this and hit us up with any questions at hackerboxes.com or if you're watching this live during the Hardware Hacking Village workshops, we'll be online in the Hardware Hacking Village channel in Discord. 350 00:40:52,320 --> 00:40:56,080 That's the Discord for DEF CON 28 safe mode. 351 00:40:56,080 --> 00:41:07,920 If you're seeing this later somehow, feel free to contact us at hackerboxes.com with any questions you might have and keep an eye out for future Hacker Boxes. 352 00:41:07,920 --> 00:41:09,720 We're always trying to come up with new things. 353 00:41:09,720 --> 00:41:24,660 We have some really interesting stuff coming up in the next couple months, and we usually have some nice things a couple months after DEF CON because while we meet up and talk to all of our friends, they always have a lot of suggestions for projects they've been working on and ideas they might like to see in the future Hacker Boxes. 354 00:41:24,660 --> 00:41:45,140 And for those of you that aren't too familiar with Hacker Boxes, you should just know that it's kind of like a self-fulfilling community thing because we get most of the ideas now for future boxes from members who have been playing around with our previous boxes and are trying something new on their own and then think, 355 00:41:45,140 --> 00:41:47,200 oh, everyone else might like this, and they send it to us. 356 00:41:47,200 --> 00:41:52,740 And we've had some guest designers from our community to help us out with some of the boxes. 357 00:41:52,740 --> 00:41:55,400 So if you've got some really cool ideas, please reach out to us. 358 00:41:55,400 --> 00:41:56,800 We really like that. 359 00:41:56,800 --> 00:41:59,860 And yeah, live the hack life. 360 00:41:59,860 --> 00:42:02,120 We look forward to seeing you online. 361 00:42:02,120 --> 00:42:02,880 Drop us a note. 362 00:42:02,880 --> 00:42:03,420 Bye-bye.