Welcome to my journal!¶
Tasks¶
In this project my tasks will be focus mainly on Physical design.
Learning stories¶
As a developer, I want to know which software I should use for 3D printing, so I can use it and it won’t be a problem for me.
At this time there are many softwares that you can use to create a 3D model. The ones that have been recommended to me are OpenSCAD, Fusion 360, Blender and SketchUp. I liked Blender and SketchUp the best and I was wondering which one I should use. First I started creating in Blender, according to this tutorial for example: Blender tutorial.
In the process of creating according to this tutorial, there were many times when the tool in use didn’t work or got stuck and I lost my nerve. So I decided to try creating in SketchUp. But only in the online version.
If you want to download SketchUp, it won’t be free. The online version was not good at all, as it got very stuck many times and there was nothing I could do about it. I ended up creating my model in SketchUp, but it was horrible and took a really long time.
SketchUp advantage:
- SketchUp has a user-friendly interface that is easy to understand and use. Therefore, it is very accessible to beginners as it allows for quick learning. SketchUp source.
To summarize, I would recommend SketchUp for the beginning user. It took me quite a long time to create the model, but in the end it didn’t turn out badly.
As a developer, I would like to know what all parameters I should consider before setting up a 3D printer.
When setting up a 3D printer, we need to consider several parameters that we can adjust to achieve quality printing and functionality. Of course, it depends on exactly what 3D printer and software will be used. I used Cura as my software and had an Ender 3 printer at my service.
We definitely have to take these criteria into consideration:
- Layer Height:
The settings must specify the thickness of each printed layer. If you set a lower layer height, it will slow down the print, but the printout will be smoother and more detailed.
- Filler density:
Higher density is positive for better strength but not good against material usage. And it takes more time. is positive for better strength but not good against material usage. Also, higher density takes more time.
- Printing time:
The printing time is automatically generated when the STL file is inserted and set in the Cura software. It depends on how big the model is and what its dimensions are.
- Printing temperature:
Print temperature affects the quality, material flow and layer adhesion. That’s why it’s important to choose the right temperature for the specific filament I’ll be using. PLA should be printed typically between 180 and 220 °C.
- Support Material:
An additional structure that is printed next to the main object provides support and stability during the printing process. If a print meets a gap in the structure or an overhang, it creates a support structure to keep the printed material from sagging or falling. Therefore, it is always important to check if you have support turned on.
- Bed temperature:
Most 3D printers have a heated build plate, which is better for adhesion between the printed model and the build surface.
- The whole process went like this:
After creating the model and saving it as an STL file. I put the STL file into Cura, clicked on “Slice” and did a “Preview”. There I turned on support and checked that everything was as it should be. Then I exported it as a G-code and saved it to the SD card. I inserted the SD card into the 3D printer and started printing. I had to wait the first 10 minutes as the first layers were being created. If something went wrong, it could still be fixed.
Links¶
- 3D Parameters All3DP
- 3D Parameters Youtube
- 3D Parameters Xometry
- 3D Parameters Fabacademy
- 3D Parameters DDDROP
- 3D Parameters ALL3DP Temperature
As a developer, I would like to know how to prepare the 3D model before 3D printing to avoid mistakes as much as possible.
Do 3D design in millimetres¶
The first thing you should know while creating a 3D design is that the model dimensions should be measured in millimeters! I honestly forgot to set it to millimeters and made the model in centimeters, and then I had to do it all over again, which took me a lot of time.
Check your STL file¶
You should carefully check if your STL file was exported correctly, as you would like the final product to look like your design. In my case, you can see in the pictures below that one side of the model walls didn’t show up, but the other side did. This meant that the left wall was not done properly, and so I had to redesign it.
From this view you can see the missing walls:
From this view you can see all the walls alright:
Red marks in Cura¶
When I inserted the STL file into the Ultimaker Cura software, I found that because of the red marking, there were two errors. At the same time, the STL file was okay. However, I tried to edit the model again in SketchUp, and fortunately, it was successful, and after that, it didn’t find any more errors. So if you see red markings in Cura, your design is faulty, and you need to fix it.
In the image below you can see the red highlighted bugs in Ultimaker Cura:
As a developer, I want to know how to solve the problem when I can’t download Xcode on an old Macbook.
My user story is about getting the app working on iOS devices. The first task was to download Xcode. But I couldn’t download Xcode because of the following message:
Which says that the Xcode application cannot be downloaded because of the old macOS version. My current version on my Macbook is macOS Monterey (version 12.6.6). As you can see the proof in the photo below:
I found out on this website sourceMacOS that the latest versions of macOS, such as macOS Ventura, won’t run on Macbook models released before 2017. Which means I have no chance to download Xcode on my laptop. Unless I buy a newer MacBook. But I have found that there are ways to solve this problem without buying a newer MacBook. Options for what to do:
Option 1¶
- The first thing to check is whether your MacBook can be upgraded to newer software. You can check if there’s an update available by going to the Apple menu, selecting “About this Mac”, and then clicking “Software Updates”. In my case, my software was current and I was not able to update it.
Option 2¶
- Use the platform Codemagic. Codemagic is a cloud platform that provides integration and delivery (CI/CD) for mobile application development (mainly native iOS apps, Flutter, native Android, React Native and so on…). It focuses on processes such as testing, building and automating iOS and Android apps. It can integrate with systems such as GitLab and GitHub…Codemagic provides the possibility for developers to set up automated working environments and link repositories. Codemagic
I decided to try it and the process was following. First I signed up and then I came to this basic page:
Then select “Add your first app”. A menu will pop up for you to connect to the repository. And you enter the repository from the URL or select a Git provider (for example Gitlab).:
I personally chose “other” because I had trouble logging in via Gitlab. After selecting it, the menu will pop up and you can enter the URL of the repository, select if it is private or public and select the type of project.
In the end, this action gave me an error:
In the end, this method didn’t work for me.
Option 3¶
The third option is to download the latest version of macOS on VMware. I thought of this option, but in the end, I didn’t try it. I took the advice of Matt and other classmates who told me that it was too complicated. But it’s good to know that this method is also possible.
VMware¶
VMware is software that provides virtualization. VMware allows you to run multiple operating systems and applications on a single physical computer or server. This of course increases the simplicity of IT management. VMware
Conclusion¶
I went to Matt for advice, and he said that it is complicated since it is the last week left. Then it’s not smart to start.
As a developer, I want to know how to make the mobile app able to read the remaining signal strength so that the distance between the beacon and the phone can be calculated.
In order to start working on a user story, I need to find out the necessary information to complete and which steps I should follow. I will get the parameters (beacon identifier, TX power and so on…) from the Rafail documentation. (Api-reference, back-end and front-end).
Step 1 - Knows the signal strength¶
As a first step we should find out every information about the signal strength, which I can find in the section “Rafail - log - API-reference”.
Step 2 - Backend¶
For each beacon, the database stores data such as: the beacon identifier, short and long descriptions, TX power, latitude and longitude. We can edit information related to the beacon by storing it in the API.
Firstly, I wanted to move to the correct directory, so I used the “cd api”. Cd changes to the home directory of the current user.
During the process of trying to get to localhost port 3000 I got this error.
Step 3 - Frontend¶
The next step is to create a frontend. So on the already running localhost port 3000 I will add fields to see the distance calculation between the beacon and the phone.
How it started and how it’s going¶
We wrote the first Collaboration agreement and created the Project event planning. Still at the beginning of our project together we started to learn what Scrum is. Then we started writing user and learning stories. On Tuesday, May 25, we divided the tasks with the team. I was assigned the physical design. I suppose I’ll be making the physical design with a 3D printer.
In the “Physical Design - Research” section you can find my finished research on these user stories. And in “Physical design - Casing” you can find our controller model designs, requirements, improvements, digital manufacturing and material and so on.
There are plenty of design software out there. I was debating between SketchUp and Blender, but in the end I decided to use SketchUp. SketchUp seems to me to be faster and clearer than Blender.
In the end, it certainly wasn’t quick. The design took much more time than I expected. It’s really hard to make a correct case for a model when the online program you’re working in doesn’t work with you.
Next, I wanted to work on a mobile app for iOS, but I couldn’t because my Macbook is from 2015. And macbooks released earlier than 2017 can’t install macOS Ventura, which is the required version to install Xcode.