Right. So we're now going to go into the actual hands-on part of the workshop. So we're now going to get a grasp of the tool and this new feature that we've got within the tool to add these additional library packs that we've been talking about. So what we're going to do, we're going to go through the process of installing the library pack. So this will be the normal process that you'll do and your customers will do. We'll create a new project from scratch where we'll add this pack into the project so we can then add it to the generated code. We'll go through the configuration process which is one of the advanced features that Chris has just mentioned to configure the library pack or certain elements of the library pack that the BLE team have allowed us to configure. And then we'll generate the project, build the project, program it into a target board and test to make sure that we can do all that. So we're going to do quite what you would class as quite a complex project within the next 30 to 40 minutes to get a full Bluetooth system working from nothing. We're going to start from absolutely nothing. So it should be quite an interesting session. So these were the two formats that Chris was highlighting. So in the basic format, you just get the library stacks and all the API commands. But you have no way of configuring anything else. The advanced format which contains those extra XML files will give us the elements that we can configure. These elements are controlled by the team that generates the add-on pack. So the BLE team, for instance, have generated the XML file. All we as the micros people have done is define the structure that it has to be in. All the other people who generate the library packs are the MEMS team, the Laura team. What they do for their advanced part will be different. So they will decide what variables they can allow you to amend within the confines of the cube tool. So some will give quite a bit of flexibility in what you can configure. Some might be quite restricted on what you configure. But I'll show you how to access everything as we go through. There are ways to manually do things yourself. So if you've got a very advanced computer programmer at one of your customers, there is a way so that he can write everything himself. But start with the basic structure that we can generate with the cube. So there's lots of features we can do with these new packs. So the first thing you need to do, we need to launch our CubeMX tool. So I'll launch that. I'll follow it through on my laptop as well. So I'll launch CubeMX. And the first section that we're going to do is to... We're just going to do some checks to make sure your libraries are all installed. Some of you might have proxy servers built into your corporate networks. There is a way that you can get the Cube tool to run through a proxy server. It's in the update settings. And you have to put the proxy details in of your server and then in the log-on credentials that you've got. So that's in the help and update of settings. You will need to be online. Second element, hopefully you've all done this. You've gone into manage embedded software packs. Scroll down to the L0 family. And hopefully you've all got 1.10 library package installed for the L0 family. If you haven't, then you put a tick box in and we can install now. Or to speed things up because some of these library packages can be quite large, 73 megs. It's quite a small one actually. We can do it from local. So if you want to save your customer time, you can download it and hand it to them on the memory stick so they can do from local to do that. BLE pack was not part of your prerequisites. So some of you might have it because a few of you did. Not everybody would have installed this one. So if you switch on the manage embedded software packages to the ST Microelectronics tab, you'll have to hit a few down arrows. But you need to make sure you've got the BLE library version 1.0 installed. Now this, as I said, wasn't a prerequisite. So can you all make sure that that library is there, please? You need to have a green box in the BLE library pack. So now we can start our new project. So if you go into your cube, if you select new project, I'll follow this through on the slides. Go new project. First window that should open should be the MCU selector guide. You might get prompted for updates if you've not launched Cubemix for a few days. And if you have got pending updates, you will see this green arrow up here to tell you that you've got pending updates. But don't update this beta version that you're currently running on. So if it's the normal 4.26 version on the web and you see that green arrow, then happily go and follow the updates that are available. So we've got the MCU selector. Because we know what our target board is, we're going to do everything from our board selector. So I'm going to move across to our board selector. And here you can see a list of every board that we produce. But there's some nice filters down here on this left-hand side. So I'm going to expand the type filter. And it's a Nucleo 64. And then I'll expand the MCU series filter and hit the L0 family. And it should produce two boards. And it's the L053 Nucleo that you want to select.  I'll give you this prompt to say, do you want to take the peripherals to be initialized or not initialized? Because we're going to customize it for our shield, please select no at this point. So we're going to customize each peripheral as we go along. So the first thing we now need to do, we now need to add our nice BLE package into our project. So that's the first thing we have to do.  Which is that one. I'll get my mouse to go there. Come back mouse. Which is the add pack software component. Is the highlight. So you want to click on that and it should bring up this new window. Which is the software component add part. So when we have multiple libraries, there'll be a lot more listed in here. Because we've only got the BLE, there is only two lines listed. I'll expand that window a bit so we can see. There are currently two components of the BLE. The first component we can expand. And this is telling us what example applications are available within this BLE pack that we've installed. So we're going to take one of these default examples. That's in our pack. And we're going to take the sensor demo example. So if you highlight the sensor demo example. And click on it. You'll see a nice orange caution triangle has now appeared on the screen. So it's telling you that something needs to be fixed before we can go any further. So the easiest way is just double click on that triangle. And down here it's now telling us what we need to do. So it says that something is required or something's not selected. So you can double click on the line that says not selected. It expands the bottom half now, which is all the BLE stack and components and database systems. And it's already highlighted the block that we now need to add to fix our first caution cycle. So we need to put a tick in that box. So our first caution has now gone green. And it's gone green down here. But we've generated another caution now. So we do the same again. Double click on that one. If there's only one option, you can go and double click on it. This one's saying again something's not selected. Double click on that. It's highlighted there. We can click that box. My laptop does something. When you get two options, it means you've got to make a decision now. So you can't double click on those because you have to decide which one or the other. So for the second one, which is the wireless HCI TL, which is the top one, we have two options. We can either go for basic or template. For our example, we're going to take basic. I'll explain template in a second. So again, another dependence has popped up. So we can double click on that one. It's telling us again that we've got a decision to make. So we'll look at the decisions. We've got two options again, user board or template. We're going to take user board this time. And now everything should have gone green hopefully for you in there. The two options that said template that we didn't go for in this condition. That would have given you or your customer the option to write his own API command stack. The two that we've collected, basic and user board, that means you're now going to use ST's implementation of the AP command stack. The libraries are all still there. The profiles for Bluetooth are all still there. That part of the library structure. But how you address it in the API stack can be changed. We've done one implementation, but the customer can do his own. So this is one of the advanced features I said about. It's down to what the customer wants to do. We can take our implementation like we're doing, or he can go off and generate his own Based on his own labels and however he wants to write software. So he's got the flexibility within this method of adding the packs to the cube. So it's there as an option for him. So that's all we need to do. So we can okay that screen. And that should now have added another box to our blue section here Called third parties, which we need to go and expand. Expand the Bluetooth library and now you want to tick both of those Boxes to enable it into your project. So that those library files will now get loaded into your project. If you were on version 4.26, that block would have appeared Right at the top of this side. And again, you've still got to do the same thing and tick the two Boxes. So that's now everything that you Need to do for adding the library pack into the cuba mix ready for your project. Now we're actually going to generate our project. So we're going to do it in the normal cube way. So we're now going to add the various peripherals, assign them to pins, And then we'll go and configure those peripherals individually for What we need to do to provide the communication between the ble module On this board to the micro on the bottom board that we've got. So the first peripheral we need is the SPI. So the SPI is going to do the data transfer between the blue NRG module and the micro. It's SPI number one we need. So the SPIs are in the connectivity. SPI number one and it's full duplex master you need to select. Hardware NSS can stay disabled, please take the default version. So that should have assigned four pins on your green diagram. The next peripheral we need is use art number two. So this is going to provide the virtual comport back to the laptop. So we're going to take the two that are there already. We don't need it for this particular hands on but the demo Software needs that peripheral because one of the features of the Software will provide a virtual comport back to the pc. We don't need it as i said for the hands on but it has to be Implemented in the code because the library files are going to look for it. So we need to do use art number two. And that needs to be asynchronous. So that should send those two pins now green on your diagram. We also need a few control lines as well to interface between The blue energy module and the microcontroller. So one of them is chip select one of them is the interrupt Line and move on to reset command. So we need free GPIO pins assigning. So PA0 needs to be external interrupt. So you left click on PA0 which is in the bottom corner here of the chip. You'll get the menu up and you select GPIO EXTI 0. So that's enabling the pin to be an interrupt pin. So that the BLE part can interrupt the MCU. PA1 I think is the chip select line. So you just left click on PA1 and select GPIO output. And PA8 I think is the reset line which is on the far side of the chip. And that one needs to be a GPIO output as well. Go and do that on my diagram. PA0 is EXTI. PA1 is output. And PA8 as an output. The last pins we need to assign are the debug pins. So at the moment they're currently highlighted as yellow to say that they've been trapped on the board but they're not actually assigned. So we need to assign those to be the serial wire debug. Debug is in a system function. So it's system core or SYS on the other margin. And that just needs to be the serial wire debug. And that should send your last two pins into a green state on your diagram. So that's all your pin assignments done. The next tab is the clock configuration. We're going to take the default configuration in that was created by the template. Because we're not sending much data between the two modules. We don't need it to be specifically fast. So I think it's set for about two megahertz. I think the core clock. It's fine for what we're doing in this particular example. Yeah, two megahertz. So it's fine for what we need. So we're going to leave that as it is. So the next tab is the configuration tab. This is where we need to do some more work now. And this is where we now need to configure the BLE package that we've installed. This screen view is different depending on which version of the tool you're running. So if you're on 4.26 which is off the web. That BLE part is sat in the middle up here somewhere. So they've just rearranged it to be off the edge of the screen there. So that's the one that we're now going to go and configure. So if we select that module. And in here we want to look at the platform settings. So we're looking at what the actual interface is between the microcontroller and the BLE module that's on our shield. And we've got to go through this step by step. So you have to define your component first before you define the solution. So this is where we define SPI and the solution is SPI Channel 1. So you now need to go and fill all these components in now. So you've got to configure it all as it's laid out. So this is controlled by the hardware now. Of where the connectors are and the pins are linked between the Nucleo board and the X Nucleo shield that sits on top. And you have to fill that element in before you can fill that element in each of that table. If you chose an example. If you chose to do the project without taking the sensor demo example. This section here will be missing. Because that sensor demo software is going to use these features that are part of the board support package. So if you didn't take the example code and you were going to write the code yourself. This bit will be blank. You'll just have the top bit which is the interface between the two boards. Yep, everyone got that? Well, hang on. In that case you'll see me slowly filling in the element. EXTI line is PA0. Your chip select line is PA1.  Down at the bottom, your LED is on PA5. Your push button is on PC13. And the use art is use art number two. Click apply and then click OK. That's the interface done between the micro and the BLE. One of those pins you noticed was an interrupt pin. So we've now got to enable that in the NVIC as well. So there's a button here for the NVIC. So we now have to go and make sure that the NVIC knows that there is an interrupt. And it was on EXTI0. So you've got to go and tick the box for EXTI0. So that means the NVIC controller now knows that there's an interrupt going to be coming in on that pin. Priority can stay as the default. We've only got one interrupt in there so we can leave it. If you have multiple interrupts then you'd have to make the decisions on which gets the highest priority within your particular application. So we can apply that and say OK. Now we need to configure each of those comms peripherals that we selected. So the SPI channel. So we need to make sure that we're on 8-bit data. And our pre-scaling needs to be 16. So this is the slowing the clock down. Because the SPI interface on the Blue NRG module is fixed to a certain speed. So we can't go above 8 megahertz. Remember our core clock speed was only 2. So we're picking 16 purely because your application might want the core clock speed to be maximum speed. So you have to have at least a divide by 16 inside there. So we'll just set ours to divide by 16. And OK that. Then we go into the USART. So we need to check the USART settings. So you should be on 115200 board. 8-bit data, no parity, one stop. It should be the default settings. And again, hopefully you've not changed it but if you go to the GPIO settings you can see the labels that have been assigned to those two pins. Now this sensor demo software is using labels as part of its format. So you need to make sure that they are correct. Which is USART underscore TX and USART underscore RX. Again it's the default configuration. So just in case you've not accidentally changed it when you were assigning pins. So then we can OK that screen as well. So that's all the configuration we need to do. Now we've got to set the system up to generate the code that we're going to generate. So up here we have a nice icon which is a little cog. There's still a caution warning, yes. It's not going to impact us. So we're going to accept all the default configurations that were in there. We don't need to change anything, we don't need to set any other labels. So it always stays as a caution just as a reminder for you that the default configuration settings. Because sometimes you might want a pin to be active high as soon as it starts. By default everything's active low on these particular pins. So it's all defined as low. It's there purely to warn you that you need to check what's in that box. So it will always appear as a caution sign there. But you don't always have to do anything to it. You might be happy with the default configurations. But it's purely for you to inspect and check on that one. And just select any line, you just highlight on each line and you can see the information that's there for each one. But no matter what you do, you will never get rid of that caution warning. If you change everything on that screen, it will still show yellow caution. Red is the danger one. When you see anything that's gone red, that's when you need to pay attention to yellow. You need to have a look, make sure it's okay with the caution. So we need to hit that little cog window there and that will bring up the project settings. So this is where we now give the project a name and location. The tool chain we're going to target this for is the Atolic True Studio. Now, Atolic True Studio is an Eclipse-based tool which means you have a workspace and a project. This workspace cannot be the same folder as the project. It's an Eclipse thing. It's not an ST issue. This is an Eclipse issue. So if you put them in the same path, your project will always need to be one folder lower than the workspace folder when you're defining your project location here. Alternatively, like you'll see when I put my screen up, mine are just in two completely separate folders. So it's your choice wherever you want it. If you want to keep it all local, always make sure your project folder is one lower than your workspace folder. Your workspace cannot sit on the root of C either. Eclipse does not like that. So that always has to be one off C. So therefore, this one potentially will have to be two folders off the root of the C drive. So always bear that in mind when you're giving your locations. So I'm going to call my project BLE. I've already got a project location which will be cube demo. So therefore, my active folder will be cube demo slash BLE. So that's where my project is going to sit. There's another button here which is application structure. So at the moment, the default setting is basic. This is fine for what we're doing because we've only got one set of middleware in use in this application, which is the Bluetooth middlewares. If you were doing a project that has a Bluetooth, lightweight IP, free RTOS, that's multiple different middleware library structures that you're now pulling in. You would need to change this to advanced because then it will organize things on your hard drive in a more logical fashion to separate all the middlewares out to make life easier for you when you're doing modifications to the project and the software. But if you're only running one middleware pack, basic, which is the default setting is fine for what you need to do. So I need to set my tool chain now. So there's all the different formats that we've got available. So it's the Atolic True Studio that we're going to enable. And then we just need to confirm in advanced settings that our USART has a tick box for not generating function calls because it's the virtual comport. And our blue NRG or our two blue NRG lines are visible and static. So it should be the default settings. There should be one tick box in that column, two tick boxes in that column. Up at the top, this is where you normally have the ability to switch between low layer and how. If you notice, SPI has disappeared, even though we've enabled the peripheral inside the tool. This is because the middleware is now in control of that interface. It's going to manage that SPI protocol between the Bluetooth module and the target board. So it's no longer in your control now. The SPI is in control of the middleware. If you had another peripheral that wanted to use the SPI, then potentially you're going to have conflict. This is one of the questions that we're still working on when it comes to some of these other shields because normally the whole point of the Arduino is you can stack shields. So you can have two, three, four potentially as you build up a project. Now there's only so many interfaces on those Arduino connectors. So there will become a point where multiple items need to do it and the chip select will have to change. This is something that will have to be worked on when the scenarios start happening based on the different stacks that we're going to integrate into the cube environment. So most of the projects today that use multiple stacks have a dedicated XQ package for it. It's not the standard BLE one, it's not the standard MEMS one. It's a third package where any conflicts like this have been resolved. At the moment, we don't have the conflicts there so I don't know how it's going to adapt in that screen yet. But yes, potentially that will be a problem at some point. The same goes as well, this library package is written in HAL. So normally this screen you'd change everything to low level if you wanted a smaller, more compact code footprint. Until the BLE library gets written into a low level driver format, it has to stay as HAL at this time. So we can okay that screen and it will now go off and generate our project. So it will pull all the libraries from the BLE pack, pull all the libraries it needs from the L0 library package and take the template for the Atolic screen that we've got.


