Hardware Development Pt. 1

A project log for Polymorphic Hardware

Applying polymorphism to hardware enables users to do more with their devices while avoiding IoT pitfalls.

Trey GermanTrey German 04/24/2016 at 23:100 Comments

Designing and building a bluetooth motion tracker will be no easy task, and to that end I've decided to stand on the shoulders of some giants instead of starting from nothing. TI has a great development platform that fits this projects needs almost completely. It's called the SensorTag and its a Bluetooth Low Energy reference design that includes several different sensors. Since I've already written some Cordova training material that works with this device, basing my hardware design off this device will make this training material reusable when my hardware is available.

The SensorTag though isn't 100% perfect for this project. It's a little larger than I'd like, has more sensors than are needed for this application, and has a discrete radio layout. The discrete radio could be a big problem later down the road. If the design takes off, I'll need to comply with FCC and other countries' radio rules. A discrete layout means expensive intentional radiator tests and certifications. There are other options though...

Because of the above mentioned problems, I'll be designing and refining my own hardware. In order to make the design as flexible as possible, I wanted the finished board to be as small as possible. To this end the board is round and I'm shooting to have the finished design an inch in diameter. Next, I need to find a pre-certified FCC compliant module that is as small as possible and uses the CC2640 device in the SensorTag. There are a few out there I found, but the Sable-x from LSR was the smallest, so I chose this device. Finally, I chose to keep the Invensense MPU-9250 while swapping the SensorTag's Bosch barometer for the MS5607 from Measurement Specialties.

After I finished drawing up all the parts in EAGLE and wiring up the schematic, I came up with this schematic.

As everyone knows the EAGLE auto-router leaves a lot to be desired, so I layout and route all my boards completely by hand. It's a time consuming process, but if you want a board that is beautiful and routed efficiently there is no better way. After several cups of coffee I came up with this layout:

The board measure 1010 mils in diameter and includes:

Now that I had a design I needed to get it manufactured. Traditionally, I would send the gerber files off to a PCB manufacturer, place a Digikey order, and assemble the boards myself, but I've opted for another route with this project. Because the timeline for this project is so short and this board is crazy high component density, I opted to go with a professional assembler. Thankfully, I have one just down the street from me in Houston called MacroFab. MacroFab is really cool because you can upload your whole design, pick parts, get a quote, and order boards all without ever talking to anyone. That said, the guys there are always happy to talk if you need help or have special assembly needs.

A few weeks after I placed my order, I went over to pick up the boards and I was blown away with how small they were in person. Check out this photo:

After getting the boards manufactured, the guy's at MacroFab invited me to appear on their podcast and talk about these boards. You can listen to it here.

In the coming weeks, I'll be testing the boards and starting firmware development. Stay tuned for updates and let me know what you think of the project this far!