Much to his own surprise, Charles “Chuck” Swiger was declared the winner of the first-ever PSoC Pioneer Challenge. This contest challenged makers to design Internet of Things projects using the newly released PSoC 4 BLE Pioneer Kit. Ten maker projects competed for one grand prize, $2,500 for travel to Maker Faire Bay Area taking place May 16 and 17 in San Mateo, California. See more of Chuck’s project here, and read below about why he settled on PSoC 4 BLE as the solution for his design.
Make: Were you aware of PSoC‘s capabilities before participating in this contest?
Chuck Swiger: No. I had heard of SOC peripherally in trade news but never dived into one. I had played with FPGAs before, watching design software turn verilog code into hardware schematics, but did not know about all the analog and digital design components that are available via drag and drop in the PSoC Creator IDE. I had a blast playing with the logic components, counters, and analog to digital converters. Like I posted in the PSoC Maker community, it’s a lot like a kit with a bunch of 7400 chips on a breadboard again, experimenting on a virtual breadboard.
Make: You use an interesting phrase in your project title: Lifecycle monitoring. Can you describe what that means, and what problems might be addressed (and resolved) through such monitoring?
Chuck: Lifecycle monitoring means to track and to learn about the slow loss of capacity of the battery packs as they age. These cells, the popular 18650’s, are said to last 500 full charge and discharge cycles and still retain 80% of their capacity. With the seasons affecting ride time, I typically fully drain and recharge the batteries during the summer. I’ve measured nominal capacity loss in the last three years, checking in late autumn or early spring. The thought was, if I can measure how much the capacity is declining on average, maybe a trend can be spotted and a forecast of the eventual time to renew can be made. Plus it’s just fun for data-heads to measure and make charts of stuff! At 1300 miles and 20 miles per charge, that’s about 65 full charge and discharge cycles so far.
Interesting aside: My ebike has 168 cells; the Tesla Model S has 7,104.
Make: Did you dive in [to PSoC and the PSoC Pionner Challenge] with the idea to design the lifecycle monitoring project, or did you begin exploring PSoC and realize along the way it had the ability to become a bicycle lifecycle monitor solution?
Chuck: Since putting the ebike together in 2011, I’ve wanted a better way to keep track of the battery statistics. I previously did a little bit of hooking the charger to the balance ports and jotting down the voltages and then manually copying them into a spreadsheet, along with the amp-hours used and distance traveled. But that process got old real fast.
When the PSoC Pioneer Challenge began and I received a kit to play with, it didn’t take too long to realize that it could grant my wish by reading the serial data signal from the Cycle Analyst (ebike dashboard) and send it to a cell phone app for recording in an sqlite3 database. Then it wasn’t too hard to add a thermometer to track the ambient temperature and two voltmeters as a safety to make sure the two main packs were in balance and a cell wasn’t going bad (and thus about to catch fire between my legs).
Make: What about the PSoC jumped out at you as the solution for the design you wanted to build?
Chuck: It was playing with the UART modules. It’s easy to drag and drop an SCB and configure it as a serial UART. Then I made a quick test to read the Cycle Analyst data from one UART and sent it over another one to the USB serial port. I could see the data being transmitted every second. That was the natural application for me, an extension of work previously done instead of starting from scratch. Then I decided to learn all about bluetooth low energy and how to cobble together the Android app.
Make: The Cycle Analyst displays data, but the smartphone app has the ability to record data in a database. Currently the process is manual, where you have to personally retrieve the sqlite database and export it to a spreadsheet, but can you describe the ideal data-to-cloud process?
Chuck: Ideally it would automatically create a Google Drive spreadsheet at the end of a session, with the date timestamp as the filename. Or even better, collect the data in a cloud database. Locally it would have to be able to store data when no cell connection was available and upload it later when there is one available. Having it all in one database would make trend analysis easier.
Make: I’ve noticed on Twitter that you’re experimenting with other features of PSoC. What else would you like to incorporate into this project? And what about PSoC have you been impressed by in general?
Chuck: Oh yeah — I’m actually surprised my project won, since I didn’t use any CapSense capability or exploit the low power abilities that others used (who needs low power mode when you have 1 kWh of battery?). Just playing around, I like DC servo motor controllers and was able to incorporate an Arduino controller library (using C++, a PID loop library) into PSoC Creator, then use the timer counter pulse width modulator block set for quadrature decoder mode to control a printer carriage assembly salvaged from old printers. Another quick test was using a CapSense antenna to control the speed of a small motor (this project will be on display at the Bay Area Maker Faire).
Look for Chuck Swiger and his bike lifecycle monitoring project – and other PSoC builds – at the Arrow Electronics and Cypress Semiconductor booth (#2323) inside Zone 2 (Expo Hall).