everybody, don't be shy if you can move up front. Anyway, 10,000 yen into the sea. Let's give him a big hand. Come on. Awesome. Hello. So as he said, I'm flipper. This is my talk 10,000 yen into the sea. Essentially, just to start with, can I get a show of hands?  Yeah. I'm not a big fan of it either. Actually, I spent four years commuting to and from my community college. Four years, two year program. I had other things to do. So it was a 45-minute drive each way. So I pretty much ended up putting about as much money into my tank as I saved by living in my parent's basement. So all the benefits of living in my parent's basement with none of the cost savings. So that was kind of an interesting experience. And the reason why this is relevant is, shortly after college, I saw underwater gliders and they kind of blew me away because when you see the typical range and duration of these things, missions, it's pretty incredible. Around 3,000 kilometers on a single battery pack charge. And I work with electric vehicles professionally, partially as a consequence of this project. And I got to say, if you can show me a Nissan leaf that can go 3,000 kilometers, I'll be pretty impressed. One of my co-workers says it's all about the drive cycle. So as I said, I'm flipper. And this is kind of what I do, electric vehicles. Professionally, they're ground vehicles here, underwater. I keep on trying to talk my boss and to let me turn one of our vehicles into a submarine, but so far, no such luck. So, you know, I'm finished with my education and not much in the way of job options at the time. Kind of dead-end jobs. And I'm killing time in the bathroom because I didn't really like my job. Reading the Oregonian. And I see an article on Oregon State University's underwater glider program.  They show a little cutaway diagram. And I'm kind of blown away. It's all like, wait, wait, wait. Like, how much do these cost? I could do that. You know, $100 tops. So that's where the $10,000 comes from is at one point in history. That was about $100. A little bit of Jules Verne's, too.  I definitely wasn't an engineer. So I guess that's why I'm here at DEF CON with you guys. So, you know, how do you design an underwater glider? You have to learn how to design an underwater glider. So it was really the start of an education, you know, self-taught in design and manufacture of underwater vehicles. So I was studying machine tool technology at the time, manufacturing engineering type stuff, eventually got a transfer degree. And so yeah, it was a great vehicle to actually learn and gave a really good incentive to, you know, study STEM subject matter and ultimately transitioned into an interest in an engineering transfer degree. So what is an underwater glider? Normal underwater vehicles propel themselves through the water using a propeller. Pretty straightforward. There's no propeller on an underwater glider, generally speaking. They use something similar to a fish's swim bladder to change buoyancy in the water. And as they float to the surface, they have wings on them. Does this thing work? Transfer the change in altitude into forward movement. And so the efficiency of the vehicle is going to be determined by a couple things. First of all, the efficiency of your fish bladder or buoyancy engine.  And then also kind of related to drag is your glide ratio. How many feet forward you move through the water for every foot you lose or gain in altitude? One interesting thing of underwater vehicles is they spend about half the time flying upside down because, you know, your gravity vector flips its head when you are going against the water column or going down with it. So yeah, they're autonomous underwater vehicles that can travel long distances on battery power.  I wasn't even born yet so it doesn't really matter. Very egocentric view of the universe.  And they'd go down through the water column and they'd collect sensor data. And then when they had enough data, they'd float back to the surface, you know, satellite modem, phone home. And then they'd do it all over again. And based on my understanding of how things went down, one person was like, well, these things are really cool. You know, we're getting really good data. We're not having to send people out in boats at, you know, $40,000 a day. But the problem is we can't actually control where they go. They're kind of like hot air balloons. So it was like, what if we strap wings on them? And underwater gliders were born. Henry Stommel was one of the people who wrote some kind of pioneering articles on the potential applications of these things. And what you see before you today between the Scarlet Knight, the Slocum, the Spray, it's become a very popular vehicle class simply because of the range you can cover for the amount of energy you have to store. So the Scarlet Knight is one of the record holders. It was put together by Rutgers University. And it was essentially a Slocum glider that had been, you know, loaded down with extra battery mass and stretched out a little bit. It uses lithium CSC cells, is my understanding, which is kind of impressive because the high-test peroxide rocket fuel you see in the movie Moonraker, as far as I can tell actually has lower energy density. So those are pretty impressive batteries, although also fairly expensive. That's not what I ended up using. So I don't know if this is the correct way to design an underwater glider, but, you know, after going through, you know, 10, 20 designs in my head before even trying to build the first draft, this is kind of what I settled on as the proper procedure. Maybe somebody can correct me if I'm wrong, but you don't really know how you can package your components until you know what your components are. And buoyancy engine being one of the key elements is going to determine the efficiency. You really have to start with that. Energy storage system is going to be dictated by the energy requirements of your buoyancy and then, you know, hold design. It's pretty straightforward process. Very few moving parts. So eventually I did, you know, I'm not a very decisive person, but eventually I did, you know, come to a conclusion on how I wanted to build one of these things. And that was with a phase change material. There's another vehicle out there that uses PCMs to propel itself through the water. It's called the Slocum thermal. And I'm not doing that because it looked really expensive. I read some NASA tech briefs kind of talking about that concept. And I think it was like in hinted decane was the alkane they used. And really expensive per ounce wasn't really on the table because my goal going into this was remember, I said I could do this for $100 if I'm spending, you know, $200 on my my phase change material. I'm kind of already blown out. So these were the design requirements I went into it with. I wanted the, you know, barriers to entry to be super low because even though I had access to a milling machine in a lathe, not everybody does.  And then, you know, range of efficiency, you're not going to take a two order of magnitude reduction in cost without, you know, taking some hits on range efficiency performance. So it was kind of a best effort basis. I'm pretty optimistic. I've got a fairly large battery pack compared to the currency or compared to the current consumption I'm looking at. So we'll see. Here's one of the earlier efforts I made into actually trying to design for manufacture. That's a, that's a Harbor Freight air compressor gear being used to index several syringes. And this design actually served as a lobe of inspiration for a hack I had to make towards the end of this project. Overall the check valves involved were kind of a prohibitive feature that just disillusioned me to this concept. So considered a lot of things. I struck out electric motors, linear actuators pretty early on in the process because, you know, at the time, you know, lathe and milling machine were pretty much, you know, a requirement to make those happen. The weight of using an off the shelf linear actuator was pretty massive.  So wave and solar power, interesting concepts. I'd like to explore them a little bit, especially for one concept I might mention at the end, but overall hydraulic pumps and phase change materials kind of showed out to me as the best choices available. So paraffin wax expands 10% when it melts-ish and it's got a very high specific heat. So when it does melt it'll stay liquid for a very long time. So I was looking at using soldering irons as a resistive load to actually melt the wax. And this is just kind of a breakdown comparison of various energy densities I was looking at for kind of guiding my decision on how to build the buoyancy engine. And when I first started on this project, there really wasn't much in the way available of low cost inertial navigation. You had the multi we project which I thought was pretty genius. They took a nunchuck and a motion plus from a Wii game console and they actually made a 60 degree freedom IMU out of it. Welcome to the future. This is really cool. This is a $33 board available from Hobby King and I can't imagine they have more than $5 of profit margin built into that. You get a really cutting edge chip on there called the MPU 6050 or 6000, one of the two depending on if it's SPI or ITC. But the point is it's got a built in magnetometer and so it can do complete nine degree freedom sensor fusion which is the ability to distinguish between gravity and linear movement through space. And when you're trying to actually integrate your inertial data, you'll run into problems unless you have some pretty good math background or a fantastic product like this behind you. That's the 3DR robotics GPS chip. It was available and it's actually buried in the nose cone of my vehicle right now. Coded in a nice thick goop of RTV compound. Hole design was kind of fun. I spent most of the past year working on that as a specific aspect because it ultimately guided the production of the rest of the vehicle. Once I knew what I was packaging I had to actually wrap it up into some sort of fluid dynamic hole form. And so based on the research I had, I'd heard some interesting things about 30 to 1 glide ratios with something called a McMaster zero foil which is pretty much a NACA four digit series 0030. But based on the simulations I did using a program called Profili 2 marketed RC plane design, its main claim to fame was it didn't stall out at high angles of attack whereas the black line has one of the sharpest peaks on there. So NACA 009 or 0009 was kind of out of the question too. So kind of middle of the road choice of the symmetric air foils that were well understood at the time. Pretty common options or, you know, NACA 0015 ish. So I think my wing root is NACA 0015 and wing tip is NACA 002. And what that does is hopefully like the root on long easy. If you end up stalling out the wing root stalls before the wing tips and that will cause the pitch to self correct. Fingers crossed on that. Not a lot of testing in that regard. So first concept I took a polycarbonate tube, a wax motor used to control a dishwasher, latch, high force, high latency, low efficiency unfortunately as I found out later. And I'm not sure if I submitted my CFP at this point but I was kind of sweating at that time because I'm apparently really, really bad at fiberglass. Who knew? The original idea was that I would be using hot wire foam cutting techniques to actually generate the whole form and then lay fiberglass over it and as you can see from this picture that wasn't going so hot. So not as easy as it looked on YouTube was not going to hit my deadline at that rate. So throw money at the problem. I've generally found that when time is of the essence money can generally buy you time back. So I bought a 3D printer. I really am happy I made that decision. 3D printers are really cool. One of the design requirements being able to build this thing in my underwear check. So similar design, same whole form but now broken into smaller chunks to help with the print volume and also trying to minimize the overhang of the printed parts. Support material is an option and one of the largest prints on there actually was using support material but one month turnaround time you really can't argue with that and I knew 3D printing could really help expedite the design process and getting you through multiple iterations but until I had experienced it firsthand kind of saving my bacon on getting proof of concept out the door and second, third revision, whatever. I was incredibly impressed with the value. That 3D printer I showed was a Rostock Max. It's a Delta Bot style design and they are one of the coolest to look at when they're running. Cartesian bots a little bit lame in my opinion.  So $100 price target, $31 a kilogram for my plastic. That could be cheaper but let's try and be generous just to make sure I don't underestimate. So $21 in plastic. So if you throw a significant amount of capital investment at the prospect of building injection molding tooling then that could come down significantly. Remaining bill of material was actually published to the DVD if I remember correctly. And I mentioned there may have been some hiccups along the road. This bill of material is definitely not accurate to the $.30 mark because the phase change material concept ended up working out to not just moderately inefficient to virtually unworkable at least with the energy storage system I selected. If you need your robot to go to the bottom of the Maryass trench, the fact that it's a solid to liquid phase change as opposed to expansion and contraction of gas really working to your advantage. But if you're going for range and you don't particularly want to be dragging bottom with seaweed, trying to get 3,000 meters depth with that process probably not the most efficient use of battery storage. So I think it was early May when I realized, wow, I've got a 200 volt pack or whatever and it's browning out at 100 milliamps, .1 amps. I knew that coin cells weren't exactly like lithium-polymer or RC plane batteries but I was a little bit blown away. So I needed a plan B or plan C, I guess. So what I came up with was something a little bit more conventional, you know, trying to avoid too many experimental, you know, wild concepts and one vehicle build can be a lifesaver. So I went to the tried and true electric motor linear actuator because if you remember at the time, my perception was those weren't really an option because people wouldn't have access to a lathe and mill. But with a 3D printer that potentially changes. So I ended up using commercial off the shelf McMaster car parts to build the assembly which you can see in white on the actual robot now.  Everything else I was able to recycle between. Sorry about that. The great pipe was a really good choice because it allowed for routing of the wiring and ultimately acted as kind of a skeleton or a backbone for the entire vehicle. So what I learned from that process is 3D printing is awesome and the great thing is when you're actually done with it, you don't have to go through an entire twisted new process to design 3D printed or injection molded parts. You're practically already there when you have a working prototype. What did I learn through the process? I feel like I actually hit a pretty good balance between failurely fail often and not making stupid mistakes for lack of planning. I didn't build anything before I had complete solid model data and that's really valuable when you're trying to avoid these last minute crazed runs to Home Depot, West Marine, AutoZone, whatever it is. If you have a complete build of materials before you make the first part you know exactly what's going into the thing and you don't find yourself running into these issues where parts are colliding with each other. So and then it was also extremely difficult to quantify whether or not a design decision was a good or a bad one such as the wax motor until actually trying it. So it was a design decision trade-off to not use so much simulation and I was pretty happy with how that went because you can simulate the daylights out of a bad idea and then find out you know you wasted the last year doing you know F.E.A. or C.F.D. on broken design and then it's all wasted so prototypes can illuminate things that you otherwise wouldn't be aware of.   On the other hand I gave pretty much the profit of the design away for free on the DVD this year. I've probably spent around 15 grand on the project over the past decade and so I would consider it dubious appropriation of my retirement savings. But you know that was the mission from the start I want people to be able to build these themselves and kind of empower themselves to deliver sensors, communications devices and payloads to remote destinations where traditionally it would be prohibitively expensive at you know tens of thousands of dollars per vehicle. And how that's possible is if your price is low enough you can consider it disposable and you don't have to pay somebody 40 grand to go out in the water and change the batteries. So we'll see ultimately if you build it they will come and if it's a good idea hopefully people will say hey maybe we should build some of these. So where to go from here. I didn't have an opportunity to test Max depth because I only had one prototype as of two weeks ago and I didn't really want to lose it out in the ocean scuba diving.   Thanks guys. So in terms of trimming vehicle I can say with high degree of certainty this thing is very positively buoyant. Traditional buoyancy foam polyurethane or epoxy and glass micro balloons. High crush depth kind of unnecessary seeing is how I designed the vehicle with syringes but overall a good choice. So generally speaking epoxy or urethane I chose paraffin wax it's low cost and over half the dollar per pound of buoyancy I was seeing was either epoxy or polyurethane so paraffin wax is like four dollars a pound. So very positively buoyant every empty cavity in that entire thing has a specific gravity about .5 so it's really just a matter of how you distribute your lead and batteries at this point to make sure that when the buoyancy engine is in a neutral position it's sitting about horizontal because when the vehicle goes buoyant the center of buoyancy moves forward on the vehicle and it pitches towards the surface and the GPS chip starts rising up to its daylight and when it goes negatively buoyant the opposite happens. So if you're a neutral buoyancy you should be sitting around level in the water and it's really just a matter of adding weight and removing buoyancy foam as necessary to achieve that. I'm looking at around 40 to 50 milliliters of displacement change so it's unknown at this time what the vehicle's velocity through the water is the more buoyant it is the faster it's going to pop to the surface like a cork and your speed through the water is going to determine what the Reynolds number is and that guides you know things like what airfoil you select but first draft I'd call it an alpha stage design and openglider.com is where I'm going to be adding future revisions. The one on your CD is Rev 0.1 and Rev 0.2 will be on openglider.com tonight and that will have the new white syringe based assembly. So yeah in terms of research that went into this this guy named Bruce Carmichael was one of the pioneers of the airfoil you see before you. It's called the X-35 and originally it was known as the Dolphin but if I understand correctly they ran the Dolphin through a genetic algorithm and ultimately the citation shaping of axiometric bodies for minimum drag that one I think was where I was able to find the coordinates for this design. It does bear some resemblance to some other vehicles on the market and that shouldn't be too surprising seeing as far as I can tell we did use the same curve rotate around its axis to generate the main body. Otherwise the NACA 4 digit series is pretty a common equation and I threw something in here that I found really fascinating. It's the geometry of a blended wing body morphing wing and that was the idea that you could actually design an entire vehicle around variables and equations so you can change something like a static wing sweep from 30 degrees to 15 to 25 degrees and rather than having a lot of hard engineering labor going into remaking the entire design it just regenerates itself so very early on in the process I was trying to stick that concept and I was pretty pleased I would change the variable from like a NACA 4 digit 002 to NACA 005 kind of crazy and hit rebuild and the model would regenerate itself with very little labor on my part. One thing I'd like to explore is potentially even doing a genetic algorithm around that concept to optimize for parameters like speed through the water column and lift to dry ratio. So that's pretty much how I got here. The X35 took me like six months to a year to even find. I had no idea where people were getting this curve from but I saw it in several places. Ultimately it was just a mad Google foo that was able to illuminate the coordinates to build this thing and in terms of other information on how to build an underwater vehicle I was going to joke you know every story zero has a favorite weapon Brock Sampson's Bowie knife, Will Smith's little cricket and flippers hot glue gun. When you're trying to waterproof stuff I've tried a lot of different things, conformal coat, epoxy potting, pressure housings and overall even paraffin wax actually you know it's not going to do very good in the Caribbean where the water gets damn near 80 degrees Celsius. And so but it does a pretty good job because when you pot your electronics in epoxy it's very difficult to actually recover them or repair them if something blows up but when you're using paraffin wax the 80 degree C melting temperature is actually below the rated temperature for most electronics so if you decide you want to change something about them and I've had to you can just use a hot air gun or boiling water to rescue your electronics. That said from a durability standpoint paraffin wax even if you anneal it with a little bit of mineral oil not the most durable thing ever so ultimately hot glue has been my favorite approach to waterproofing and if you need something a little bit lower viscosity get you know down in the English muffin nooks and crannies then they make low viscosity silicone RTV. The acetic acid can potentially corrode your electrical contacts but we're talking about disposable vehicles here it doesn't have to last three years. I've got electronic speed controllers I potted for the RoboSpub competition two years ago that still work and that was just you know plain Jane auto zone RTV compound and so pretty much every piece of electronics on that thing are just either code and hot glue or RTV compound and it's pretty easy low cost way of waterproofing electronics so I guess at this time would be a good way to go for questions. Yeah that's a good question so one of the problems with underwater vehicles that make some kind of interesting to me is unlike you know Mars rovers you know easy environment you know aerial vehicles a bunch of lightweights you know these people they're so spoiled with underwater vehicles you don't get to talk to your robot after you let it go until it comes back to the surface at which point you know it's kind of a surface vehicle until it goes back underwater snorkel depth style so no radio frequency communication so it has to be pretty much all autonomous and the source code I used with the IMU to actually it's called a haversine formula it finds your current GPS coordinates and your destination GPS coordinates and gives you a bearing and the distance you need to go to get there so it's pretty much a line follower robot that's what makes underwater gliders potentially so successful is unlike you know mind detecting robots or you know anti frogmen stuff they have a pretty basic mission which is go from point A to point B so object avoidance potentially with sonar but you know suddenly when your payload starts getting into the you know high dollar sonar stuff it stops being so disposable at that point you know my 3D printed open glider may not be the best choice of vehicles so testing has been kind of an iterative process I've learned every time I stuck in the bathtub early on it was pretty much with a small car battery and some red and green wire hanging out hanging out of the thing underwater vehicles can actually be communicated with remotely using something called a tether at which point they're no longer AUVs or UUVs or ROVs remotely operated vehicles and I had two years of tethered vehicle competitions that kind of prepared me for working with the unmanned side of things and it's a it's a pretty good way to go so for testing bathtubs are surprisingly effective you have them in hotel rooms and yeah generally speaking the main thing you're going to be testing is either what it decides to do when it gets in the water or how it sits in the water when you put it in there and both of those things don't require a big swimming pool also a lot less terrified shrieking swimmers running away from the evil robot it's the second one so I don't really rely on pressure housings as a rule I had to depend on some amount of air cavity for the design fix and it's the most conventional thing about this design was you've got little linear actuators driven by three volt gear motors actually I think I have one anybody want one I know audiences love things being thrown at them not you mark oh hey speaking of that anybody want a flight controller thirty three dollar give me remember two is one one is none so bring spare parts sorry I throw like a roboticist more questions oh good question so when you have like a tank light when you're scuba diving you can actually make them water active is they are only wasting battery life when you're in the water and you're trying not to lose your dive buddy in my case I don't have anything smart like that on my robot so those wires allow me to disconnect the power supply from the actual microcontroller because once I plug it in it just goes and it'll keep going until I unplug it oh really good question I was on ROV conference and this guy was like super salty you know had been out in the field for a long time told me a really cool trick you go to like Harbor Freight and they'll sell these heat shrink packages marine heat shrink and it's just heat shrink that's been lined with hot glue and you don't need to use special heat heat shrink or wire crimps you can just take your wire splice coat it in hot glue and then run heat shrink over it and when you melt the heat shrink or you know shrink the heat shrink it'll melt the hot glue again and pull all the air bubbles out great question has it what oh yeah no I totally glossed over on that really good point so I don't actually have one buoyancy engine I have four and generally speaking you might have them towards the top of the vehicle I have them low on the center of gravity because I had two places I could put them top or bottom and the top was all being used by syntactic foam or syntactic wax buoyancy sand and since that was more buoyant than the buoyancy engines themselves I have them down low and so I have broken the cross section of my vehicle into eight little slices of pie the top four are full buoyancy sand in the bottom four there are two pairs so when you trigger the two on the left your left side is going to be more buoyant than your right side so one wing will lift up and likewise if you use the two on the right it's going to change the attitude the other way so this is one unique thing about my vehicle design traditional traditionally you actually move your battery mass whereas I'm just having four times the buoyancy engines are typical and finally you know if you change buoyancy on the bottom two then you'll just go straight a good question so I can say with pretty good confidence that my inertial navigation system is not you know high enough quality to be US munitions list grade so that's that's totally a relief yeah these are hobby components so video game grade in terms of actual like integration of my you know velocity or you know whatever to get my position I don't really do any of that I've been working a little bit in my free time with trying to use fetal Doppler monitors which measure the velocity of fluid through a baby's blood to you know let you listen to the kids heartbeat kind of cool and they're essentially homodines ultrasonic homodines and I've been looking at potentially getting some velocity information from that but pretty much I figure out which direction I want to go and it's a line follower but it says I know I need to go either left right or straight and it dives and comes to surface and it says oh wow I missed my target but okay now I need to go you know it doesn't really look backwards only forwards good question thanks ooh bathtub depths okay originally I had a washing machine wax motor from like a I think it was a Whirlpool Neptune or something and that one didn't get a lot of mileage simply because the fiberglass thing went so terrible just didn't really work into the 3d printed picture so then I moved to a soldering iron based design I was using silicone high-temperature rubber hose and soldering irons and filling them with wax and I was browning out my power supply even though I only needed about 100 milliamps it was still too much and it would have been a pretty big design tear up to change my batteries so I just changed my buoyancy engine questions really good question so in the original solid model I designed around I actually made a solid model of the PX4 autopilot from DIY drones or you know PX I don't really know what that relationship is but it's a really good board it uses a publisher subscriber system and so right now I'm only using the the IMU the micro we board for everything and one of the issues with that decision is it is so flash memory constrained that you can only just barely compile the source code included on your DVD in fact if you try and use arduino 1.5.2 to do so it's not going to work for you you have to use arduino 1.0.4 if I remember correctly and that will work so didn't remember to put that in the slides and I'm glad you brought it up so there is a reasonable amount of space about one quarter of the size of an Altoid 10 maybe half the size of an Altoid 10 for you know a supervisory controller to supplement the IMU the IMU is broadcasting yaw pitch roll information that's already been fused so it's pretty much relative to your world body or world coordinate system and it's really nice because it's publishing it on the serial port and it's also telling you time's up alright um any further questions uh or uh wanting to see the robot in person you know touch and feel uh I'll meet you guys out in the hallway I guess


