MobileWill https://mobilewill.us Hobby Electronics Fri, 01 Jun 2018 03:49:21 +0000 en-US hourly 1 https://wordpress.org/?v=5.7.15 122809831 Google Home https://mobilewill.us/google-home/ https://mobilewill.us/google-home/#respond Sun, 05 Mar 2017 02:43:54 +0000 https://mobilewill.us/?p=3979 Read More]]> This post was from a November draft.

At last it has arrived – the Google Home! I have been anxiously awaiting this since I pre-ordered it in mid-October. In my opinion, Google Home is the missing piece to anyone’s home automation setup. Primarily it’s the voice control which has been the hardest to implement. In the past I have tried with a Kinect to control my smart outlets. This was before the openHAB days.

While OpenHAB does have voice built-in, you have to write your own rules. Creating rules that handle natural speech is a bit tough. With Google Home you can leverage Google AI for that. Google Home at launch is a bit limited but it supports just enough so we can get what we need done.

All I need is

  • Philips Hue
  • IFTTT

Eventually there will be more support and the dev features should be out in December. I think Google Home can be better the Amazon Echo but it will take some time. Of course Amazon Echo has been out much longer so Google has some catching up to do. For me one of the deciding factors (other than the fact that I am a Google fan boy) is support for Google Play Music which the Echo doesn’t have.

My initial out of the box experiance has been great except for one snafu with paring the Philips Hue. I couldn’t get the Google Home app to pair with the Hue bridge. When you try to pair, it launches the web browser (in my case FireFox). The error that kept repeating was “was unable to find the bridge.” After many tries and reboots, it still didn’t work until I tried it with an iPad. I think it had to do with FireFox being the default instead of the Android browser. On the iPad instead of launching the browser it opened the page in app and loaded a ready to pair page. Then I could tap Pair and hit the button on the bridge to accept. Naturally Google Home is new so it’s bound to have a few issues.

The experiance of using Google Home is amazing! It really shows how far tech has come in recent years. I was extremely giddy with all of the possibilities. It is amazing to be able to ask for a song, check the weather, or turn the lights on or off. Now we don’t need remotes or to grab our phones to control the lights. Turning the lights on should be simple right? Another big feature is selecting a Chromecast to send the audio or video to stream. So you can ask for a song but play it on the TV. Since the Chromecast supports HDMI CEC it can also turn the TV on! How cool is that?! I feel like I got a taste of what the future will be like and I can’t wait!

Follow the MobileWill blog to see what else we can do with Google Home. Next will be openHAB and IFTTT activities.

]]>
https://mobilewill.us/google-home/feed/ 0 3979
Blog Migration https://mobilewill.us/blog-migration/ https://mobilewill.us/blog-migration/#respond Sun, 12 Feb 2017 05:16:43 +0000 https://mobilewill.us/?p=3981

Finally, the move has been made! Goodbye Blogger, hello Wrodpress! I have wanted and have tried to do this for quite some time. Mostly because Blogger is quite limited and you never know when Google will axe it. The main reason for this migration is that I simply wanted the flexibity of Cornerstone (https://theme.co/cornerstone/) which I have the pleasure of using over at https://learn.friedcircuits.us. Cornerstone is the missing piece to WordPress. Without it, writing in WordPress can be limited and a bit plain for my tastes.

I started the process of setting up the new site and migrating all the posts last year. The trick is to make sure the old url structure still works to maintain page rank and not invalidate other links across the web. Thanks to a few guides on the web, I was able to make a smooth transistion.

So here‘s to 2017 and the new MobileWill blog. I hope with this new setup I can bring my blogging to the next level with better content to help the makers and hackers!

Links:
Plugin I used:
https://wordpress.org/plugins/blogger-importer/
Fix image locations:
https://wordpress.org/plugins/import-external-attachments/
Main site I used:
http://www.wpbeginner.com/wp-tutorials/how-to-switch-from-blogger-to-wordpress-without-losing-google-rankings/

Update:

In the end, I realized that I would be stuck with the Blogger URL structure which isn‘t really SEO friendly with the .html at the end. So long story short, I used the redirection plugin to fix and redirect links to a proper SEO URL. I switched to %postname% instead of being proceeded by year/month. I would have rathered had the categorty in the URL but the Simply 301 redirect pluging wasn‘t working at all. The redirection plugin I ended up using supports regex and 404 monitoring which allowed me to fix invalid URLs as they come up.

Redirection Plugin:
https://wordpress.org/plugins/redirection/

]]>
https://mobilewill.us/blog-migration/feed/ 0 3981
IKEA Motion Lamp Hack Update https://mobilewill.us/ikea-motion-lamp-hack-update/ https://mobilewill.us/ikea-motion-lamp-hack-update/#comments Mon, 26 Sep 2016 01:35:00 +0000 Read More]]> Back at it again, I decided to add a few more features before I deem this project complete and ready to be put into service. In case your are wondering, this is based on my previous work on the IKEA Motion LED Lamp Hack. This time around I just wanted to make a few hardware changes that will let me have full control of the light.

