A mobile charging cradle for the Xperia Z

This is an extension of a previous project, a charging station for the Xperia Z. I decided it would be nice to have hassle-free charging in the car, as well as a base to hold the phone in a favorable position for seeing navigation.

The design in CAD software
The design in CAD software

The new design was made to partially enclose the phone (with its protective case) and have two pogo pins to hit the charging contacts on the side, making it virtually effortless to hop in the car and charge the phone without plugging anything in.

Instead of designing the dock with a specific car or mounting system in mind, I placed two holes matched to the diameter of a wire coat hanger. This allows a mount to be created and modified after the fact, and makes it possible to use the dock in another car without printing another one.

Also this time, instead of using a USB breakout board, I hacked the end off a USB cable, made a channel for the cable in the design, and used a knot in the cable as a strain relief.

Bottom of the new charging cradle
Bottom of the new charging cradle
Top view, with pogo pins
Top view, with pogo pins
View with mounting bracket
View with mounting bracket

The quality of the print was much higher due to using a well-tuned Ultimaker instead of the aging Makerbot used for the last print.

Files for this project: SolidWorks filePDF Drawing, STL file.

WiFi PIR Sensor

What IoT (“internet of things”) setup would be complete without the wireless PIR (passive infrared) motion sensor? And anyway, at this pace of ESP8266 projects, soon everything in my house will have an IP address.

This sensor is the next in a series, intended to fulfill a purpose, provide a general template for device-to-internet communication, and aid in me figuring out better and more compact ways to build these devices.

Generic input sensor interface
Generic input sensor interface

Continue reading WiFi PIR Sensor

Exporting a gmusicbrowser queue

I was looking to brush up on my C and C++ skills and become acquainted with the GNU GCC compiler, and this was one of the first topics I chose.

The idea is, take the queue of songs from gmusicbrowser and write a shell script to copy each music file to the current directory, prepending the number position in queue to the file name.

This permits the user to place all the files on a thumb drive or other device, and have them play in the same order, when the playing device plays in order of an alphabetical sorting of the directory. Two examples of devices that do this are an Onkyo TX-8050 receiver and a Kenwood DPX-500BT head unit. Continue reading Exporting a gmusicbrowser queue

3D printing a charging cradle for a Sony Xperia Z

This is a recap of a term project of sorts in Solidworks class last spring. We had to pick something to design (printing it was optional).

My latest smart phone is a Sony Xperia Z, a cheap enough out-of-pocket expense to replace a cracked Nexus 4. The new phone is water-resistant, but I found pulling the cover off the charging port every night was a pain. They do sell a charging cradle, though its poor design means it will not work with as phone case.

Copyright Sony
Copyright Sony

Considering the Xperia Z is so thin I can barely pick the phone up off a table without a case, and considering the school having a 3D printer, I found my design project. This post outlines the topics covered in my class presentation.

Appearances can be deceiving - this alarm clock has an IP address.
The finished print

Continue reading 3D printing a charging cradle for a Sony Xperia Z

ESP8266 Arduino SMTP Server

Note: This is the first in a three-part series. Click here for part 2.

I wanted a way to have a DVR (camera system) to trigger an ESP8266 to toggle a pin (for a chime, etc). This specific model of DVR only allows sending mail and sounding a buzzer for motion detected events. One option would be to put a second ESP8266 inside the DVR and put the IO pin on the buzzer output. A method using one ESP8266 rather than two, would be to have the ESP8266 receive the email. So I set off to make an arduino SMTP server. Continue reading ESP8266 Arduino SMTP Server

Rebuilding the automation controller

After much slacking, I have concluded that it is not worth the effort to try to build a product around this idea, to then produce, market, and sell.

In the spirit of open-source, I intend to document here my progress in creating a simple, inexpensive yet powerful tool for hobbyists to build.

The automation controller is a device which allows the user to log and view sensor readings (temperature, humidity, etc) and use those inputs to control attached appliances (heater, humidifier, etc) automatically. This device can be built using parts bought from common online electronics distributors, with a low to moderate amount of soldering and assembly.

This device is based upon a microcontroller (“MCU”) which is a small computer for all intents and purposes. This MCU I have written software for, which I will make available here, free of charge.

The device runs independent of a computer, however at present a graphical frontend is used to display logs and set parameters. This software will be available here, free of charge, and requires Windows 98 or higher. In the future there will be available software for other OSes.