Category Archives: Hardware

A Wi-Fi pager–or, Experimenting with New Parts

I hI’ve been working for a while now on a new project for an actual customer.  It is a pager device designed to operate on an existing Wi-Fi infrastructure.  Naturally, it has a few other requirements that are a prerequisite for something like this: a battery and a vibration motor, among other things.  Then, to complicate things further, I decided to add an ATECC508A crypto IC for security.  That particular part was inspired by Mongoose OS, who Tweeted at me at one point while I was collecting the parts I needed.  At some point, at least, I want to experiment with their OS, and I may as well use my own board to take it for a test drive. Continue reading A Wi-Fi pager–or, Experimenting with New Parts

Assembling the keyboard toy (or: shipping an unfinished product)

After much iteration on the firmware for the keyboard, I decided on finally assembling the device, in spite of not being completely finished.  It will continue to be a work-in-progress, but I need to move on to other projects for now.  Once I finish some other projects, I’ll come back to this one.

Continue reading Assembling the keyboard toy (or: shipping an unfinished product)

Reflow soldering: further experiments and observations

AVR Keyboard Toy rev B, reflow finished
One of the boards, reflow soldering complete

Emboldened by my past success with the Roomba revision D boards, I decided to incorporate this new knowledge of reflow into the next revision for the keyboard toy.  A few things needed to change with this design.  First, I never did find a good way to incorporate the port expander into the final design; so out it went.  Second, the wire harness proved much too cumbersome–I would use a simple female header instead for the TFT.  Third, to save space, I would use the TQFP-32 package for the ATMega328p.   Continue reading Reflow soldering: further experiments and observations

Adventures in SMD

While trying to iron out the last details of the keyboard project, I decided to try my hand at a surface mounted design, and ordered some tiny ATTiny45 chips (TSSOP) while ordering some other things.  What caused me to take the plunge was that I realized I actually had all the tools I needed already.  Reading up on the topic lead me to the conclusion that the most economical way to do the soldering would be to use a skillet or hot plate; and rather than buy another tool, I wanted to attempt to use a cast iron skillet that I already had.  My thought was that cast iron heats very slowly and evenly and would have many of the same benefits, in that respect, or some other options I had read about. Continue reading Adventures in SMD

Roomba board, revision “B”

Revision "B" of my Roomba virtual wall device
Revision “B” of my Roomba virtual wall device

It’s been a while since I’ve written an update to this project, and there have been a number of developments; so it’s about time.  I now have a couple revision “B” boards deployed, also with new, more efficient firmware.  I haven’t been running the new boards or the new firmware long enough to really tell how much better they are performing, but it ought to be significant.  The big power draws are the LEDs, and they are now enabled far less frequently.  For the interested, all the new info is up on my GitHub project page.  Although, I was pretty sure I updated the ReadMe, but I’m not seeing the changes at the moment.  I’ll have to check and make sure I committed them.  But really, the important changes are:

My AVR ISP tool that I use to program my AVR boards using my Raspberry Pi
My AVR ISP tool that I use to program my AVR boards using my Raspberry Pi
  1. I have, since rev “A”, build a new AVR ISP tool that I use to program my boards. (GitHub or OSH Park)  This makes programming the rev B board much easier, since you don’t actually solder the ISP header onto the rev B board; you just “wedge” the pins into the vias during programming.
  2.  … I guess that was it.  I thought there was more than one, but I can’t remember it now.  Perhaps it was unimportant.

Next up, I have a revision “D” board coming which uses the SSOP8 package of the ATTiny45 and is smaller, even, than this board.  For those keeping score, yes, there is a “C” board–it uses a SOIC8 ATTiny, and I realized, before ordering the board, that it was the wrong footprint for the part I had ordered.  But I liked the design, so I kept it and made revision “D” instead.

Azure IoT Kit

WP_20160405_15_57_12_Pro.jpgI received one of these fun kits this year at Build 2016.  Here is the link, in case anyone is curious or wants to buy one.  It contains Adafruit’s custom ARM M0 SAMD board (similar to the Arduino Zero, but much smaller), and a bunch of components to mess around with on it.  Anyway, I figured that since the Azure guys (essentially) gave me the kit, I should use it to run through their tutorial.

WP_20160409_19_44_55_Pro.jpgAfter getting the graphics test running with the OLED Featherwing board, I ran through their Azure IoT Hub tutorial.  (Also pictured here is the temperature, pressure, and humidity sensor.)  NB: Make sure to follow the steps explicitly—the tutorial requires at least one forked version of a library that’s already available on the normal Arduino library manager.  Plus check to see if you have at least Arduino 1.6.8, which was just released in March.  I had an older one, because I was unaware of this fact.

azureIotOutput.jpgHuzzah, data!  The spike pictured here is me breathing on the humidity sensor.  Later, I discovered that the standard Azure setup they had me use for this tutorial would have run me out of credits in about three more days; so I removed it!  Alas.  Maybe there will be less pricey tiers later on.  It was fun to try out though.