IKEA Motion Lamp Resistor Modification


Instead of just reading the trigger voltage I decided to also inject my own signal. This way I can control if/when the lamp is on. The easiest place to intercept the signal is to move the resistor rather than cutting a trace. I rotated the resistor 90 degrees and soldered another thin wire to it. The micro can read the trigger which is based on motion and either act on it by passing it through via a GPIO output or ignore it. (For example, if it is too bright in the room based on the light sensor threshold.) Alternatively, I could force turn on the lamp remotely. The only thing with the latter option is the RFM12B currently isn’t setup to receive commands which means I would also need to remotely change the brightness threshold.

Per my previous post, I can’t use the esp8266 module I found as it doesn’t have an ADC for the LDR. I suppose I could just feed it into a GPIO to trigger on the high/low voltage threshold. The newer esp8266 modules do have an ADC, but they’re limited to 1.8V. For now the Tiny328 will suffice. I can leave the esp8266 version for another time.

In trying to remove the resistor I lifted a trace, drat! Nothing like some hot snot to keep the wires secure.  Good thing it didn’t break –  the hot glue helps with this as well.

Hot Snot to the Rescue!  Perfect for Strain Relief.
Closing up the Housing.

The final piece is to figure out a good way for the LDR to “see” light whilst maintaining the moisture seal. A simple pierce of the drill and some hot snot and we are good to go, and take it apart again.

IKEA Lamp LDR soldered

 

IKEA Lamp LDR secured with hot glue

 

IKEA Lamp LDR wired through battery housing

 

IKEA Lamp wired with LDR to Tiny328

 

The Final Product.

 

]]>
https://mobilewill.us/ikea-motion-lamp-hack-update/feed/ 2 2226
USB HUB + WiFi Teardown https://mobilewill.us/usb-hub-wifi-teardown/ https://mobilewill.us/usb-hub-wifi-teardown/#respond Tue, 13 Sep 2016 05:21:00 +0000 Read More]]> One day I come across an interesting product from Adafruit that I couldn’t resist getting. It will make a nice addition to the Raspberry Pi Zero. It’s a 3 port USB hub with inbuilt WiFi which takes the fourth port. Inspired by insideGadgets, here are some photos and part numbers.

USB WiFi Hub

Wish it was a bit more compact. I have a USB to OTG adapter in the USB plug.

USB WiFi Hub Inside

USB WiFi Hub PCB Top

Main Components

  • USB HUB – Terminus FE 1.1s
  • 3.3V Regulator – AMS1117
  • WiFi – Realtek RTL8188ETV
USB Wifi Hub IC
USB Wifi Hub WiFI
USB WiFi Hub PCB Bottom

Interesting thing to note is the fourth USB port footprint, this PCB can support the WiFi module or fourth USB port. Overall it is a simple design that would be easy to embed in another project without the housing.

]]>
https://mobilewill.us/usb-hub-wifi-teardown/feed/ 0 2228
IKEA Motion Lamp Hack https://mobilewill.us/ikea-motion-lamp-hack/ https://mobilewill.us/ikea-motion-lamp-hack/#comments Sun, 11 Sep 2016 02:35:00 +0000 Read More]]>

