Phone-In-Car Reminder

I hate forgetting my phone in the car. I used to put the phone on my lap, in my pocket or on the passenger seat, but since I’ve installed a dock, I keep forgetting the phone because I’m not used to it being there – There must be a solution.

After some thought I got it – An alert system similar to that of the car’s headlights, which beeps if you forget to turn them off. I wanted the solution to work on any phone and any car so It mustn’t run on the phone (software combined with NFC, for example, needs a lot of maintenance to support all devices).

Generally, there are two conditions that have to be met in order to trigger the alert – The engine must be off and the phone must be docked.
Determining whether or not the phone is docked can be done in many ways, I chose the burglary alarm approach – a ray of light being broken by the phone. This is implemented via an IR LED and an IR photodiode.
Engine-off detection is a little more tricky, I didn’t want to tap into any of the car’s systems because I wanted a simple implementation and model independence. Finally, I noticed that when the engine is off, the 12V power socket is disconnected (and that’s true for most cars). This provided a solution to one problem but created another – I still need a way to power the system when the engine is off.
Rechargeable batteries are one way to go, but they will die very soon because they will be kept at 100% most of the time (not good for Li-ion batteries and I don’t want to get into charging circuits). Supercapacitors were the ideal solution for me, constant charging doesn’t effect lifespan, they can hold enough charge for a few seconds after power is cut and they are inexpensive and small enough.
Eventually, I used four 3.3F capacitors rated 2.5V in sieries, providing 0.825F and 10V rating (it’s recommended that the rating of the capacitor be about double the operating voltage)

Initially, I thought about using an Attiny85 running Arduino, that will be a very simple implementation with very few components and just a couple of lines of code, but since i’m using capacitors as a power source I need to conserve as much power as I can.
A few iterations in, I came up with the circuit in the pictures.

This slideshow requires JavaScript.

I used very inexpensive and simple components, no IC’s, no controllers, no code. Minimum power consumption.
The circuit will be connected to a 5V USB car charger with a current limiting resistor.

The LED and photodiode will be positioned on each arm of the dock’s clamp. When the phone is docked, it blocks the light and the photodiode opens making the transistor close (there are two implementations shown in the drawing for the same circuit based on the transistor type). The green LEDs in the prototype indicate that the voltage source is connected and that the light is broken, a kind of hardware debugging.
The beep will come out of a piezo-electric buzzer.

The system hasn’t been installed in the car yet because I’m going to replace my car in a couple of months. rest assured it’ll be installed in the next and a post will follow.

If you want more information regarding the circuit and the job of each part, leave a comment or Email me.

Advertisements

OctoPi – Remote Control 3D Printing

Leaving a 3D printer unattended is not very smart, especially a homemade one. If you’re lucky, you’ll only mess up a print and waste some plastic. If you’re less lucky, you can cause some damage to the printer or worse, burn down your house!

This is where OctoPrint comes in. OctoPrint is a free 3D printer web interface. It includes a password protected interface with live video stream, time-lapse capturing, G-Code viewer, Terminal interface, Temperature graphs, motor and temperature control buttons, and more.
This means you can SEE what is going on in real-time and stop the printing or send some code to the printer if necessary. This is a huge convenience, I no longer have to go and check that everything is OK, I can do it from my phone.
Moreover, I can slice on any computer and send the G-Code from anywhere in the world. If I don’t have a computer with slicing software, I can even link OctoPrint to a local installation of CURA and slice remotely! now that’s amazing.

I work with two computers, a desktop and a laptop. Although OctoPrint gives me the freedom to send and monitor prints from any computer, I didn’t like the idea that my printer has to be permanently connected to one of them. I wanted the printer to be independent, autonomous. I didn’t want to have to leave my computer on or not be able to reset it is something else needed it.
A dedicated computer is a massive overkill, It takes up a lot of space and it costs too much for what it does, I was looking for a more mobile solution so that I could move the printer and still have all features available. I wanted the printer to be an all-in-one solution.
After a short search I found OctoPi, A Raspberry Pi image with OctoPrint and everything built-in, maintained by Guy Sheffer. This means I can mount a RPi on the printer and have the interface and all of its features and settings no matter where the printer is set or on which computer I’m currently working.