Is that gonna fit? Hey everybody, so today we are doing a video that I'm actually so excited about. We are going to be buying an Amazon return box today. For those of you who don't know what that means, Amazon has probably the best customer service of all time and their return policy is almost a little absurd. They will basically take anything that you are unhappy with for any reason back and refund your money. Now, what happens to those returns? Well, I thought originally that if the item was in okay condition they would just fix it up, re-box it and then push it back out there. But they don't do that unless the item is in pristine like almost brand new condition. They actually send all of those returns to a liquidation facility where they are then bundled up by like genres or categories of items and then auction off to the highest bidder. Now, why would you want to do something like that? Well, there is a lot of potential there. So if you wanted to, you could just get a lot of items or items that you were thinking about getting for a significant discount and they are just either open box or maybe in slightly worse condition and you probably aren't even gonna notice that. The other reason you might wanna do that is maybe you are very knowledgeable in a specific market for items and you wanna flip something and make a little extra cash and then finally, maybe you see an item that you actually want and everything else that comes in that bundle you can resell to help pay for the item that you wanted. I don't have a ton of experience in this which I think is perfect for you guys because now you'll see if this is actually that difficult or something that you can jump into right away after watching this video. Now I have done a little bit of research on this concept which is why the idea came to me in the first place and I've seen some other YouTubers take it on but in my opinion, they were either one really boring with their delivery and number two, didn't really talk about the fees and shipping that actually goes into buying these auction palettes. I'm hoping that I can show that information and make it a little bit more transparent for you guys and hopefully we can solve a good time and figure out if this is something worth doing. liquidation.com is what we're gonna be using. I have no idea if Amazon actually takes their liquidation bundles and has them sold to other places but from what I can tell, this is the main place where you can find their items. We're just gonna go ahead and click on computers and networking because I think if we try to get any more specific, we might miss out on something in a really cool bundle. Here we have a motherboard. I can see the Z370. That's actually the same motherboard I'm using in my computer right now. Electronics, Asus Prime Z370A. All right, right off the bat. These pictures are really sh**. Like these are zoomed in and you can't see everything in there. I can tell here view manifest. Okay, cool.  This is cool. They actually tell you the MSRP of the item. This is kind of click baity. You can tell they're actually showcasing the number one item first and they actually put it in the picture. If we look closer here, as I'm scrolling down here, I'm not gonna read everything. You guys can pause the video and look at that if you want. But a lot of this is crap for the most part. Clearly they're just throwing in a bunch of other things in this palette and right now the bid $420 is what you'd have to bid. It's going for $410. And they're saying the manufacturer's suggested retail price is just under $2,000.  So we're probably not gonna get that one. Okay, so you can filter it by condition, region, the lot size, the, wait, what? Why is there a warehouse in Las Vegas? Wait a second. This is in Las Vegas? Okay, for those of you guys who don't know I'm from Las Vegas. We're here, I'm here right now. If I buy something from Las Vegas, does that mean I don't have to pay shipping? Okay, I talked about this earlier in the video.  So shipping for something that large is gonna cost you like hundreds of dollars. After signed forms are returned, the buyers provided the pickup location. I can actually just pick this up. Oh my. I'm sorry, I don't have that. Okay, so here let's look at some of the other specs here, condition salvage. So this is concerning. Obviously if you see the word salvage you're assuming it's for parts. Salvage assets have been identified as defective for reasons concerning their functionality, appearance or both. Wait, what does that mean? Functionality, appearance or both. So it could just be their appearance. Like someone could have just sent back like a cracked open box. So basically you're paying for a mystery box and there's no guarantee if this it works. I like it actually. This is kind of like a Craigslist meetup. This is not that different. There's just a little bit of sketchiness on whether or not the person who returned the product to Amazon was trying to scan the system or not. Now it's like a little bit of a gambling game. Now we're really in Las Vegas. So let's just take a look at what we're actually gonna bid on. Computers, memory storage units, MSRP, 2500 bucks. Monitors, LG Samsung Dell 23 to 38 inches. So some of these are ultra wide. Asus, Dell, more monitors. Is that a Nintendo Switch? Do you manifest? Wait, the Nintendo Switch isn't listed on there. That's like a $200, $300 item. Yeah, it's right there. So wait, is this a part of the bundler or not? It's in the picture, but it's not in the list. All right, so I have 15 bundles here. They're gonna sell the next 24 hours that look like they have a decent amount of potential. And my first auction is in four hours and 21 minutes. Okay, all right, sleep in four hours tonight, cool.  And first thing we're gonna do is see if we can get some decent parts. All right, I just woke up.  I have to add a credit card? Oh my, no, no one else bid on it too.  It looks like someone's just barely outbid me. And from what I can tell, this thing to me at least is worth maybe around 500 if it works. I mean, it's worth well more than that, but I'm willing right now to go at least 500. Maximum bid, I'm gonna show my bid. I'm gonna go 300 flat and just let them know. So thanks for the bid. You are currently the highest bidder, cool. Four seconds, did I win? Yes, I think I won, I think I won, I think I won. So second listing, $404 estimated value, $1,600. Not a huge amount of savings. I'm gonna just try to assume that these headphones here work, but I really wanna know if they blatantly missed listing a Nintendo Switch in the manifest. Like, can I just not read? Like, have I not seen it this whole time? Oh, yes, okay, I just got the email notification right now. I am the winner of that first auction, so I'm gonna go ahead and minimize that one. Is this legit? Can we finesse a Nintendo Switch? We'll do 475. If I get outbid, I'm not touching it. Shh, don't say anything. Okay, we finessed it. All right, so $450. All right, so now we have to pay for our two bundles, so from what I understand, we have to go to my account. Cool, so here on the left, you see the dashboard payment required, and we see the two listings that we paid for it. Now, let's look at the monitor one first. So you see here, we bid the $300, but then here are the fees. Shipping and logistics would cost us $127. That's more than a third of the actual listing. The buyer's premium, which is the 10% for the auction. I don't know what that 10% pays for, but it's a flat thing. And then there's the sales tax. There's no getting around the sales tax. There's no getting around the buyer's premium. All right, so the total would end up being $480. That's a lot. But what we can do is arrange your own shipping. So let's read this, I actually haven't read this yet. Upon payment, you will receive an email with the pickup location, instructions on how to schedule for pickup. All right, cool. So submit. Oh, that was easy. I just had to click submit. All right, cool. So now if we look down here, you see shipping and logistics at $0, and that brings our total back down to $356.74. So saving a lot of money by living in this wonderful gambling alcoholic addicted town. Contact our customer support team at 1-800-498-1909. Okay, so I just have to call them. So while we're waiting for them to answer for the first package that we paid for, we have already knocked off the shipping cost for our second bundle. And we're gonna go ahead and pay for that so we can just try to pick up everything all at once. Okay, so everything's paid for. We just gotta go do pickup in two and a half hours. And here's what we're looking at so far. So we've spent, we've spent $891.84. But the MSRP value of what we did purchase is over $7,000. So supposedly right now, if you do the math, we are roughly getting eight times our money's worth. But we've yet to even check any of it out yet. So I'm gonna go ahead and get the camera stuff ready and be prepared to pick up what we paid for. All right, so we are here at liquidation.com. I'm here with my beautiful furry friend Max. And now we're gonna go inside and see how we're supposed to buy this stuff. What's the name? Christopher E. Let me go check on you over here. Okay. Well, that fit. Barely. If we cut it open and move it, I hope. Yeah, just right here. Thank you so much. I appreciate it. Is this? Is this? Is this? The bed. How do you feel? It's a little tight. A little tight. Thank you. No problem. I love you. It's fine. You gotta say it back. Love you too, Chris. Thank you. Bye. Yo. All right, so we are finally back at the house and I'm too excited to keep delaying this. I just really wanna open these boxes. The first thing we have is half of our $535.10 bundle. Like we touched on earlier in the video, the thing that I am really, really, really excited for is to see if that Nintendo Switch might be in here and if that box is in here and it's not a Nintendo Switch, what did they put inside? So let's go get a pair of scissors and let's start cutting. Whoa. This is not the box that will have the Nintendo Switch in it but that doesn't mean we should skip and go to the other one first. Moleskine pin ellipse. I don't even know what this is. Oh, this is for music. Okay. We have an iPhone 7 life proof case, a universal cassette adapter for car stereos. It's like a keyboard or something. I think this is part of the laptop stand, I'm not sure. So this is our gaming router. I wonder if this will actually increase the internet speeds in the house. This is, I think this is a Bluetooth speaker, a ton of pens and adapter for an iPhone. We have premium selection toner cartridge. I don't even know what that is. And then lastly in this box, we have, okay, this is, we have instant film and a case of some sort. It looks like for headphones or a charger. Now we're gonna get to the box that you and I are probably most excited about and see if what we're hoping for is actually inside. All right. I wanna truth. Oh man. Is this it? Oh my God. It's actually in here. That is crazy. How, how did they not put that in the list? How do you mess that up? This is worth like $250, $300. And then we have these Sony WH-1000X, over the year headphones. These are supposed to be worth like $350. Are these supposed to be quality? The headphones look completely unused. All right. So we've easily gotten our money's worth just off of the Nintendo Switch and these headphones alone. Master, Master Lock Storage Security. It's supposed to come with a key. I don't see a key. All the post notes I could ever need for the rest of my life. Lucifer on Blu-ray. A3 high professional gaming headset. Amazon basics. I'm not even sure what alkaline. Ghost Adventures Season 15. We have some kind of controller here. I'm not sure what console this would be for. Wireless charging power station. This is like a six foot long iPhone charging cable. Another USB cable. Support for AirPods. They have accessories for headphones. More iPhone cables, colored pens. And then lastly, we have an old school Nintendo DS Lite. This thing is so old, the white is actually yellow. Oh my God, it turns on. Now comes the more exciting and scary test where we start to open up our second bundle. I do have the fear that a lot of them are gonna end up not working, but for $350 for all the 144 Hertz curved ultra-wide monitors we do have out there right now, if one of them works, then I think we will have at least gotten our money back. So we're gonna bring those things in now, test them one at a time, and we'll see what we got. The first thing we have here is an LG curved ultra-wide gaming monitor, 34 inches, 144 Hertz. Upon inspection, I'm finding out that there is a giant scratch right here across the front of the panel, which is a little bit of a let down, but let's see if it makes that big of a difference when this thing is actually turned on. All right, okay, we're off to a good start. We can clearly see why this only costs 350 bucks. So let's plug this in. Let's plug this in. No! This one's not as bad. This one has this crack up here in the top right corner. Oh, okay, don't touch that. Oh, there's a dent. There, okay, yep. Yeah, this. Alexa, play this plus Cito. Just one. Just let one monitor work. Oh, fix, oh my God, we got one. Oh, thank you, thank you liquidations.com. 144 Hertz, ultra-wide, 34 inches. This monitor, according to Amazon, apparently this thing only goes for $500. Okay, so yeah, that's like $150 more than what we paid. So just with this monitor alone, I'm really happy with the purchase. Obviously it's used, but I'm telling you, from what I can see here in person, I don't see any scratches on this monitor. So I can put this to the side and at least not be disappointed that everything we bought was a f**king f**kfest. No way this sh**, it works. Oh my God! The hush nubs. Is that a scratch? No, that's just cat hair. The plastic seal's still on here. 100 Hertz, I gotta look this thing up. How much does this cost? This thing goes for $950 on sale. This is a $1,000 monitor. The best part about this, I mean, well, I mean, there's so many best parts about this, but this has G-sync technology and G-sync technology for monitors goes for so much money. With the two monitors I have now, the LG one and this ASUS ROG one, I have about $1,500 worth of working monitors that I paid $350 for. Worth, big time worth. All right, so plastic seal is still kind of on this thing. IPS 4K panel, ViewSonic. Let's turn this thing on. Oh, sh**. Let me zoom out here. Yeah, you guys can see what I'm talking about. So right up here, it's like kind of grayed out, but that's not bad at all. Like this is totally usable. This is a ViewSonic VX4384K 43 inch frameless widescreen IPS monitor. Okay, so this is actually a monitor. This sucks, man.  This strip here at the top is not that big of a deal. Let me play a YouTube video. I could see how this would be a little bit annoying over the course of time, but I could deal with this. All right, so what did we learn?   I don't know who does the inspections and why they can't just list what's down there, but obviously that risk you take does help and play a factor in whether or not you're gonna get something good. So we got two of seven monitors that were completely undamaged. I don't really count this giant TV monitor to be undamaged because of that little strip, but it is still usable. And then obviously with the smaller packages over here, like these big boxes and everything, there is room for mistakes there because clearly it was very plain to see in the picture that there was a Nintendo switch in here and there was no reason for the people who were putting the manifest list together of what's in this bundle to miss that. Like that is a huge big ticket item. I'm not sure how that just went unnoticed. I think it's pretty obvious that I made my money back, but if this is something that you guys are gonna choose to do on your own, I think it's gonna be up to your discretion whether or not you, one, wanna take a risk on the monitors, or number two, take the time to see if what is in the pictures or what isn't on the manifest list is something that you're willing to put some money on and see if it pays off. So the last thing I will say before I get going is that obviously in this video, you saw that we spent a lot more money than we usually do. I know this is a budget oriented, make money, save money channel right now with tech, but I just wanted to say none of this would be possible at all if you guys were not as kind and as patient as you are with watching the videos on the channel. I know I put ads in the video and that's to help pay for this stuff. My intention, as I've said as always with this stuff is to sell and put more money back into the bank account that helps fund this channel. And without you guys, this would not be possible. I've always wanted to do really cool stuff like this and the fact that there are people like you out there who are willing to take your time and help support it even just by clicking on the video. It means a lot and even more so than that. On the stream that we had before we shot this video, you guys were more than kind with donations and showing that you want to invest in whatever this channel is becoming. So I just want to say thank you to you guys, viewers, stream supporters, donors, all you guys. You guys are awesome. So thank you very much. I hope you enjoyed the video. I hope you found it creative, entertaining or informative in any way, shape or form. And as always, have a great day.