Last year while visiting a friend for the Portland Mini Maker Fair I became the owner of an IKEA STÖTTA, a battery powered, motion activated, LED lamp. I knew it was ripe for hacking. After arriving home, it sat on my desk waiting to be disassembled to reveal its secrets. I figured the only way to get it off my desk was to get around to tearing it apart and seeing what I could do with it. Over the weekend I spent more time trying to decide which direction to take since there are plenty of features I could add. At least I can get something going now and add to it later. Who ever said a project had to be completed?

IKEA LED Light PCB Close Up

The lamp consists of a small PCB which contains the following main parts;

  • HS8A005 (BISS0001 Motion Detection IC)
  • PIR Sensor
  • LED Driver (Inductor and IC, powered by battery VCC and outputs 3V)
  • 3.3V Regulator
  • Voltage Detector (Disables trigger on low battery)
IKEA Light PCB Labeled


My primary objective is to tap the PIR sensor so that an attached microcontroller can report back to openHAB when there is motion and trigger some other action. After reverse engineering the layout of the circuit, I figured the best way to detect motion from the PIR sensor is pin 2 of the HS8A005 which is the trigger output. Using my EEVBlog multimeter I verified that when this pin is at logic level high (3.3V) there is motion and low (0V) when the timer expires and motion hasn’t restarted the timer. This signal can be fed into an input of your favorite microcontroller.

IKEA Light PIR with Lens

IKEA Light PIR without Lens

This is where I couldn’t decide what direction to take. Either way I wanted to add a Lithium battery to avoid having to buy and waste AA batteries, that only last a month according to the product listing. I’d rather just charge it once in awhile. The voltage detector runs from the battery voltage and it won’t trigger if the voltage gets too low, i.e. battery is dying. But that means the lithium battery needs to be boasted. I believe the LED driver also uses the higher voltage to boost current when converting to 3V for the LED output, so bypassing the voltage detector probably won’t help. Which also means the LEDs are in parallel.

Using my items on hand I have two microcontroller options I can use. With more time, and I may still do this, I could just design an OSHPark PCB for this project. Which would make it nice and tidy and easier for others to replicate. Hmm…

Option 1:
Use the original blue ESP-01 or a nodeMCU (which I’d rather not use just for a simple project). The ESP-01 would be a good fit of which I have two that I’m not using. This way I can publish directly to the MQTT broker and do over the air firmware upgrades, except for the fact that this version only has 512K of flash. You need 2x time sketch size which the black version of the ESP-01 would have in this case, 1MB.

The other issue with this option is no onboard regulator and limited GPIO but the nodeMCU solves all three. Finally, there is the problem of power usage, which needs just under 200mA when transmitting. I do have an ESP-01 programmer which has the 3.3V regulator but the GPIOs are pulled up to boot from flash and such so I can’t use the inputs after booting.

I did find this awesome schematic just for PIR detection. Given more time and parts I could use this option.

Option 2:
Use a Jeenode (Tiny328) left over from this project: Living Room Node Ugrade. This provides a low powered microcontroller of which I can use existing code. The only thing about that is that I am trying to get away from the RFM12B radios so that I don’t have to have a receiver and python Jeenode gateway that need to be updated to be more reliable. Going direct to the MQTT broker would avoid this. Plus, it is not setup for sending commands only receiving sensor data.

Other options:
For the first version and proof of concept option 2 will work with the Tiny328 and RFM12B radio for now. Now that I think about it, I have some RFM69 radios to play with and this would make a good project for that. I guess that makes a third option. (While writing this and digging out my RFM69 stuff I found a small esp8266 module from Blkbox Tech, but now they seemed to be called Blk box me, that has an on-board regulator and the extra GPIOs broken out, so yet another option. Yeah, I really need to inventory my stuff.)

The first build attempt:

IKEA Light with LiPo and Booster

To use the lithium battery I will need to boost the voltage. Fortunately I remembered I have two LiPo boosters from Sparkfun.com.  This will boost the nominal 3.2V from the battery to 5V. There is plenty of room inside around the battery compartment to tuck in all of the electronics. I decided to only have the battery and booster inside and bring out the charging leads and trigger line to the battery compartment to house the rest of the electronics for easy access for programming and charging.

I soldered a thin wire to the resistor that is connected to pin 2, which is easier than soldering directly to pin 2 on the motion detector IC. As I was finishing up I realized that I would be soldering the live battery wire with a earth grounded soldering iron. For good measure I added a small switch, which turns out to be a nice added feature it didn’t have!

