3D Printed Tablet Holder
I use a Samsung Nook tablet to read eBooks. I found that when reading an eBook, I was always accidentally touching the screen and flipping pages when I did not mean to. This was mostly due to my large fingers and the small border on the tablet. It was also uncomfortable to hold the tablet for long periods of time. For these reasons I designed a holder for my tablet that would keep my fingers away from the screen and could be easily held by either or both hands. Above are some pictures of the tablet holder that I designed, with and without the tablet.
I designed the tablet holder using OpenSCAD. I use OpenSCAD because I have been a programmer for nearly fifty years and OpenSCAD feels to me like writing a program to create a 3D object that I can print.
All the files for this project are available on GitHub. The download includes STL files for the Samsung Nook tablet holder, the Amazon Fire HD tablet holder, Google Nexus 7 tablet holder and the OpenSCAD source code so that you can customize it to fit your tablet. The Samsung Nook tablet holder requires a print bed size of at least 200mm. The Amazon Fire HD holder requires a print bed size of at least 250mm.
I was able to print the Samsung Nook tablet holder on an XYZ Da Vinci 1.0 printer and the Amazon Fire HD holder on a Prusa i3 MK2S printer. If your print bed is too small to fit the holder for your tablet, I have some suggestions you can try in the last step.
Before attempting to make one of these holders you should be familiar with how to slice an STL file and how to print it on your 3D printer. I will not be covering these steps.
Tablets
Tablets come in different sizes and are usually specified by the diagonal size of the screen. The width, thickness and border (the area surrounding the screen on the face of the tablet) are values that can be easily changed in the OpenSCAD source code to customize the holder to fit your tablet. I designed the tablet holder to fit my Samsung Nook tablet. I then re-wrote it to make it more modular and to allow me to make holders for some of my friends who have Amazon Fire HD tablets. The final version of the code will allow you to easily customize the code to make a holder to fit your tablet. The only consideration is, will it fit on your 3D printer.
As a general rule of thumb, if your 3D printer has a bed size of 200mm you should be able to print a holder for a seven inch tablet. The holder for the Amazon Fire HD (10 inch tablet) requires a print bed of 250mm. To be exact, your print bed will need to be larger than 83mm + the width of your tablet. The holder is designed to hold tablets in the vertical (portrait mode) orientation.
The holder was designed to lay flat on the print bed. Supports need to be turned on in your slicer (Everywhere if using the Prusa slicer). If supports are not enabled then the holder will not print properly.
If you can use one of the provided STL files for the Samsung Nook tablet, Amazon Fire HD tablet or the Google Nexus 7 tablet then you do not need to go any further. Just load the STL file that fits the tablet that you have into your slicer, slice it with supports turned on and then print it on your printer or send it to a commercial 3D printing site and have them print it for you.
How to Install and Use OpenSCAD
You will need to download and install OpenSCAD to make a custom tablet holder. You can download OpenSCAD for your computer here. Download the appropriate version for your operating system. If you are using Windows then you have a choice of a .exe installer or a .zip file. The .exe installer can be run directly after downloading. The .zip file will need to be unzipped before you can run the installer. Both methods will install OpenSCAD, so there is no real difference between them.
Use the link here to go to GitHub and download the zip file for this project.
This is not a primer on how to use OpenSCAD to design 3D models. I will walk you through how to load and where and what to modify to customize this project to fit your tablet. This is not a tutorial on how to use your computer. It is assumed that you know how to create, save and copy files and how to browse to find a file on your computer.
Once you have OpenSCAD installed you are ready to customize the code to fit your tablet. Double click on the OpenSCAD icon to start OpenSCAD.
From the OpenSCAD opening dialog box, click on the green "Open" button. Use the resulting window to browse to where you copied the TabletHolder.scad file. Either double click on the file or click it once and then click on the "Open" button in the lower right hand corner. This will open the OpenSCAD working view. The source code statements will be in an editor window on the left side of the screen and the rendering window will be on the right side of the screen. Along the top of the editor window is an icon bar. The rightmost icon is for creating an STL file from your rendered image. The icon next to it is for rendering the source code. Rendering is the process of reading the source statements and translating them into a 3D image in the rendering window. The third icon from the left is for saving the source code. If you want to change the name of the file when you save it then use "Save As..." from the "File" menu at the top of the screen.
Click on the Render icon and wait for the rendering process to finish. The rendering window should now have a 3D image of the custom tablet holder. Move the mouse cursor over to the rendering window. Click and hold the left mouse button down (Drag). Move the mouse around while holding the left button down. The camera will rotate around the 3D image, allowing you to view it from any angle. If the 3D image is bigger than the window then scroll the mouse wheel to zoom in or out.
The editor is a fairly straight forward visual text editor. It works much like Notepad or any other simple Windows text editor. Move the cursor to where you want to start adding or deleting text and just type or press Backspace or Del. Drag the mouse to highlight text then cut, paste or copy away.
A double forward slash ("//") anywhere in a line indicates that from that point to the end of the line is a comment. Comments are ignored by the translator. Statements end with a semicolon (';'). The syntax closely follows 'C' code syntax. Rendering errors are usually caused by leaving out a semicolon.
How to Customize the Tablet Holder Code.
The first four lines of code are as follows;
AmazonFireHD10 = false; // 10inch version
SamsungNook = false; // 7" GoogleNexus7 = false; // 7" CustomTablet = true; // make this one true for your custom tablet
These lines of code determine which of the predefined tablet holders or the custom holder will be rendered. Only one should be set to true. The Custom tablet holder is set to true. To select one of the others, erase the true after the equals sign and replace it with false. Then replace the false with true for the tablet holder that you want to create. If you selected the AmazonFireHD tablet holder and your Amazon Fire HD tablet is the 10inch version or you selected the SamsungNook or the GoogleNexus7 then you are done. Just click the render icon, wait for the rendering to finish and then click the STL icon. Done. Close OpenSCAD find your STL file, slice and print it (make sure that supports are enabled). These three have also been provided as premade STL files. Just use the appropriate STL file included in the download from GitHub.
If you choose CustomTablet then you will need to measure the width, thickness and border size of your tablet. 3D printers typically use metric units, so the TabletHolder code also expects all dimensions to be in metric units, millimeters (mm) to be exact. You can either find a metric ruler or calipers to measure your tablet or go to the manufacturer's web site and get the dimensions from there. The border is measured from the edge of the tablet to the edge of the screen. Measure the border on the short side of the tablet. You cannot get this from the manufacturer's web site, you must measure it yourself.
Once you have the three required dimensions you are ready to modify the code. Scroll down in the editor window until you find the following lines;
// Change these values for your tablet // Change the value below to the width of your tablet. Measure across the short side of the tablet. CustomWidth = 108.5; // Change the value below to the thickness of your tablet. Measure across the thickness of your tablet. CustomThickness = 10; // Change the value below to the width the border around the display on your tablet. Measure from the // edge to the screen. CustomBorder = 10;</p>
Position the mouse cursor on the value to change then delete the existing numbers and enter the new values.
Change only the numbers after the equals sign and before the semicolon. Make sure that each line of code retains the semicolon.
When you are done, click on the save icon (third from left) to save your changes. Then click on the render icon (second from right). Wait for the 3D image to render. There is a small Console window under the rendering window. Position the mouse cursor in that window. Scroll up until you see a line the reads; "ECHO: xxx. The xxx value is the actual size of the tablet holder. This number should be less than the size of the print bed of your 3D printer. If it is bigger than the holder will not fit on your 3D printer. If you are off by less than 20mm then you might be able to make it fit by angling it on your print bed. You do this by rotating the object around the Z axis in your slicer.
If the holder rendered without any errors and you are happy with what you see then click on the STL icon (rightmost icon) to generate and save the STL file. Congrats, you did it. Now close OpenSCAD, open your slicer. slice and print your new tablet holder.
If, after printing, you find that your tablet will not fit in the holder or is too loose then you need to adjust either the width or the thickness. Ideally you want the tablet to be snug in the holder, too tight and the holder may break or damage your tablet. Too loose and your tablet will wobble or fall out.
Cleaning out the support material may leave a small amount of material behind. You can sand or file the residue down to make for a better fit. This only works for making the fit looser. If the fit is too loose, maybe a layer of tape (or foam tape) added to the holder will help. The only thing you can do for a too small width is increase the width and print it again.
What to Do If It Does Not Fit Your 3D Printer
The first thing to try is to go ahead and make and save the STL file. Import the STL file into your slicer and see if you can rotate and re-position the object to fit on your print bed. Printing on a diagonal will work if you were only oversize by a small amount.
The next thing to try is to reduce the size of the handles. Look for the following line near the top of the source code;
HandleLength = 37 + R;
This line sets the size of the opening in the handles at 37mm. You can safely reduce this by up to 10mm and still be able to fit your fingers in the handle, unless your hands are considerable larger than mine. Making this change will reduce the width of both handles, so a reduction of 5mm will result in an overall length reduction of 10mm. Find the "ECHO: xxx" line in the console window, subtract the size of your print bed from this number. Divide the result in half and reduce the handle length by that amount. If you have to reduce this by more than 10mm then you may not be able to fit your fingers into the opening in the handle.
Try a combination of both of these solutions. Reduce the handle length and print on a diagonal.
One more thing to try. If the diagonal does not fit because the holder is too wide, then you can try to reduce the height of the handles. You can safely take up to 30mm off the handle height, more if your hands are small. One note of caution, the handle height was made tall so that the user can grip the holder close to the center of the tablet being held. The will equalize the weight distribution, resulting in a more comfortable grip over time. If the handle is too short then you will be constantly fighting to hold the table upright, resulting in fatigue when holding it for long periods of time. So be cautious about reducing HandleIY too much.
To reduce the handle height, find the following line of code;
HandleIY = 100 + D;
Reduce the value "100". Be careful to not remove the "+ D;" part. Save the code, render it and create the STL file. See if it will now fit on your print bed.
One last thing to try. I do not recommend this except as a last resort. In your slicer, rotate the object around the Z and X axes so that it prints with a vertical orientation on a diagonal. Now the width is only 9mm, so angling it will allow a 280mm holder to fit on a 200mm print bed. You may have problems with adhesion because the footprint on the print bed is very narrow with respect to the height. As usual, you will need supports and you should also consider a brim. BTW, the Z height required will be around 109mm.
The final solution is to find a friend with a bigger 3D printer or buy a bigger 3D printer or you could send the STL file to a 3D printing service and let them print it for you, for a price.