Hello and welcome today. We're gonna be looking at streaming TV shows and movies or getting links to download TV shows and movies From your Linux shell now, of course I want to point out that depending on what it is you're streaming or downloading this may or may not be legal. So make sure that What's your streaming is legal for you to stream where you live? That's the disclaimer. Let's go ahead and get started We're gonna be using a website called watch dash series dot co This is the URL to their search Page so I'm just gonna go through this. I'm gonna run through these commands There are basically three different steps to this and of course you can put this into a shell script to automate it But we're just gonna manually take this. I'm gonna use W get With the dash Q option for quiet the capital O and dash mean standard output So we're gonna be typing just the the code from the page To our shell so here we are searching now. We need to give it key words. We're gonna be looking for a movie called flying Deuces I think I spelt that right It's a old Laurel and Harding movie that to the best of my knowledge from I've looked up online is now in the public domain So we should have no problem legally Downloading and or streaming this video to the best of my knowledge again. I'm not a lawyer Let's go ahead and do that and you see it gives us some output here And what we're gonna be looking for is a link So when you do a search it gives up a list of all movies and TV shows under that And then we need to grab that URL to go into that And then we need to grab the episode we want and then we can get the URL for the video So this is the first step just doing the search. So let's go ahead and what we're gonna search for now is We'll just grep again the grep-i Flying to see what comes up as far as URLs here. It is series is what we're looking for So we're gonna be looking for these links that say series and how do we get that when there's Multiple options here. We can look at other things in our search return here But what we'll probably look for here is Probably this view more let's see what happens when we search actually, let's see what happens Yeah, let's do that. So it's just a trial and error here at first We don't need the dash I anymore. There's one very specific search. Oh good That returns just one thing and so there's only one option for that and of course then we can Use cut and we can cut with a delimiter of question or quotation marks And we want the second so go dash f2 for field 2 and that will give us the URL Of course, it's the URL without the domain, which means we just have to add this first part here to that Which we can automate with a script, but just real quick Let's say that we were searching for something that has multiple returns So flying users only returns one. I'm gonna search for Star Wars And here we'll get a list of movies and of course you can pipe this into something like fcf if you have it installed Which is real nice, and then we can do something like Return and get return of the Jedi or something like clone wars and then we can pick the season that we want here I'm gonna hit that it returns that so now that we have learned how to get The URL to the series we now need to use that to get the URL to the episode and even if it's movie There's usually a link to the episode which would be usually either zero or one in that URL So basically we're gonna take what we've returned So let's go back up to flying deuces and we'll cut that we'll get that now the next step again Let's clear the screen. W get dash q o dash for quiet and standard output and whoops That's a that's from the end of the video. I pasted the wrong thing We'll go ahead and paste this but again. We need the the series at the beginning here, so we'll do This right here, and we'll put that at the beginning and now when we do that it returns the page for That series so now we're gonna be looking for episodes. Let's go ahead and grep for Episode and see what turns up. There we go. So we have a few different things that return And let's just go ahead and pick one of these We're gonna go ahead, and I think that doing one of these classes Let's see if it returns that might return more than one It looks like it, but let's go ahead and just now instead of gripping for episode We'll grab for that and it gives us to return so then we can use head dash and one to get just that first line And of course we can pipe that into cut dash D for a delimiter and we will say field two here and there we go We have our URL to that episode which in this case is a movie and So we will now again go back to W get q dash o I can try dash q o dash and We will take again our domain so that will always be the same So if you were to put this in a script you probably put that into a variable and use it over and over again For each thing you grab so now we've got the episode now if I real quick grep the code of that page I can do something like open load open load is one of the many servers They use to load these videos and TV shows on to think about this website this watch series dot CO Yeah, they use multiple different servers and not every page is going to have an open load link So we want to look we got a list of all the servers. That's what we want is a list of all their servers So looking at this again, we can go data dash videos So instead of searching for open load We will get a every line that has data dash video on it and that's a list of all our servers And of course we can use cut dash D quotation marks again. We'll count one two three four five Six I think is what we want here One two three four five six data first one's a little different, but let's just go ahead and do dash F six And there we go. We have a list of servers now You can't just take that link and put it into most video players because they're not gonna know how to do it certain players like MPV if you have YouTube DL installed will get the link and play it But most other players won't especially if you want to send it to your kodi box or something like that We want to get the actual link to the video So what we're going to do is we're going to use YouTube DL to look through all of these So we will take that output We'll take that into a while read. We'll do you for URL do Done and we'll say YouTube DL, which we don't want to download the video right now We want to dash G which means get the direct URL to the video file So I'll take that and we will say dollar sign you and when we do that it should go through each of those URLs and if that Website like open load or Stream mango they if they're supported by YouTube DL We should get a direct link to the video file now be aware that most these sites generate a URL For you when you go to watch the video, so you can't take this URL and send it to somebody else because it'll be based on Lots of times your IP address and they'll have a time limit that they will expire at But just for right now downloading or playing it on your system This should work, but we have a lot of warnings for the websites that aren't supported So what we want to do now is go to our YouTube DL thing here and we will say to pipe Dev No, and what that will do is it will get rid of any errors So we're only going to get the output of workable URLs So there's a URL there's a URL and I should be able to take that and on this current system as long as I use it right now And I don't wait I should be able to put these any of these links into any media player that can stream videos And it should stream, but we don't need them all we just want one one thing We can do we can try doing head and just say oh we just want whatever the first return is the problem with that is we'll get the first URL and Then The script is still running the script is throwing because it's still getting all the other URLs It's just not displaying to the screen the head command saying just return the first one So a better option instead of doing that because that's going to take 30 seconds to run really it should only be 10 seconds What we'll do is we'll get rid of the head command and right here after W Or they're sorry the YouTube DL command we'll say ampersand ampersand which means if successful will say Break which means as soon as we get a URL that works break out of the loop. We do that. We should get that first URL and then the script should end Perfect. So now we can take this URL and again, I can use W get to download it I can use curl to download it. I can put it into VLC or MPV or whatever media player I use Or I like to use axel. I'm downloading that way I can say hey make 10 connections that will download a little bit faster So that's how that works. So I mean we could take this and again MPV would already be able to do this without running through all of it Every bit of this summit will need for scraping the page but I can say MPV and I go like that, you know putting inside the Question or sorry dollar sign quotations and the video starts playing again This video should be in the public domain So no problem with you guys streaming that if you want to the best of my knowledge again I'm not a lawyer So again, we went through things quickly here, but again, there were three steps searching for the video. So we can do that again We'll do Fuzzy finder here and said Star Wars will say Fine, I don't need to do the full name. There it is and that returns the link to that And that'll be the movie or series, but then we need to get the episode So we did that and then after we get the episode We can then grep that page for all the servers use YouTube DL to get a direct link to the video piping all the errors to the unsupported servers to dev null and then breaking out of the loop once we get a usable URL so again I put this MPV or I can use W get or I could use and using W get in this case We'll give you a funny file name So you definitely want to use W get and these dash. Oh, whatever the name of your movie mp4 They're always going to be mp4 so you can you know that for sure Another one would be like I said axle which I've done videos on before dash n and then we'll say 10 and then we'll say dash Oh lower case. Oh in this case Whatever name for a movie mp4 and that will actually make 10 connections to that server You don't want to really do more than 10 because then you might get booted from that server But that definitely does speed it up. You'll definitely get Faster speeds and just using W get Yeah, I hope you found this useful again We used it for a public domain movie Be sure that you don't get in trouble by doing something illegal with this This is just a lesson in website scraping and streaming videos from the shell. I hope you found that useful This is I wouldn't say in advance but more of a medium Tutorial I should have said that at the beginning, you know medium knowledgeable user So anyway, thank you for watching and I hope that you have a great day


