Profile cover photo
Profile photo
Stephen Warren
Stephen's interests
View all
Stephen's posts

Post has attachment
A very useful post when setting up USB gadgets, especially the information on OS descriptors.

Post has attachment
I finally got around to writing another blog post. Hopefully I didn't screw it up too badly since I was rushing to get it out before the coffee shop closed...

Post has attachment
PSA: Yet again, don't update your Jenkins installation or it won't work:-(

What's even worse is that I'm installing Jenkins via the .deb files provided by the Jenkins project. These packages do not include a dependency on Java 8, so the latest broken Jenkins package happily installs even if you don't have Java 8 installed, and then breaks Jenkins. The bug report for this ( was helpfully closed as not-a-bug because they announced the change on their blog. WTF???

Post has attachment
I recently connected my garage door to the Internet using an ESP8266. More on that topic in another post. The linked blog post covers some research I did after discovering that one of my garage doors opened every time the power was removed from the ESP8266 and re-applied.

Post has attachment
For a while I’ve been meaning to create a place to write up various projects I’ve worked on, or the occasional other topic. Well, here it is! Doing this on a website rather than directly on G+/... allows for easier formatting, image embedding, etc. We'll see whether I keep up with writing up projects; I do have few more in the plan.

Post has attachment
Jetson TX2 has launched.:-)

Post has attachment
Now I've rewired the garage door ESP8266 with a custom PCB, and 3D-printed mounts for the ultrasound sensors - much neater.

It's my first PCB designed with Kicad; it's real easy to order Kicad designs from now. I only created 3 bugs in the PCB:

* Mounting hole drill too small. Not sure how this happened; perhaps because I accidentally created it as a via rather than a mounting hole.
* Wires to relay module aren't in the order they are on the relay board. Not a big deal since it's wired with individual wires to access terminals but I may as well fix that next revision.
* For one of the relays, the ESP8266 GPIO I picked glitches at power on causing the door to open. I need to work or which GPIOs are safe and pick another. I noticed this just a few hours after sending off the PCB order; oh well.

Post has attachment
I'm ready for #MakeMIT this Saturday.

Not competing obviously, but acting as a mentor, in particular for contestants using the NVIDIA Jetson Developer Kit.

Post has attachment
ESP8266-based WiFi garage door opener, with ultrasonic position sensor. Useful for when I ride a bike without a backpack and don't want to carry the bulky remote.

#mywiringisamess - next step may be a custom PCB to replace the rather ad-hoc wiring harness.

Characterizing SC-HR04 ultrasonic sensor trigger condition with sigrok:

The constant delay between the falling edge of the trigger pulse and the leading edge of the echo pulse, even with varying trigger pulse lengths, indicates that the length of the trigger pulse isn't critical, and that the echo won't start before the trigger pulse has ended. This all makes the triggering code non-time-sensitive. Coupled with using interrupts to measure the echo pulse edges, this makes the sensor very easy to use.

(Not sure how the formatting of the following will turn out...)

[swarren@sprint ~]$ sudo sigrok-cli --driver asix-sigma --config samplerate=10m --time 15s --channels 1-2 -O csv|uniq -c
1 ; CSV, generated by libsigrok 0.3.0 on Wed Feb 1 20:54:49 2017
1 ; Channels (2/16): 1, 2
1 ; Samplerate: 10 MHz
26562 0,0
140 0,1 # ~10us trigger pulse
4576 0,0 # ~460us delay until echo
53600 1,0 # echo (length is proportional to distance)
60825 0,0
1040 0,1 # ~100us trigger pulse
4569 0,0 # ~460us delay until echo
53574 1,0 # echo (length is proportional to distance)
76796 0,0
10039 0,1 # ~1000us trigger pulse
4575 0,0 # ~460us delay until echo
53568 1,0 # echo (length is proportional to distance)
71278 0,0
Wait while more posts are being loaded