Testing Light with Tiny328

Once everything is tidied up, I can close it up and no one is the wiser. It functions as originally intended except it is reporting back when there is motion! Pretty nice. I imagine it being used in a spy movie, LOL.

Abracadabra!  IKEA Lamp in Action

Future Features:
The Tiny328 still has the LDR and socket for the DHT from the last project. I think I will leave them attached for a future revision of this project. It can be a portable light with environmental data reporting along motion detection. The more I thought about the options, I was thinking I could intercept the trigger output and not only turn the the light on motion but only when the light conditions is low enough or on remote command. I could have the light level adjustable on the fly too. So many possibilities for a simple cheap IKEA lamp. I still would like to figure out a good way to use the esp8266 instead. There are some sleep functions and if I use the nodeMCU, I would have plenty of GPIO, except for the extras sucking up power. Might be time to design a board just for this project. Who knows maybe others would benefit from this. The IKEA lamp mod board! Hmm…

]]>
https://mobilewill.us/ikea-motion-lamp-hack/feed/ 4 2229
Mooltipass https://mobilewill.us/mooltipass/ https://mobilewill.us/mooltipass/#respond Fri, 09 Sep 2016 01:00:00 +0000 Read More]]> A year and a half ago I helped support the Mooltipass on Indiegogo. I originally heard about it on Hackaday.com, but what really captured my attention other than it being an offline password manager, is that it was going to be designed by the the community. Anyone could volunteer time to help with the project. Unfortunately I was unable to do so with the many other things I had going on. But at least I could support the project by backing it.

The Mooltipass is a USB encrypted (AES256) credential storage device that acts like an HID keyboard. It can be used with or without the Chrome app and the extension. The extension allows it to detect which site you are on and load that credential after an approval from the on board display, as well as manage the device settings and credential database. The goal of the Mooltipass is to minimize the possible attack vectors on your stored passwords. I use LastPass which has a larger attack surface and offers greater convenience, so for the time being, I am using both systems. Security for the Mooltipass is accomplished by being a physical device as well as having a removable smart card. Without the smart card and pin number, you cannot access the credentials even if you have the backed up binary blob. There is also a permanent lockout after three failed attempts of entering the pin. Which I find a bit short since with the touch buttons it is easy to mess up. I should also mention that the pin isn’t limited to 0-9; it has used all of the possible hex values, 0-9, A-F. Pretty neat!

Since the Mooltipass is a physical device pretending to be a keyboard, it will work with sites in which the login form isn’t detectable, such as a Flash based web app, which is another great feature. This is accomplished by using the onscreen display to send the credentials. An unintended use that I found is that is greatly reduces keystrokes for non web based logins which is helpful for people like myself who have tendentious.  I realized with the Mooltipass how many times a day I am entering in my credentials.


Here is a picture of the original which came in plastic, with an aluminum premium option. Both are nice with the touch wheel but quite bulky and standout on your desk, especially at work. Although, it has made for a great conversation starter that’s for sure.

Fast froward to 2016 and the group is at it again developing the Mooltipass Mini, a small compact version with a click wheel for navigation. At this point I had the time to invest and become part of the beta team to test and give feedback to improve the design before it is released on a crowd sourcing site near you.

Above is the picture of the first beta unit. This one has both a click wheel and joystick so we could test both by flashing various firmware versions. We tested the joystick first and then the click wheel. As a group we came to the conclusion to go with the click wheel. Regardless of the input method, I find the mini much better as it takes less desk space and you can easily stash it in a bag.

Pictured above is the next revision of the mini with a tinted ultrasonic welded plastic housing which protects the display. There are a few tolerance issues being worked out but over all it is very nice. As for the plastic, we were testing lighter and darker tint versions. That is until we saw pictures of an aluminum version!

We liked it so much that instead of it being offered as a premium version, the consensus is that it should be the only version. Some of the prototypes that were recently sent out also included an accelerometer! This helps with having to click the wheel from the side to approve a credential every time. So far for work, I will use the original one where I can just tap the front to approve and load a credential from favorites, plus it will have a separate set of credentials.  But the mini will be my go to one for everywhere else – it’s so convenient for traveling. One thing I need to try is entering credentials on my phone via an OTG USB cable.