It took some water. Good head shakes. Whoa! Yeah, keep them right in the water. That's a pretty fish. 19? 19 inches. That's a future, what do you say? That's your call. Ah, throw him back. Yeah, he hasn't been out of the water long or anything. He's pooped all over you. Let's take a quick look at him. That's good. Good release. Good solid fish. Thanks buddy.


In this video, we're going to have a look at some tools that you can use to help you improve your reading productivity. And we will talk about these five areas. We'll talk about the questions of what makes a text readable to improve the amount of time and the effort they've so read it. We'll talk about listening to your text. We'll talk about navigation. We'll talk about various apps you may want to use and the hardware that may also help you with your reading. So first, what makes reading easier? Well, there are three things that can make reading a much more pleasurable and less effortful process. And that is, I have more space, use audio to support your reading, or maybe just only listen to your readings. Now, to understand what it may feel like to get that improvement, have a look at this text. If you were to ask to read it out loud without any preparation, you would definitely struggle. But if you simply add a bit more space to it, all of a sudden, it seems like a much less daunting task. And you can do it much more quickly, but also with less effort. And you will not be as tired. And you will also have more time to focus on what the text is about. And it's the same as if you're driving down a narrow road. So if you're driving a narrow road, it takes a lot more concentration. You have to go much slower. But if the road gets faster, for example, a motorway, then you can go much faster there as well. And the two main things you should always do to improve the reading experience is increase the text size. So as you can see, going from a smaller text to a larger text makes the reading much quicker and much less effortful. The other thing you should do, if you can, is to increase the line spacing. So perhaps anywhere between 25% to 50% increase in the space between lines will make your reading easier. The other things that some people prefer to do is slightly increase the character spacing. So you can go by half a point or you can go by as much as a full point. And if that makes reading easier for you, again, you should take advantage of that if your tools allow it. So there are some places where you can do that. So first, make sure that when you're reading on a digital device, you'll learn how to zoom and you'll learn the right ways to zoom. Don't leave a lot of white space. Make the letters as big as you can. But that also works with a keyboard shortcut on the web. So you can do control plus and that will make all web pages bigger. But the same thing can apply to Microsoft Word. So if you're editing your documents or if you're working with together with somebody on a screen, make sure you go to the View tab and zoom in as much as you can. So for example, there's a Page With option here or zoom in to more than 100%. And that will, again, make it easier for you to write and also read what you are reading and then you'll make fewer mistakes. And there is one thing that people often are worried that they would like to see as much of the page as they can because they want to avoid scrolling or turning pages. But actually, turning pages or scrolling doesn't take any effort. What takes effort is decoding the writing. So even if you can see the letters quite well, still make them bigger because you will be able to read faster and you'll be able to focus all the energy on understanding what it is that you're reading. Now, Microsoft Word even has an option that you can create a much more reading friendly layout at the bottom if you choose the reading view. Now, you can do the same things with websites. For example, here's a screenshot of a blog post. And you can simply use a tool called Instapaper to make it much more readable. Make the text bigger, remove all the distractions from the page as well. So Instapaper is a great tool that you can use to not only make the website easier to read, but also you can send it to your device, such as a tablet or a phone, and then read it on the go. There's another tool that I really recommend, and that is called Reader Mode. And Reader Mode will do the same thing for you on a website, but it will give you even more options than how you can format the text. Well, for example, choose a dark background, even have a ruler, and so on. And so Reader Mode is a very good tool. I highly recommend it. It is free, but there's also some paid options that you may want to consider. And it is not only the very long text that you can help with, but also just simply reading the news. So for example, if you apply Reader Mode to this news item from the BBC, it will look a bit like this. And again, you see that it's much easier to read without any of the distractions.  There are some other tools that people use to improve their reading speed. For example, speed reading. Instapaper gives you an option to try that. And so there is a speed reading option here Instapaper. If you click on Speed Read, it will simply present your words at a time. And you can read this way. And you can also choose the speed of how those words are presented. Some people really like that, but it is definitely a high investment strategy. And it may not work for everybody. Now the other thing you can do when you are trying to improve the amount of reading you can do is read with your ears. What that means is that instead of just reading as you are used to in silence, you can actually use the various different tools to listen to your text. So for example, in Microsoft Word, under View, there is an option to read aloud. And you can use it to read your own writing or other documents that people send you. And as you can see, as it's being read aloud, it highlights Word by Word. There's also at the top, there are navigation options where you can pause. You can jump back by a sentence and jump forward as if you were listening to a podcast or an audiobook. There are the same option is available on the iPad. So on the iPad, you can swipe from the top of the screen with your two fingers. And it will bring up this menu for reading any text that's on the screen. But you have to first enable it. You have to go to Accessibility, Options, Choose Speech, and then Choose Speak screen. And that will then make that two-finger, swipe down two-finger gesture available to you. There are also specialized apps that make it much easier to read with your ears, PDFs, and documents like that. One of the ones that you can use for the iPad is called Voice Dream Reader. But there is also an Android app that's called At Allowed Reader that gives you quite a good experience of reading PDFs and other documents just by listening. And one feature that both of these apps have is that you can crop the page. And that is because if you're reading an academic article, then you don't want to be read out the footers and the headers. So often in the middle of a sentence, all of a sudden we'll read this long section here. So if you crop the whole page, then you can listen to that whole article without being distracted by unnecessary content. So this is just a quick summary of how you can listen to your text better. So first, you should start thinking about listening at a higher speed. And you can listen as high as two times the speed, and you will discover that actually you may find it even easier to concentrate. You can crop the pages as we just saw, but you can also make sure that you learn how to skip back and forth as you're listening to make it easier to navigate while you're listening. The next thing you can do to make a reading easier is to take advantage of all the navigation features. So for example, Wikipedia is a good example. So it always has this table of contents. So make sure that you take advantage of that. And it both gives you an idea of what actually you're going to find in the text, but also a way of getting quicker to different parts of the text. Microsoft Word has a feature called navigation pane. And in navigation pane, you can again see the structure of the course of the document that you can easily navigate. Academic articles often have a structure in different areas. They will have different disciplines. They will have different conventions of how the structure works. But often it may go from abstract introduction, methods, conclusion, discussion, results, and so on and so on. But you may not necessarily always want to read them in that order, because often they're not written in that order. So find out in the tool that you're reading in the PDF where is the access to the table of contents that's available for the article. It's not always available, but if it is, find out how you can do it. So for example, this is what it looks like in Microsoft Edge. This is what it looks like in Zodo, which is a PDF reader for Windows. And again, different PDF readers have different options for this. You can also do that on websites. And this is another screenshot from reader mode. And as you can see, reader mode can enable that you see the outline of the page that you're on. And it makes it easier to jump around that page, but it also gives you a sense of what actually is on that page. Now the one more thing you should do is consider what sort of hardware and software you're using for your reading. Because the things that open your documents by default are always not the best tools for that tool. They will give you access to the text, but they will not give you the best reading experience. So I actually recommend if you do have an iPad or if you're thinking about buying one, that you consider one of these apps that are designed for studying with text or for engaging with academic text. And the one that I personally use is called Margin Note, and it allows you all kinds of navigations, but also gives you an option to create a mind map of what you're reading. And there are other tools in there. For example, there are different reading modes. There are ways to display comments in the margins. There are ways to even create little cards that can help you revise your reading and so on. Another popular document reader in this space is called LiquidSex, so I also recommend that maybe you investigate that. These are not free apps, but they're very accessible. You can even think about using hardware to help you with your reading. So for example, this is an example of a digital highlighter, which you can use with your printed text. And it's called C-Pen. And what it does is that you can swipe it along any line of text in a book, and it will read out the text to you, but also it will copy it into the device, and it will let you copy that, so it's a way of quickly getting highlights from books if you're in the library. This is not a cheap option, but there is also standalone options, even including dictionaries for reading in foreign languages, but there's also a cheaper option where you can use Bluetooth to connect to your phone. So that's just a quick overview of the tools for reading, and in the next video, we're going to have a look at tools for note-taking.


