Using the accessibility features of Apple to independently print 3D objects
3D printing is an emerging technology. It uses hot materials, moving mechanisms and the quality of components cannot be assured. Please bear this in mind and take appropriate proportions in the pursuit of 3D printing glory... Now you have been warned...
I need to begin this by managing expectations. 3D printing is an art, it requires patients, it requires failure and understanding why that failure occurred, it requires knowledge and it often requires reaching out to the amazing community of 3D printer folk for help. So, what is 3D printing? In a more philosophical way, it is fun, it's frustrating and, if you stick with it and get it right, it's rewarding. What it's not: It's not like most other problems on here where there is a direct solution, it's not like voiceover isn't behaving correctly and apple needs to fix it. All issues need to be fixed by you, as the 3D printing expert that you will become. Parts will fail, you have to replace them. Things will get jammed and break down, you have to first identify the problem and then fix them. In summery, 3D printing is a journey, not a destination. If you enjoy building things, working with your hands and creation, this is for you. If you want instant results... I'm afraid you need to look elsewhere. Now all my warnings and philosophical ranting is out of the way, let's get to it.
3D Printing in a Nutshell
This could take up an entire article but, in the simplest terms, 3D printing, or additive printing, is the process of creating 3 dimensional objects by adding material. Currently there are two main forms of hobbies 3D printing, FFF (Fused Filament Fabricator) otherwise known as FDM which uses spools of filament that are extruded from a nozzle that moves around a build plate to create the object (Picture someone icing a cake) and SLA (Stereolithography) printing which uses an LCD panel to cure resin layer by layer.
We will be looking at filament printing because the second one uses toxic materials though does produce excellent results. Look it up but I've not found a safe way of accessing the technology.
So, back to FFF/FDM printing. Let's keep the image of someone icing a cake. The 'Hot End' the bit that moves up down, left right, back and forth, squeezes out filament like icing. It does it layer by layer, sticking onto the previous layers until it builds up the object. It is good if you can imagine these objects sliced into thin 2D layers, like sheets of paper that are then stacked on top of one another because, that's exactly what happens.
STL files are the objects that you are printing. These need to be put through a piece of software called a 'slicer' which quite literally slices up the object into 2D pieces that it then turns into instructions, called G-Code, that the printer can understand. The G-Code tells the printer how to move, when to put out filament, what temperature to be at and many other things which will affect the build of your model.
So, I'm hoping that whirlwind explanation of 3D printing didn't leave you in Kansas (No offence to anyone in Kansas). Now let's get on to how I do it and what you will need if you're going to follow along.
Hardware I Use
- Creality Ender3: A 3D printer is Obviously required. I went for the budget yet good value Creality Ender3. This cost me £180 but shop about and don't, what ever you do, buy a clone. I'm sure there are some great ones out there but when spending so little it's best to get the original every time. There are several reasons why I went for the Ender3, it's huge user base is one, it's cheap is another, and it's a good beginners tool that helps you understand what 3D printing is all about. There are more expensive machines, the Prusa MK3S for example which is about five times the price that eliminates many issues that you will have with the Ender3, but it will still have issues and learning about how the Ender3 works sets you up to know how pretty much any other 3D printer works as they are, give or take, all the same technology. Note: This is a kit. As yet I haven't worked out a way for us to independently put it together. I can disassemble and reassemble my own machine but doubt I could have put it together from scratch without knowing what I was aiming for. It takes a couple of hours to assemble so I advise getting in the biscuits and inviting a technically minded friend over.
- A Raspberry pi 3B or better: This is what makes 3D printing possible (He says like Doc Brown explaining the flux capacitor)... for us blind folk though many people use similar set ups to automate work flows, have remote management of their printers and to monitor prints. The raspberry pi is a diminutive little bare bones computer made here in the UK and is the darling of tinkerers everywhere. Mine cost me about £40 and it comes just as a circuit board. "Oh no Ollie, but what about a case" I hear you say... You're building a 3D printers setup, you can print a case... Cool, huh?
- A mini USB cable: You've probably not got one of these. They are a format that didn't seem to take off, but the Ender still uses them for some reason. This connects the Raspberry Pi to the printer. Cost, about ten quid though search about and I'm sure you can get one cheaper.
- A mac computer: And though there are ways of doing this with other operating systems, it's a mac I use and therefore my instructions will be mac based. This cost me a kidney.
- An iPhone: A small telephonic device that may or may not take off. I use this to start, stop and monitor prints when away from the printer, though I never leave it running whilst out or over night.
- Filament: This is what we need to fuel the machine, like the 3D ink and there are a huge range of types and colours. We will be using PLA which is the most common type and with a diameter of 1.75 mil. I got a roll of ESUN PLA+ for around £20 which is a kilo and lasts quite a while as most 3D objects you print are not solid, rather they are like waffles on the inside... Like me after breakfast.
- An SD card: This is for the Raspberry Pi as it has no onboard memory itself and it is where we will burn Octoprint, which is the software that lets us talk to the printer. A 32 gig Samsung SD cost me about £10 but others will do though I'd say get a good quality SD as if it fails your print fails and we all cry.
- An SD card reader: This should come with your printer anyway but it's the old USB A type so if you have a current MacBook you'll need to use a converter because none of them have SD card slots any more... Sigh.
- Terminal: this is needed to set up the raspberry pi.
- Octoprint: This is what we are going to put on to the Raspberry Pi to control the printer, there is a Raspberry Pi specific build so find that.
- OctoPod: This is an iPhone app that connects to the raspberry Pi and lets you see what is going on with your prints.
- A web browser: Octoprint is accessed through a local web page.
- Astroprint: This is actually a website but is an accessible way of us slicing objects ready to print.
- balenaEtcher: This is used to burn the image of Octoprint onto the SD card to be put in your raspberry pi.
Now, dear reader, I am going to have to be a little annoying. And say that you're going to have to work out a lot of this for yourself. There are resources out there for this if you only look but if I do a step by step means of setting all of this up, we'll be here for days. Just rest assured, with a Mac and an iPhone, this can be done. We are starting this assuming your friend has eaten all of your biscuits whilst constructing your Ender3. I'd also say that a pair of working eyes are helpful for the first few prints to help you identify what is going on.
- Install octoprint on your Raspberry pi: This requires burning an image onto a SD card, setting the raspberry pi up on your network (ethernet preferred), and then jacking it into your printer. There are guides out there to do all of this but it requires some use of terminal which, I have to say, isn't the most accessible on the Mac but it is usable.
- Now when you plug this into your printer you should be able to control it.
- Setup Octopod on your iPhone: This requires accessing your newly created Octoprint server on your raspberry pi, going into settings and getting a UI key. Now you can test your printer by going into 'Move' and trying to move things about.
- Find an STL, Thingiverse is a good place for these. Start with something small as ambition is not your friend at this point. Go to Astroprint and, after setting up your printer profile, slice it with the "draft" setting. You can now download the file and going back into the octoprint website and upload it onto your Raspberry Pi Octoprint server.
- Now go to Octopod on your phone, open files and the newly created G-Code file should be there. Open it and start it printing. Assuming everything is set up and you have levelled your bed, it should work.
Notes On Validating Your Print
This is all done at your own risk and please remember that there is moving machinery here that can really hurt if your fingers get trapped. Once I've started a print I carefully touch the bed, watch out because it is moving and so is the print head, but you should be able to feel if the filament is laying down and sticking. If it's not, you need to stop the printer and start again after levelling it. This is an art in itself and is a real pain requiring fine adjustment of the wheels under the bet to make sure the print nozzle is exactly the same distance away from the bed at all points.
I know that this is incomplete, but my intention isn't to hold your hand all the way through. My intention is to tell you that it can be done. There are all the resources out there for you and I've listed them so that you, unlike me, don't have to try several things before you find it works. As I said somewhere near the start of this epic guide, 3D printing is the journey and not the destination. There are lovely people out there happy to help as, by nature, they are problem solvers. I recommend getting on the Ender3 reddit which I've used a lot to find answers or ask questions and if you're looking for a good reddit client for your iPhone check out Dystopia, that's what I use. I hope this has been helpful. I know there is a lot here, but it's great. It's something we can do that is a fairly new and very exciting technological development. As the doc says, 'If you put your mind to it you can accomplish anything.'
I will amend this guide based on feedback which I would appreciate.
The article on this page has generously been submitted by a member of the AppleVis community. As AppleVis is a community-powered website, we make no guarantee, either express or implied, of the accuracy or completeness of the information.
Good guide. I didn't know about Astroprint. I'm not a big fan of cloud-based apps, but hey if it's accessible then I guess it works.
Have you tried using the Slicer built into Octoprint instead? It takes longer to generate a gcode file, but it all runs locally. Do you have any tips for validating gcode before sending it to the printer? I've had times in the past where some error caused a few of the layers to not be translated properly from the stl file.
How finicky is the machine? Cheap machines I've used in the past have required repair and recalibration after basically every print. I'm not talking about bed leveling, but actually having to make sure everything is dimensionally straight. Does it have auto bed tramming/leveling? I'm assuming not because of the price. I'm so glad that there's an app now. Phone control used to require going through Telegram, and we all know just how accessible that thing is.
I agree with starting with a cheap machine. 3D printing's an expensive and time-consuming hobby, but it can be super rewarding and teach you practical skills (like how to repair stuff). I wouldn't stick with cheap stuff though. A Prusa i3 would be a very worthwhile upgrade down the line. It has a magnetic bed, auto bed tramming, power-failure recovery, optical extruder jam sensors, and you get manufacturer support. I think they were even working on a multi-filament mod. I dunno if they still make it, but Hatchbox PLA used to be my go-to filament. It melts super nice between 200 and 205 C.
I wonder if there'd be a way to use computer vision to detect if a print is coming along nicely or not. I doubt the lidar sensor on the upcoming iPhones will help much, since that's designed for room-scale scanning.
Hi, thanks for your comment and it's really great to know that other people are trying this too. Regarding checking prints:
Spagetti detective is something that I've had recomended that uses AI, in the loosest terms, to detect spaghetti or the nesting of filament. I did look at the slicer plugins for octoprint but they require old profiles to work. From my understanding the plugins can't keep up with the intelligent processing in desktop slicers any more so there is little call for them, which is frustrating for us. I find that Astroprint, using the Cura 3.6 engine, is pretty good and has some nice features built in. It's not ideal, you can't import profiles, but it at least allows pretty high granularity in control. The ender3 is very good for the price. I'd suggest replacing the bed springs immediately and getting a glass print bed to avoid the warping that is indicative to most machines, even the expensive ones but without auto bed levelling or mesh levelling it can become more of an issue. It is a solid Fram and the only thing I've had to do between prints, and more rarely now with a more solid bed, is level. I've upgraded the control board to an SKR E3 for safety and future upgrades such as auto bed levelling but, to answer your question in a round about way, it's good to print, high quality too though it does lack those features that make printing easier. The bed is slow to heat, no filament run out detection or, more importantly, bed levelling. the thing is, you could upgrade it to have all of these things and not get close to the cost of a prusa, however it's time and practice and bug squashing that you pay for it. Also, the astro print app for iPhone is pretty accessible which allows for full control of octoprint as well as slicing etc. I don't use it but I'm sure it might be a nice all in one package. Yes, there is the five filament mod available for the MK3 though any filament swapping mechanism is hell on filiminet consumption due to the purges between colour swaps. I'll be getting my Prusa in a couple of weeks so will update the guide then but the Ender is a great starting point, in my opinion.