The Bus Pirate is one of our favorite tool for quick-and-dirty debugging in the microcontroller world. Essentially it makes it easy to communicate with a wide variety of different chips via a serial terminal regardless of the type of bus that the microcontroller uses. Although it was intended as a time-saving prototyping device, there are a lot of real-world applications where a Bus Pirate can be employed full-time, as [Scott] shows us with his Bus Pirate data logger.
[Scott] needed to constantly measure temperature, and the parts he had on hand included an LM75A breakout board that has a temperature sensor on board. These boards communicate with I2C, so it was relatively straightforward to gather data from the serial terminal. From there, [Scott] uses a Python script to automate the process of gathering the data. The process he uses to set everything up using a Raspberry Pi is available on the project site, including the code that he used in the project.
[Scott] has already used this device for a variety of different projects around his house and it has already proven incredibly useful. If you don’t already have a Bus Pirate lying around there are a few other ways to gather temperature data, but if you have an extra one around or you were thinking about purchasing one, then [Scott]’s project is a great illustration of the versatility of this device.
Between Tesla Motors’ automobiles and SpaceX’s rockets, Elon Musk’s engineers just have to be getting something right. In part, SpaceX’s success in landing their first stage rockets is due to analysis of telemetry data. You can see some of the data from their launch vehicles on the live videos and there is surely a lot more not shown.
An article in MIT Technology Review provides similar insights in how Tesla came from behind in autonomous vehicle operation by analyzing telemetry from their cars. Since 2014 their Model S received an increasing number of sensors that all report their data over the vehicle’s always-on cellular channel. Sterling Anderson of Tesla reported they get a million miles of data every 10 hours.
The same approach can help us to improve our systems but many believe creating a log of key data is costly in time and resources. If your system is perfect (HA HA!) that would be a valid assessment. All too often such data becomes priceless if analysis explains why your drone or robot wanted to go left into a building instead of right into the open field.
He’s using RunKeeper to store and display the workout data. They offer a token-based API which [Reefab] implemented in his Arduino sketch. The hardware to grab data from the exercise bike is quite simple to set up. A rare-earth magnet was added to the fly-wheel with a reed switch positioned next it in order to measure the number and speed of rotations. This is exactly how a consumer bicycle computer works, needing just one accurate measurement corresponding to how far the bike travels with each revolution of that wheel.
In addition to the networked-logging feature [Reefab] included a character display so you can follow your speed and distance data during the workout.
[Minisystem] has a thing for dynamo powered bike lights. He wanted to measure how well his latest is working, but just logging the current flow through the LEDs wasn’t enough for him. He picked up a cheap Lux meter and hacked into the circuit to log measurements while he rides.
He started by cracking open the case to see what the meter held inside. There’s a Texas Instruments Op-Amp that connects to the light sensor. The datasheet for the part didn’t help much, but [Minisystem] did find that the current output on one of the pins changes with light intensity. Further testing led him to discover that the signal is a multiple of 10 for what is shown on the Lux meter’s readout. All he needs to do is take regular measurement of this current and save that data.
To do this, he grabbed his trusty Arduino and made a connection between one of its analog inputs and the op-amp pin. It should be easy enough to dump measurements into the Arduino’s own EEPROM, or use an external storage chip or SD card.