So, this is a cartoon. Anyway, cartoonist clings to life after an impossible attempt to exaggerate Trump. Every morning I leave my house to go do a cartoon on Trump and I say bye to my children and my wife in case I don't survive the day. And this is an example of that. Fox. Oh, I guess I can read it this way. Elimination of all known consequences is helping economy. Smogmask factories add two million jobs. That's an EPA joke, guys. But live it, I said close the ethnics panel. Trump now hiring audiences to applaud his CIA briefings. I don't know if you've heard, but he's been hiring audiences for just about everything now. Official portrait of Trump writing speeches unveiled, as you can say, that's the famous painting. Regulations on dumping coal waste into press pool is lifted. That would be a Pruitt thing. He hits the press. Trump forces Journey to rehire a U.S. singer vows to bring back all 1970s rock band Americans. They have a Korean singer right now, I believe. Infrastructure plan. Bar lowering project create 3,000 jobs. So lowering the bar can actually help us. Executive order just can't stop. Cops find 562 executive orders in filthy homes some long dead. Trump six weeks of paid administration leave gets gals out of the office. Trump a huge win for broads and us. That's a sexist joke. Thank you, women. Pre-bunking now offered to eligible frequent debunkers. That's an airline joke. KTVU, BART security microwaves are fake. This is a Kellyanne joke. CNN, did U.S. Constitution plagiarize the Exxon mobile? That's because they've been, of course, doing everything they say. That's a joke. LinkedIn killer ignored as Facebook killer gets blanket TV coverage. Lycos killer system is rigged. A lot of anger among the killers. Trump Clinton dream of being the other at exact same moment. Trump suddenly reverses all policy. Trump now says Russia is bad, NATO good, puts on pants suit. Hillary grabs woman at bar. I just like Hillary with that hair. It's just kind of cute. Lady Gaga secretly helped illegals enter during Super Bowl, flung two illegals into U.S. purse song. I don't know if you saw the reply, but it's pretty obvious when you. Pruitt, climate change caused by grizzly bite. Ozone whole matches a bear bite. And you can't deny it when you really look at it. MSNBC, Trump drops GOP health care plan on ISIS destroys it. Tax cut for richest ISIS devastating. Trump care would cover all Trump inauguration. All 42 attendees are covered. CNN, incidental music pulls out of Trump inauguration. CNN crickets reviewing options. Trump P rumor has KKK rethinking sheets. Bleached snuggies being considered. White House now offering executive pre-orders. New Meals on Missiles run by military department. Missiles rerouted to the needy. You can see that woman just waiting for her roast beef right there. Abortion ban signed from mother of all bombs. We need its kids. Nunez leaked intel says Trump is great. Warned president that he's great. Dead Trump care bill revived by own Obamacare coverage, which nobody knew that it was covered by Obamacare, praises ACA still vows to kill it. That's kind of an abstract joke. Trump damning proof of Obama surveillance, Fox photo grainy yet compelling slim black man listening to Trump call. Pepsi hedges pro-racism Pepsi still available. That was a race joke. NASA four out of seven newly discovered earth-like planets defend Trump. Third one, I like that he hates the darker planets. Alex Jones, EPA hired an actor to play pollution since 1973. Trump prayer circle bigger than Obama's. God confirms from aerial count. United Airlines now offers pre-dragging. I use a lot of pre-something jokes. Tree tearfully thanks Pruitt for recycling Exxon press release, selfless act saved trees only sun. Sessions danced around questions and hindsight clues were present. That's a Russian joke. Is deep state behind Ed Sheeran's rise? Dark internet, we wouldn't do that. If you're familiar with Ed Sheeran, he kind of sucks. Alt-right mimes won't let my voice not be heard. Are some silences bad? Ben Carson, slave ships jumped US border wall, fence unable to stop larger ships. Thank God for Carson. Trump's taxes undercover to infiltrate terror group. Exposure could kill them. So that's where Trump's taxes are, by the way. That's a nicest fan or something. CNN Tillerson tweets aggressively cryptic message to North Korea. I am, I said, to no one there, and no one heard at all, not even the chair. Frightened McConnell wearing barty armor under turtle suit shell. I'm sorry. Town hall crowded, crowd lures him with lettuce. Ugly Lucy statue says fearless girl paid by Dems. Lucy, she's a shill. I just like statue wars. I don't know why. GOP alternative facts will only be used if actual facts are ill. Fact understudies must always be ready. Little theater joke. And I think this is it. Update, Trump nominees unvetted, Russian hookers unwetted. US enters post-vetting wedding era. Thank you.