Category: Technology

Posts that are tech related

  • 3D Printing an RC Plane

    3D Printing an RC Plane

    I spent about three weeks working on 3D printing an RC plane. I had initially searched for a somewhat easy RC plane to print and assemble as I’ve never had any experience with RC vehicles in general. I eventually found a good model that was both free and looked simple enough for me to be able to print. The model I ended up with was the Piper J-3 Cub by 3DLabPrint; 3DLabPrint is a Czech Republic-based company that designs 3D printable RC plane models. They have a bunch of options to choose from when it comes to RC planes.

    It took me about three weeks from starting printing to assembling electronics and crashing flying; I went with Polymaker LW-PLA, as they had a summer sale when I purchased; you can get a roll of plastic (and support me) by clicking here.

    3DLabPrint recommends their plastic, but the shipping would have been pricey as they are located in an overseas country. But there is a difference between PolyLight (3DLabPrint brand) and PolyLite (Polymaker brand). Polymaker prefoams the material, which makes it easier to print as it has very similar properties to regular PLA, and thus, I was able to print it at my stock PLA slicer profile. 3DLabPrint’s LW-PLA is not prefoamed and requires more tuning to compensate for expansion and other variables when it comes to printing.

    For the first couple of parts I printed, I hadn’t gotten the printer’s slicing profile correctly; for example, I accidentally added two bottom layers and two top layers, which I don’t need for this model as specified in the instructions. 3DLabPrint provides extensive instructions on how to assemble and prep your printer before printing. But after some trial and error, I got the slicer settings down and printed the rest of the parts. It took me about a week to print and assemble all the details, but I didn’t purchase the electronics till later in the following weeks.

    In total, I spent about 68 hours of just printing. That also includes any mistake prints and or extra parts, or multiple of the same parts, and other materials printed like the landing gear and tires. All the pieces were printed on my heavily modded Ender 3; I believe a stock Ender 3 (or similar-priced printer) should be able to print this material just fine. I would advise printing in 1.15 extrusion multiplier (or flow) in your slicer and printing a bit lower temps, at about 195°C for the hotend.

    If you don’t have a 3D printer, I recommend a Sovol SV06 for a cheap option or a Bambu Lab P1P if you want to go for a more quality and hassle-free brand.

    At first, I ordered the wrong parts; the ESC was made for drones and hadn’t come with a 5v line that was standard for RC planes. I returned it and got the correct one. (List of my configuration below)

    (affiliate links)

    The only problem now is that I have no idea how to fly an RC plane. I watched a couple of videos to check I got the directions right and propellor was working correctly, (thanks to the folks in PW3D’s discord channel, I could ask noobie questions and get informative answers.)

    I tried to fly and crashed it almost immediately, which I believe is due to user error and not a design flaw. At the moment, I need to repair it and attempt another take-off again. I can say I got it in the air (6-9 feet at least) with 75% throttle but had not correctly lowered the throttle, and it came straight down, cracking the wing assembly and a couple of other parts of the main body.

    Crashed RC Airplane

    Crashed on Aug 19th, 2023

    That’s been my experience so far on 3D printing an Airplane. If you have any questions or thoughts, leave them in the comments box below, and I’ll get back to you.

    *Disclaimer: Most products linked are affiliate links and will support me if purchased through them.

  • Using a DSLR Camera with Octolapse for Stunning 3D Printing Timelapses

    Using a DSLR Camera with Octolapse for Stunning 3D Printing Timelapses

    Recently I bought a used Canon SL1 camera; it’s an old but great camera to use as a webcam or any general-use camera taking. One benefit is that it works with a lot of software using the USB port to capture a live video feed from the camera. When using the USB port it does have a bit of delay between the camera and the live feed, but it isn’t super noticeable in recordings.

    I also discovered it works with Octolapse, a plugin for taking seamless-looking time-lapses of 3D prints. Following a tutorial by the creator of Octolapse (FormerLurker), I started setting up my camera with my Octoprint server.

    The tutorial starts with the initial installation of the main program to interface with the camera. gPhoto. gPhoto supports a wide range of cameras, including my camera, which can File transfer, live view, and capture photos or videos.

    What is gPhoto?

    gPhoto is a set of software applications and libraries for use in digital photography.

    gPhoto Wikipedia

    With the installation, I generally followed the provided steps. Updated any updates that my Ubuntu server needed, updated Octoprint. When installing gPhoto, I had to use the “alternative instructions” since I didn’t run my Octoprint server on a Raspberry Pi, the structure of Linux flavors and different device configurations can make it differentiate the process configuring scripts and general directory locations.

    Next is editing the “sudoers” file. It is similar to the standard setup, but instead of the regular path, I used the provided command to find the install directory where gPhoto was installed. I also used the output inside the line of code I needed to insert into the last line on the file.

    whereis gphoto2
    
    output:
    
    gphoto2: /usr/local/bin/gphoto2

    After that, I can test gPhoto with a snapshot command; surprisingly, it worked! I heard the audible click, and it saved a picture to my server. Once that is set up, the next step is to create a script for the plugin to run in Linux that holds a picture, deletes it from the original SD card, and saves it to where the snapshots need to be stored to later process the whole timelapse video.

    The script included with the tutorial works out of the box for me, thanks to FormerLurker’s documentation.

    After that, I add it to the plugin’s configuration. Which also went well. I continued the guide with “Configuring a DSLR camera,” After which I started a print, and the final result after rendering is below:

    Final result. (Actual quality of the printed cube was terrible due to a lack of tuning at the time)

    One issue after rendering, which I could only fix by uploading it to YouTube, was the encoding and format of the rendered video. VLC media player says its renders at 4K, meaning 4000 pixels across. For some reason, my computer could not play 4K in the regular Windows media player or even my other video players without rendering it at 1/16’s quality. This may be due to the lack of support in my computer’s GPU (Intel Arc A370M Laptop GPU), but I’m unsure. But I can change that in Octolapse’s settings when it renders the final video. The F-stop was also not set correctly, which I can adjust in the camera’s menu.

  • Optimize Invoice Management with Google Sheets, Make.com, and Monday.com

    Optimize Invoice Management with Google Sheets, Make.com, and Monday.com

    Last week I went down a slight rabbit hole while trying to figure out if it’s possible to create an automated invoice generator using Monday.com with Google sheets. Which was surprisingly more difficult than I thought.

    Originally this whole tangent started with following my brother Gideon’s tutorial on how to create automated invoices using Monday.com, the primary function was the following:

    Make.com integration with Monday scenario

    When a button is pressed inside monday.com, the invoice generation process starts:

    • First, it pulls information on the invoice, including the Name of the invoice, invoice number, etc.
    • Second, it gets the customer info, such as Name, address, email, and phone number. (Which pulls from a separate list on Monday)
    • Next, it grabs the list of subitems; in this case, subitems on Monday will be the items ordered on the invoice and renaming all of the information into variable names, making it easier to pull from later.
    • It uses the “{{VARIABLE}}” tag, which registers inside of make.com. Then it creates a Google doc from a template I started at once. It uses Google Documents and downloads a copy as a pdf. Then it inserts it into monday.com onto a predetermined column.
    • Once all of that is done, it updates the status in monday.com to indicate it ran successfully, then deletes the original Google doc so as not to take up space inside your Google storage.

    This is all done within 10 seconds, excellent, and well organized. Most of it runs pretty well. The setup process is pretty self-explanatory when creating it and relatively efficient.

    invoice output
    invoice input template

    The only downside is that admittingly isn’t even that bad. If any items are not filled in, the slots will be blank. If you had two things and there were six slots, there would be four extra empty rows, which can be annoying but isn’t detrimental to the functionality of this invoice.

    A reason why you can’t have make.com automatically delete extra rows is because of the Google API for Google Documents. Currently, you cannot add HTML straight through Make. But a platform that you can edit easily through Make is Google sheets. Google sheets work on a row-by-row basis, as you can delete whatever row you want specifically. Since naturally, it isn’t in.pdf format.

    An issue with using Google sheets is the formatting. Naturally, Google sheets don’t have its file type, nor does it default to pdf when you export (although you can choose to export to pdf.) This wasn’t easy to figure out. For one, I got a download link to my spreadsheet, and when you went to it, it started a download. But two issues; Monday’s “upload a file” module did not support using links to insert files into their columns, the second issue is that the file was only downloadable to those who had permission to download it; I could set it as “public” manually but not automatically. So if Make tried downloading it, it would deny its request due to invalid authentication.

    It took a lot of time to Google and research different ways to save a file automatically. I ended up asking in the make.com forum. I then got a response a couple of hours later.

    You should use the “download file” module of the Google Drive application and toggle ON the advanced settings and select convert file to pdf. This way you can use your PDF downstream in your scenario without making your document public.

    In this case, I would need to use the “Google drive” module, which takes more work to set up when using personal accounts (as listed in the documentation.) But once it is set up, it works amazingly well. Very simple when uploading to monday.com from there.

    Next was figuring out how to delete the rows and how many to delete. This was a more straightforward task. I used two math modules, one with the following formula:

    The formula for the first math module

    This calculates what row to start deleting by using the number 11, the row at which the spreadsheet item list starts. “___IMTAGGLENGTH___” is a value that contains how many subitems there are (or, in this case, items for the invoice.) If there were two subitems, it would output the number “13” I then use this with a “delete a row” spreadsheets module, which deletes the row “13” (or whatever the math output is.)

    Next is another math module that uses 23 (the ending row number of the spreadsheet’s item list) and subtracts it from the previous math output. Using the last number example, this calculation would be 10, indicating to delete ten rows (there are 12 rows total in the spreadsheet)

    second math formula module

    and finally, the actual deleting module setup. Which consists of a “repeater” module that will repeat any action after as many times as you want, in this case, 10. Which I set to be the output of the second math module. After the repeat module is a “delete a row” module that deletes the row that the first math problem generates, it would delete row “13”, but since it is inside of a repeating function. It deletes rows 13 and 10 times. Since Google sheets work in a way when you delete row 13, the row after becomes row 13, thus when deleting row 13, 10 times. This I found to be the most efficient way, as there is no way to delete multiple rows in the “delete a row” module.

    Final module setup

    You can see the final result in the video below:

  • Spotting Fake Phishing Emails

    Spotting Fake Phishing Emails

    Yesterday I checked my Gmail spam folder, and I saw this email:

    Screenshot of the email header

    The contents of the email are a general threat of a typical phishing email with the following:

    It threatened to lock your various email accounts and asked for $950 sent to a BTC wallet. This is a pretty obvious scam in many ways, including that I have no actual email client setup, just a forwarding address. One interesting thing is that Gmail showed that it came from my email address.

    (in this case, [email protected]). I wanted to see if it’s easy enough to tell how it was spoofed. One way of doing this is viewing the original message, an unprocessed backend version of the email, including the email server logs, when Gmail receives it.

    Using that, you can check whether or not the email was spoofed, aka an email coming from an email address but making it look like it’s from your email. You can find out if it’s spoofed or not usually by checking this line in the original message; you can see mine here:

    Showing that the original IP does not certify the email because it isn’t allowed. I’m pretty sure Gmail checks for that line and sees if it’s a legitimate email, then throws it into spam if it gives a soft fail. And if you grab the IP location, its somewhere in India:

    IP details of email

    In general, you never want to click on any links or follow any instructions given by an email that looks suspicious; make sure you check the message by googling it first; I found many forum posts saying they got the same copy-paste email as I got, just a different email.

    And also, check that it’s not spoofed, as I mentioned before, or a lookalike email, for example:

    From: [email protected]

    faking the email with minor changes, it seems like it’s from [email protected].

    One more thing I found interesting is that in the original message, the email said it was from [email protected] but right after said: “Using Preegsr tmraipj” not sure what that means, and I can’t find any client called that; I’m guessing its a name, but it’s clumsy for someone to leave that in the “from” section.

    Informative posts I found while researching this:

    Explanation of each line on an email message

    How to check if an email is spoofed (in Gmail)