Rapid Prototyping

A project log for FlightCPU

An embedded data recorder for High Altitude Balloons.

JeremyJeremy 06/29/2016 at 16:080 Comments

Any good hardware design needs a solid development environment to help debug and isolate issues as they arise. The final FlighCPU will be etched on a PCB, but until then, I needed to rely on breadboard and the Arduino Uno.

All sensors where purchased off of eBay for relatively inexpensive prices. If you can absorb the slow shipping speeds, this is definitely the way to go. The Humidity/Temperature sensor was a left over from an IOT project I worked on, so that sensor stands out from the rest (although it still uses I2C so I was all set on that front).

Development consisted of attached each sensor to the Arduino using the I2C bus (SDA-Pin 4, SCL-Pin 5)- and using the Wire (I2C) library to test communications. Well that was for the Humidity/Temperature sensor. For all other sensors, I was able to find open source libraries to help communicate with each sensor and pull the appropriate data.

Once I was able to confirm the Arduino could communicate independently with all sensors, it was time to daisy chain them to the I2C bus and make sure I could talk to all of them. I2C allows for devices to have unique addresses, so when you communicate on the bus, on the desired device will respond. Some I2C devices have multiple addresses, allowing you to avoid any conflict with multiple devices. Luckily, all hardware we selected had different addresses, and talking to each one while on the bus was no problem.