Wi-Fi Connected IOT Thing

I have been working on this IOT thing for a while and wanted to share some details of my latest project.   In using the data loggers, I have found that just as I need to be able to use different sensors, I also need to be able to support different methods of recording and reporting data.  My first data logger used a MicroSD card for disconnected data collection.  Then, I built a version which connected using a cellular network.  For this next version, I used WiFi.

I started this project using the Atmel 328p but soon came to a realization, with WiFi, I needed more working memory and would need a more powerful chip.  After some trial and error, I decided to use the wonderful Teensy 3.1 from PJRC.  This is an Arduino compatible ARM processor with much more memory and speed.

The basic build contains the following components:

The basic idea is that this board will connect to GPS, obtain a GPS fix and report its location to Ubidots.  Ubidots can then display this information in a number of ways including showing the location and the number of times the sensor had been moved that day as the dashboard below shows:

Screen Shot 2015-03-02 at 11.57.05 AM

Here is the carrier board in detail:

Teensy Data Logger Board

Here is what the basic board looks like:

Basic Board
Basic Board

And here it is inside its protective Pelican case:

IMG_3919

I have posted the firmware sketch and the carrier board Design files to my Github repository.

A few design notes:

  • I wanted to use a variety of power sources (including Solar) so I went with the TI TPS63002 Buck-boost switching DC-DC converter.  It can be a pain to solder (see tutorial here) but I have yet to find a more versatile power supply.
  • I incorporated a very cool battery monitoring approach using a P-MOSFET to allow the data logger to monitor battery voltage and report it to Ubidots.  While not as good as true fuel gauge, it should be easy to implement across various power sources.  Thanks to Shane Trent for sharing this circuit on his excellent FET Tricks Blog.  I have yet to implement this in the firmware but will leave that you to.
  • I have put some potentiometers and a momentary contact switch (held high) on the board for future use.  One plan I have for the switch is to test for a button press at startup to select the WiFi network to use.  The potentiometers are intended to adjust the sensitivity and reporting interval for the logger.
  • I added extra connections for power management – you should be able to turn off the WiFi and GPS modules to save power between reporting.  The Teensy can be put to sleep as well and the accelerometer can wake it with the provided interrupt connection.
  • I also included the battery holder and header pin for using the Teensy’s integrated real time clock.  You only need to add the battery and solder a crystal on the underside of the Teensy.  This would enable you to set a regular reporting interval even if no movement is detected. Full instructions are provided here.

I hope this information is helpful.  Please leave comments or contact me if you have questions.  Also, you can follow me on Twitter @chipmc86 to hear about more over time.

Chip

 

Alternative short distance rangefinder: measures light transit time, not reflection angle

Here’s a device available on a pair of Sparkfun boards that Rod pointed us and Triangle Amateur Robotics to:

http://datasheet.octopart.com/VL6180XV0NR-1-STMicroelectronics-datasheet-26529471.pdf

Update from Rod: A sensor + ARM M4 eval board for $20 from the chip maker:

 http://www.mouser.com/ProductDetail/STMicroelectronics/EVALKIT-VL6180X/?qs=sGAEpiMZZMvfpQN6QVmrfGjb{13079d06258ef9010cea88dee32f3cdfc6f216a54651010f7303ce6140ee927c}252b49cDybCa83Lgq8kEXU{13079d06258ef9010cea88dee32f3cdfc6f216a54651010f7303ce6140ee927c}3d

Teaching Microcontroller Programming to Middle Schoolers Inexpensively

February 9th TriEmbed Meeting at NCSU

 This month’s meeting will have a highly focused theme: Tools and techniques for teaching middle school age children without spending a wad on hardware. There will be two speakers:
  • Alan Smith will bring examples of the boards related to his  Wizarding 101 and 102 classes for middle schoolers and will focus on what he’s  learned teaching introduction to microcontrollers from these classes as well as a full course.
  • Jon Wolfe of Anibit will talk about a graphical programmer he’s been developing.

More details, directions, etc on the “Meetings at NCSU” page.

Meeting at NCSU/Engineering building THREE this Monday

This Monday the 12th at 7pm there will be the first meeting of the new year. We’re returning to a totally casual format this time, but if you have something worth sharing via video recording please send a note to the mailing list. Bring your physical and virtual show and tell items and any announcements, comments or questions that feel right.

For January and February the meetings will be in EBIII on the opposite side of the engineering campus from the parking and past meeting locations. Be sure to look at the meeting details page here to orient yourself. There will be signs on some of the doors of the other buildings but the local teleportation devices are down for software upgrades, so expect a good hike in any event.

 

December 8 Meeting Presentations Available

Craig Cook recorded the most recent TriEmbed meeting’s presentations about C Preprocessing with the Arduino IDE, custom tools for laser-cut acrylic enclosures, getting results from the T962/T962A reflow ovens, and a tool being developed to allow easy bicycle wheel truing.

After being crunched through Handbrake they’ve been put on Youtube. Details of these and past meeting archives are on the TriEmbed Meetings/Archives page.

 

(By the way: smart phones don’t appear to render the menu bar of the TriEmbed web site’s main page, turning the whole thing into a set of three parallel lines near the upper right corner of the page. Clicking on that drops the nested menus for meeting, email, project info, etc, that is more obviously available with a desktop browser).