Which color would you choose?

]]>
https://mobilewill.us/mooltipass/feed/ 0 2230
Living Room Node Upgrade https://mobilewill.us/living-room-node-upgrade/ https://mobilewill.us/living-room-node-upgrade/#respond Tue, 30 Aug 2016 01:43:00 +0000 Read More]]> For over a year now the living room node and La Crosse Gateway has been sitting atop a plastic bin next to my patio slider in a mess of wires.  This is when you know you have too many projects lying around the house.  So this summer I decided to design a PCB with a nodeMCU that will replace both projects and mount atop of a power brick. I went with the nodeMCU since there is power nearby, ease of connecting directly to the MQTT broker, and I can broadcast more often without the power limitations of a battery. This project frees up two RFM12B boards so that they can be used for the other window and the front door.

Living room slider node and La Crosse gateway


The new PCB consist of:

  • 2x female headers (so the nodeMCU is removable)
  • DHT11 sensor for humidity/temperature
  • LDR for light level
  • 2pin header for reed switch attached to slider door
  • 100uf cap for RC circuit to add delay when closing a door or window (internal pullup)
  • Connections for 433Mhz radio for the La Crosse outdoor temperature sensor
  • Breakout of the rest of the GPIO’s for future expansion
NodeSensor blank PCB

It took awhile to populate the PCB since I wanted to order proper 15pin female headers but they are nearly impossible to purchase here in the States. So I bought a bunch and put them in the FriedCircuits shop. After a weekend of porting the code it’s up and running. It was just a matter of merging the two projects code replacing the Jeenode library with the esp8266 library and adding MQTT publishing. After a few weeks of putting it into action I added the ArduinoOTA library for the nodeMCU. Very convenient to push code to it on the fly. I will have to add this to all my esp8266/nodeMCU projects. 

Fully populated nodeSensor

There is one issue where it will stop receiving and publishing the La Crosse sensor data. I will have to investigate what is going on. A reset fixes it until it stops again. The other sensor data gets published no problem. It’s the same code I used previously that also had issues but slightly different. It would get stuck receiving the La Crosse data. The LED would continuously blink which only happens in the La Crosse function.

I was going to design and 3D print a clip to hold it to the power brick but in the interest of time a rubber band will do the business (in the voice of Dave Jones). I did print a clip for the other nodes.

I have two of the three boards available if anyone is interested. Shoot me an email william at blog domain. 
Design files and code are available at github.com/friedcircuits/nodeSensor
]]>
https://mobilewill.us/living-room-node-upgrade/feed/ 0 2231
PCB Battery Clip https://mobilewill.us/pcb-battery-clip/ https://mobilewill.us/pcb-battery-clip/#respond Mon, 22 Aug 2016 05:03:00 +0000 Read More]]> Just a small update to the battery powered nodes. Until now I had used a piece of tape to hold the PCB to the battery pack. It was always a pain when changing the batteries or accidentally hitting the node and watching it fall apart. I also wanted to try my hand at Fusion 360, so this seemed like the perfect opportunity.

Fusion 360 sketch of PCB battery holder clip

I still have a lot to learn in using Fusion 360 but I got the job done, um sort of. I had issues extruding the width less than I had initially and I didn’t want to start over. So canceling the print worked good enough at the size I wanted.

Fusion 360 model of PCB battery holder clip

It came out quite nice. I just need to learn Fusion 360 properly.

PCB battery holder in action

]]>
https://mobilewill.us/pcb-battery-clip/feed/ 0 2232
C.H.I.P. by Next Thing Co https://mobilewill.us/chip-by-next-thing-co/ https://mobilewill.us/chip-by-next-thing-co/#respond Thu, 23 Jun 2016 04:07:00 +0000 Read More]]> After a year of waiting it has arrived: the $9 computer from Next Thing Co. When it launched on Kickstarter, there was no reason to skip backing this one to at least see what it was all about. Now that it has arrived I am quite happy that I did. For such a large project it would hardly be worth calling it late. My reward was due May 2016 and I received it June 2016. Very good compared to most crowd sourcing campaigns. I selected the C.H.I.P. plus battery reward, but before it shipped you could add accessories. I added the VGA adapter and an extra C.H.I.P. That way I can use it on my desk attached to my monitor since the DVI input is already in use. With the Raspberry Pi I have to connect it to the TV if I want to mess with it directly. At this price it’s cheap enough to buy more than one that you can dedicate to a project and just fuggedaboutit.