OctoPi also provides a GUI for a touch screen to be mounted on the printer, I have no need for this right now, but maybe I’ll add one in the future.

Raspberry Pi mounted on the printer. Excuse the cabling - i'm still working on that.
Raspberry Pi mounted on the printer. Excuse the cabling – i’m still working on that.

If you’ll notice, the USB cable is made of two cables, there are two reasons for this. One, the Arduino’s USB port is facing downwards and a straight jack would be pressed against the desk and apply force on the Arduino – not good. I used some scrap L shaped USB-B cable I had from an old scanner to prevent this. And two, the RPi and the Arduino are powered via two different power sources and both regulate the voltage seperately. This means that their operating voltages aren’t 100% identical. If I connect the RPi to the Arduino via regular USB cable, the RPi would supply its regulated 5V to the Arduino, making the Arduino receive power from two different sources – also not good. For this reason I cut the 5V line of the USB cable, thus connecting the + and – data lines and sharing ground (important!) without supplying power.
I didn’t cut the cable to length because I’m not completely sure this is the final position of all components. there are more to be mounted.

Working with a RPi meant i can use the GPIOs to make the printer smarter and add features I need (see the relay in the picture? more on that in a future post)

Wireless charging (Inductive Charging)

About two years ago, Induction Charging became a standard in almost every new smartphone. At the time, my smartphone of choice was the Samsung Galaxy S II which, of course, did not feature this technology.

After some research, I decided my phone should have this feature – so I added it myself.

the modified phone and case

This procedure is not exclusive to the SGSII nor to smartphones. In fact, induction charging (of this type) can, theoretically, be added to any device charged with 5V.

I thoroughly documented the project and published a step-by-step guide at Instructables.com (An awesome site for DIY, BTW).
Copying the guide will be redundant, so you can check it out HERE.
You can also check out my profile and more projects that I uploaded HERE.

The project was featured on the Instructables newsletter and a number of sites like Hack-A-Day, HackLife and other blogs.
Seeing people get inspired by the guide was amazing, it’s part of the reason I started this site, hope you like it too.

Playing With Glass

The build surface of a 3D printer is critical for producing good prints. There are a few things that can go bad during a print or may prevent one from even starting printing.

The main issue is adhesion. You haven’t felt frustration until a 20 hour print gets loose at the last few layers. Other important issues are flatness and warping which might not be as important for some people with certain types of prints, but can also affect adhesion and are very important to me.
There are many techniques to get the job done, I haven’t tried all of them but through trial and error i found the method that works for me.
At first, I tried to print directly on top of the hot-bed. That’s not a good idea, not only is the hot-bed flexible and not flat, it can easily be damaged by the hot-end or a print that’s stuck too well. Applying masking tape, painter’s tape (basically the same thing) or Kapton tape (thick nylon-like tape that can withstand extreme temperatures) can protect the bed from the hot end or stuck prints and some say help with adhesion, but I saw no improvement and it does not help with the hot-bed’s flexibility.
Some use commercial products like BuildTak, but I haven’t tried it yet.
Aluminium seems like a rather popular option, but it has a few drawbacks. While having good thermal conductivity, aluminium tends to warp in high temperatures. It’s relatively soft so it gets easily scratched and damaged if not handled with care. I think a better option would be copper, which has similar mechanical properties but better thermal conductivity. (to date, I haven’t seen anyone use copper)
I guess THE best surface would be made of diamond, it has the best combination of thermal conductivity and strength, but that would be a little over budget..
It was obvious to me that glass is the way to go. It’s hard, flat, can withstand a little beating if a print is stuck and it’s cheap. I actually got mine free.

20150125_223530

I tried a few types of glass sheets, 3mm, 4mm and 6mm thick, smooth and sandblasted.
Thickness was very important because i’m using a heated bed. The 6mm and 4mm needed a lot of time and energy to warm up to the temperature i wanted, the 3mm still serves me and it’s doing a fine job.
I thought about going 2mm but that’s harder to find and i’m afraid it might be too fragile.
The 6mm glass was actually a shelf from my bathroom. It wasn’t the right size and it was a hassle fixing it to the bed.
The 4mm had a sandblasted side and a smooth side. I thought the sandblasted side would help with adhesion but i saw no difference. I got if from a glazier who cut it form a scrap piece and gave it to me free.
The 3mm was taken from a broken all-in-one printer’s scanner bed. I cut it to shape myself with a glass cutter and to maximize the printing area, I cut the corners to make room for the bolt heads and washers holding the bed.

