[[!meta title="TeleScience"]] # TeleScience This is an expansion board for [TeleMetrum](../TeleMetrum/) intended to support science projects. It includes an ARM Cortex M3 processing platform with 8 megabytes of on-board flash memory for storing collected science data, plus support for 8 NTC thermistors in two banks of 4, 3 solid-state relays, and a large number of analog and digital I/O pins. There are no photos of the current prototype version yet, see the history linked at the bottom of this page for photos of the original boards. ## Motivation ## Bdale's son Robert got interested in mapping the temperatures experienced by nose cones and fins in flights beyond Mach 1, which led us to work with our good friend Jeff Lane from [Shockwave Rocketry](http://www.shockwaverocketry.com/) to instrument some of his nose cones, and to work out how to create composite fins with sensors embedded for airframe projects [2YikStik](http://www.gag.com/rockets/airframes/2YikStik) and [YikStik3](http://www.gag.com/rockets/airframes/YikStik3) in pursuit of that goal. It was easy for us to imagine other experiments that would be facilitated by having the ability to control a few outputs and log sensor data in syncronization with flight state information logged by TeleMetrum. We went one step further and created a "companion board protocol" in TeleMetrum that allows data being collected by TeleScience to be included in the radio telemetry stream for live observation of pre-flight and in-flight science data. ## Features ## ### User View ### * Small circuit board mounted near [TeleMetrum](../TeleMetrum/) * Requires [TeleMetrum](../TeleMetrum/) v0.2 or later, as v0.1 does not have the required companion board interface * 8 NTC thermistor inputs, in 2 banks of 4. A single through-hole resistor is used to configure each bank for a given thermistor type. * 3 solid-state relays, ideal for things like pushing camera buttons under program control * all available pins on the processor brought out to headers for maximum flexibility interfacing additional sensors * On-board 8-megabyte flash memory for data logging. * LiPo battery connector and on-board charger for standalone use * USB interface for programming, development, and flash memory download ### Developer View ### * Hardware Features * ST Micros [STM32L151](http://www.st.com/internet/mcu/product/248821.jsp) ARM Cortex M3 based Microcontroller * [Winbond W25Q64CV](http://www.winbond.com/hq/enu/ProductAndSales/ProductLines/FlashMemory/SerialFlash/W25Q64CV.htm) serial flash memory * IXYS [CPC1014](http://www.ixys.com/PartSearchResults.aspx?searchStr=cpc1014&SearchSubmit=Go) OptoMOS Solid State Relays * Maxim Integrated [MAX6691](http://www.maximintegrated.com/datasheet/index.mvp/id/3256) Thermistor Temperature to Pulse Width Converters * Software Features * based on the ARM port of [AltOS](http://altusmetrum.org/AltOS) * programmed in C using gcc * Runs from on-chip flash, uses on-chip RAM * Tools Used * [gEDA](http://www.gpleda.org/) for schematic capture and PCB layout * Licenses * The hardware is licensed under the [TAPR](http://www.tapr.org) [Open Hardware License](http://www.tapr.org/ohl.html) * The software is licensed [GPL version 2](http://www.gnu.org/licenses/old-licenses/gpl-2.0.html) ## Artifacts ## A schematic and PC board design exist on [git.gag.com](http://git.gag.com) in the project [hw/telescience](http://git.gag.com/?p=hw/telescience;a=summary). ## Future Plans ## The thermistor conditioning circuits in the v0.1 design were too tightly coupled to the particular model of EPCOS thermistor that we chose for [2YikStik](http://www.gag.com/rockets/airframes/2YikStik/) and [YikStik3](http://www.gag.com/rockets/airframes/YikStik3/). A major revision of the board led to v0.2 which was never fully evaluated, because the prototypes of TeleScience were lost in the [Black Forest Fire](http://www.gag.com/blackforestfire.html). The biggest hurdle we need to overcome before re-starting this project is deciding what TeleScience should actually be. The challenge is that if the board is too "generic", it will be hard to use. If it's too "specific", knowing what functionality to actually include gets hard... As an alternative, if you want to connect custom sensors to a [TeleMetrum](../TeleMetrum/) or [TeleMega](../TeleMega/) board, you might want to investigate [AltOSCompanion](https://github.com/bdale/AltOSCompanion), which is an [Arduino](https://www.arduino.cc/) sketch for implementing a custom companion board! ## [History of TeleScience](history) ##