$9 C.H.I.P. and accessories

For those of you who don’t know what it is, you could say it’s a strip down Raspberry Pi, but more like the BeagleBone Black. It is powered by the R8 AllWinner CPU running at 1Ghz with 512MB of RAM. The big difference, which is what makes it more like the BBB, is the 4GB of on board storage. This makes it a snap to get going without having to buy an SD card, making it even cheaper. In the case of the RPi it really does end up costing much more than the $35 by the time you are done. The C.H.I.P even has a plastic cover on the bottom, which was included for backers. They also offer the PocketC.H.I.P. which adds an LCD and keyboard. I’ll have to get my hands on one of those eventually and do a review… hint hint Next Thing Co.

Image from getchip.com

The out of the box experience is pretty good. It comes preloaded with Debian but to update it all you have to do is plug it in via micro USB, visit http://flash.getchip.com/ (with Chrome to install the Chrome app) and follow the directions. As you can tell from the site they just added DIP support which is needed for the VGA and HDMI add-ons. If you purchased those you will have to update it out of the box. It may be the case by the time regular orders ship it will be updated already.

Flasher website which launches Chrome app

It took a bit of fiddling with it to get the latest version flashed. I kept getting failed flashes with waiting for fastboot and other various issues. Finally I did 4.3 and then 4.4 and it took but this was using my laptop as I wasn’t having much luck on my desktop. They have a pretty good support site and community so if you run to any problems there are plenty of people ready to help you.

Flashing screen via Chrome app

Once running, I was having a power problem as the onboard power management chip doesn’t allow much over 500mA to be drawn from the USB port to safeguard the host. At least there is a way to override this in software. It isn’t an issue until you add the VGA/HDMI or a USB device. What worked better was to use a USB battery pack and not plug in the USB dongle for my mouse/keyboard until it booted and loaded the desktop. But eventually it cut power once I connected to the internet and ran updates. Good thing I purchased the battery since it acts like a UPS and fills in when needed. I think the 500mA cut off is unnecessary. Most computers protect themselves and in my case, my computer can easily supply more than 500mA. Plus you could use a USB hub to supply more power as well. I have a Gigabyte Motherboard that allows extra power on the USB ports for charging and such. I know from experience that the ports are protected…

At this point I don’t have a project lined up for it. For now it will be messing around and maybe running a web server. To be worth while it would have to be a hardware or portable project as I have said before, instead of another device being powered around the house I can always just create a Virtual Machine with Linux. Overall its a great little device that I can see being used in lots of projects as more people get their hands on it, especially at this price point and size.

]]>
https://mobilewill.us/chip-by-next-thing-co/feed/ 0 2235
nodeLED https://mobilewill.us/nodeled/ https://mobilewill.us/nodeled/#respond Tue, 21 Jun 2016 04:26:00 +0000 Read More]]> As a hacker, I know all too well how much workbench space is vital. Alongside my three monitors, I have an extended desk that houses my soldering irons, compartment shelving, and countless projects, among other tools and devices. One constant that seems to get in my way is an old desk lamp. That’s where this project came to light, ha! I decided to design my own lamp using an analog RGBW LED strip. This board I designed will give you the tools to design your own WiFi controlled light source.

The boards’ controller is run by the NodeMCU which is connected to an N-Channel MOSFET for each color of the RGBW LED strip. Trimpot for brightness and two user buttons (that can be setup to change modes, possibly) were also added. A 5v regulator was then added so the power can be shared with 9-12v input for the LED strip. The nodeMCU will be updated by wireless as well.

My idea is to have the nodeMCU be a web server for direct control via a web page. The site will have various configurations including color options, number of channels, animations (like fade effects) and a timer. I’d like to have it connect to MQTT server to integrate with larger servers such as openHAB.

You can follow the details of the project on Hackaday.io

https://hackaday.io/project/11521-nodeled

]]>
https://mobilewill.us/nodeled/feed/ 0 2236