20141122_152118Sometimes a flat and hard surface isn’t enough to make the print stick, sometimes it needs a little help.
For ABS there’s a neat trick, I use ABS Juice, that’s ABS dissolved in acetone. Once applied, the acetone evaporates and leaves a thin layer of ABS on the bed for the print to stick to.
For PLA, I use UHU stic glue (like the one in the top photo). A thin layer is enough for a number of prints and it’s removed easily with hot water.
As mentioned above, some use different tapes on top of the surface, but they didn’t really work for me.

Building The 3D Printer

Well, I didn’t document the whole building process because there are A LOT of guides and documentations out there. Plus, it would have slowed me down considerably.
This is written after the fact, obviously.

This project is not completely finished and it might never be. I see it as an evolving project, I constantly add features and change stuff.

Most of the parts were ordered off eBay.
The frame is Dibond Aluminum. That’s plastic with aluminum layers on both sides, it’s supposed to be light and strong – it is.
All plastic parts are 3D printed and came with the frame (the whole idea of the RepRap project is self-replicating 3D printers, well not fully, just the plastic parts – the goal is to get a better printed to non-printed parts ratio)
The hot end is an E3D v6 all aluminum hot end.
The motors are Nema 17 stepper motors, they are a little less powerful that the “standard” 0.4Nm ones, but they work perfectly fine.
The controller is an Arduino Mega 2560 paired with a RAMPS 1.4 driver board.
I’m using a standard 500W computer ATX power supply.

The initial build took about about 3 days. It took place during the last summer at my house with a few of my friends who wanted to help and see the wander.
The build itself wasn’t special, just a marathon of wrenching, drilling, measuring, soldering and calibrating. Oh, and pizza. lots of pizza.

I think the most exciting moment was seeing the code and motors work together. It’s not something I haven’t done before, nor was it an advanced part of the build, but seeing the pile of metal and plastic turn into something that follows commands other that the trivial “stay” was just beautiful and a sign that the hardware is fine and we are on the right track.

After 2 and a half days we had a kind-of-working 3D printer. a diamond in the rough, one might say.
It extruded plastic and moved in the right direction, but it needed calibration and lots of it.

On the evening of the 3rd day I did some work alone and kept having the same problem – I could print fine at first, but after letting the printer rest it would not extrude more plastic, every time I had to disassemble the hot end and drill out the stuck plastic.
It’s too long of a story for this post (maybe I’ll post another one with the fully detailed comedy) but I’ll give you the recap of what I learnt – Computer thermal compound is not intended for these temperatures and if your hot end came with a little fan – use it.
I ended up breaking my hot end in so many places I had to buy a new one.

The new hot end took a little time to arrive and when it did, the semester had already begun and this one was brutal, papers and assignments every week in every course. I never thought I’d wish for midterms to come sooner, Argh..
I could only invest a few hours a week for fiddling with the printer but slowly and surely, it’s up and running.

3D Printer

Yeah, so I built a 3D Printer.

I have been fascinated by 3D printers for a while now, I’ve always wanted to build one. The notion that you can think of ANYTHING and make it a reality AT YOUR DESK with not that much of an effort – if any, blew my mind.
I read a lot and followed some really cool project only to be overwhelmed by the complexity and scale of the project (which turned out not to be that complicated), thinking that if I start I might get bored or worse, stuck, and leave it half finished.

So what made me go through with it?
One day, I was sitting at a friend-of-a-friend’s house talking about projects and DIY. I mentioned how I always wanted to build a 3D printer or a CNC machine and Gal, the one who lives there, said he built one a few years back and missed it. We decided to build mine together.
He also mentioned he wanted to get into programming with Arduino, with which I was quite familiar, so he helped me choose components for the printer and I helped him build an Arduino starter-kit. Win-Win.

Here I will share my journey, thoughts, lessons and updates revolving around building, maintaining and operating my 3D printer. Enjoy.