Project Green Stations: Prototype Zero


For our final project, we have designed and built a ‘proof of concept’ prototype for Project Green Stations, an externally funded student group with the following mission statement:

Project Green Stations is all about changing the way people see the environment. Imagine the go-green movement as a brand. Solar panels, Toyota Priuses, and waste receptacles are all points of interaction with your idea of going green.By designing elegant, simple, and technologically advanced waste bins, we improve one element that affects that perception; one element that almost all students, faculty, and staff at Cornell see every day.We plan to have the first full prototype manufactured over the summer and ready to go before August. Over the next academic year, we will be looking to further refine the aesthetics and the hardware to best fit our needs. The expectation is by the beginning of the 2013-2014 academic year, we will begin full scale implementation.

Of course as engineers, we were intrigued by the breadth of the design challenges which were posed by the idea. These include:

  • An independent power system capable utilizing solar power to maintain battery charge
  • Two different mechanisms for measurement (weight and volume)
  • A GSM-based communication system for web and cellular interface, used for data collection and system monitoring
  • A beta version of the web interface used to record and display data

We were also interested in developing a project which will be worked with beyond demo day. This presented a much different context for the development of the project compared to how we would otherwise operate. We had to meet with the team typically once a week to discuss the specs of the project and provide status updates. Throughout the process, we had to be more concerned with extra challenges like minimizing cost and making the system easy to further develop.

High Level Design

The Power System

The requisite for solar power comes from the core of the thinking behind this design: a completely sustainable embedded system, which could ultimately monitor our own efforts towards a sustainable society. Given the downward trend in cost/unit energy of solar power, combined with gains in the efficiency of solar cells, it seems that solar could soon be a commercially feasible way to power isolated systems such as these. Our basic implementation is shown here:

Figure 1: High level power flow

The design of the power system is driven by the solar panels. The incorporation of the charge controller, while complicating the design with some ‘IC tuning’ circuitry, enables higher efficiency power transfer from solar cell to battery, which is a huge gain for this application.

Operating voltages for each system had to be considered. A 6V battery would provide enough ‘buffer voltage’ for the system to operate reliably even through the greyest stretches of Ithaca weather. The charge controller requires that the voltage input from the solar panel be at least 3.3V higher than the voltage of the battery. We decided that a 12V panel would be appropriate, as it is a common operating voltage in the size and wattage appropriate for the system. The rest of the system runs at 5V, only because the minimum operating voltage of the GSM module is 5V. We were hoping to run all digital components at 3.3V with a 5V supply to drive the measurement circuitry, but decided the additional cost and loss in efficiency would not be worth the effort.

Power to the measurement system is controlled by a low-side switch, implemented with a power MOSFET controlled by the MCU. Because this system can draw up to over 650mA, it’s important to be able to limit operation.

Figure 2: The low-side MOSFET driver for measurement power control

What enables us to drive what can be a very power intensive system at times is the fact that the system will be asleep for the vast majority of the time. Both the GSM and MCU have low power modes, which reduces power consumption to the low milliwatt range. It can be awakened by timers and according to the operating protocol, will perform its various tasks. These will use a higher wattage for a short period of time, after which the system puts itself to sleep again.

Measurement System

Measurement devices that would be applicable to our needs for measuring some quantity (distance sensors for volume, force sensors for weight, etc.) are beyond the price and performance range of the application. As a result, this turned out to be the most improvised subsystem of our final project.

In our search for a cheap alternative to weight sensors, Bruce mentioned an interesting property of the ESD foam around the lab. There�fs a correspondence between a compression force on the foam and it�fs resistance as a semiconductor. We harnessed this effect with a simple voltage divider and trial and error testing, followed by an easy calibration to map what the on-chip ADC reads at the output of the voltage divider to an actual weight.

The idea for volume measurements stemmed from our lab 4 project, where the scattering/absorption effect of infrared light were used to determine the RPM of a fan. For this application, an array of IR emitters is oriented vertically within the trash can, opposing an identical array of phototransistors. The sum of the currents drawn through the phototransistors by the presence of IR light is drawn through a resistor, creating a voltage drop that corresponds to the level of the trash within the can. If trash blocks the light, then the total current and thus the voltage drop will decrease. Again, all that is left to do is take a quick ADC measurement from the node of interest, which is fed into a rough line of best fit based on the calibration to estimate the volume of trash in the can.

Figure 3: IR volume measurement

In addition to being the most improvised, the measurement system was also the easiest to implement. While some testing and calibration was required, the hardware and the physics do most of the work for taking the measurements, which are simple ADC conversions. Additionally, expanding the measurement system to monitor multiple receptacles within the same unit (e.g. trash, recycling, and compost) is a matter of replicating the circuits and the code, which is important for the future intentions of the project group.

Web Interface

The server is responsible for receiving, storing, fetching, and visualizing the data it receives from the trash system.

Figure 4: Overall system for the server and browser

As shown in figure 4, the data is stored in the form of the Tables in MySQL server. The website is hosted on the server side (a laptop) in the form of HTML and JQuery. The JQuery generates the visualization of trash data and bin location using data from the MySQL. Since JQuery runs on client side and can’t access and server side resources, it needs to interact with PHP to fetch data from MySQL.

The received data from microcontroller is in the form of SMS. To convert a SMS message into a SQL query, we use a relatively simple Python Script. The Python Script runs every one or two hours checking the Google Voice Account for an incoming SMS message. It parses the HTML into a tree to fetch the SMS message, translates the sub-tree into dictionaries to extract the fields, performs the database query, and then deletes the SMS message from the inbox.

Some additional outside API are called by the JQuery to perform additional functionalities. The Google Map API is called with Geo-location data to display the location of trash bins on a map. And the Google Doc API is called with CSV data to enable export of data to Google Doc for further modeling and analysis.


For a communication system, we were granted a Telit CC864-DUAL GSM module, complete with a 6 month data plan from the nice folks at Verizon. The module comes complete with USB and RS232 serial interfaces, a CDMA wireless transceiver, GPS unit, and magnetic antennae for better signal quality. Interfacing with the device turns out to be incredibly easy. Serial commands from the MCU can control power mode and data transmission.

Relationship of the design to available IEEE, ISO, ANSI, DIN, and other standards

FCC: Reusing the Telit FCC ID for the end product may be possible if the antenna is greater than 20cm from the human body when in use and there are no co-located transmitters. The system integrator must assess the final product against the applicable FCC regulations. The Antenna we use satisfies the following FCC requirement of less than 5.12dbi gain in CDMA mode.

For the GSM device itself, the manufacturer states the following:

This device complies with Part 15 of FCC Rules.

Operation is subject to the following two conditions:

(1) This device may not cause harmful interference, and

(2) This device must accept any interference received, including interference that may cause undesired operation.

Existing patents, copyrights, and trademarks relevant to the project

We were not able to find any instances of intellectual property akin to this project.

Hardware Design

Power System

Different circuits were approached in different ways throughout the design process. The circuitry for the charge controller is derived completely from the application notes in its datasheet. The topology and component values simply tune the IC to do what we need it to do.

The LT3652 Power tracking battery charger, with a feature set geared for solar charging, comes in an MSOP-12 package, which we had to break out with a specialized protoboard.

Figure 5: Charge Controller pinout

The BOOST supply and maximum charge current were configured with the following topology:

Figure 6: BOOST supply circuitry

The two components of interest are the inductor and the sense resistor. For our purposes, we want the maximum charge current of 2A, corresponding to RSENSE=0.05Ω. VBAT(FLT) is our battery voltage of 6V. Assuming a ΔIMAX (ripple current) between .25ICHG(MAX) AND .35ICHG(MAX) and a VIN(MAX) from a 12V solar panel of 17V (on a cold clear day), we chose and inductor value of 3.3μH capable of handling the maximum charge current and necessary power transfer to the battery.

We tell the IC what the voltage of the battery is via a resistive voltage divider as follows:

Figure 7: Programming the battery voltage

For our application, we have RFB1=454kΩ and RFB2=555kΩ.

We also set a minimum input voltage from the solar panels before the IC shuts off. Again this is accomplished with a resistive voltage divider:

Figure 8: Programming minimum operating voltage

A single trim resistor is needed to program the output of the DC-DC converter, which has the following topology:

Figure 9: DC-DC Converter circuitry

From the datasheet, RTrim must take on a value of 268Ω in order to output our 5V supply.

Measurement System

The measurement circuitry allows for much more creativity in its design.

On the other hand, the measurement system relies on a nifty hack (kudos to Bruce) and some LED/phototransistor biasing to achieve its requirements.

For weight sensing, we use an interesting property of common ESD foam to get weight measurements. The resistance of ESD foam is related to pressure on the foam itself. With increasing pressure, the resistance of the foam decreases. Folds in the foam significantly amplify this effect. The right combination of number of ‘resistors’ in series and the number of folds per resistor produces a repeatable correlation between weight and the output of a voltage divider, with the foam serving as R1. The selection of R2 was determined by sensitivity desired to meet our weight-range, but power dissipation through the circuit had to be kept in mind.

Ultimately, we wound up with four 2″x7″ pieces of foam, each in series and folded twice in each corner of the plywood �esandwich�f upon which the bulk of the trash bag rests. With no weight on the sensor, these resistors have an equivalent resistance of 25kΩ. This serves as the R1 our circuit. As compression increases, the equivalent resistance of the sensor drops to as low as 10kΩ. With an R2 of 20kΩ, we have a swing from 2.2 (no weight) to 3.3V (max weight) to interpret as a weight with the following calibration:

Figure 10: Weight Transfer Curve

The volume measuring circuit is a simple LED/phototransistor setup. There are five high-power IR emitter diodes connected in parallel from VCC = 5 V to GND. Correspondingly, there are five phototransistors (one for each diode) connected in a similar manner. There’s one LED/phototransistor pairing at the 20%, 40%, 60%, 80%, and 100% ‘fill lines’ of the can. If each diode is emitting the same amount of IR energy and each phototransistor is biased identically, then we can generate a reliable approximation of the volume of trash based on these 5 sample points. The LEDs will be on when there is no interference in the path between the two (i.e. trash hasn’t reached that level yet). The transistor will be off when there is such interference, drawing less current through the resistor and producing a higher output voltage to be read.

Figure 11: Volume Transfer Curve

Each diode has a current limiting resistor, selected to bias current through the diode at 100mA. This current value was determined after a rough analysis of radiated power needed from 2′ (approximate width of the trash can) for the phototransistor transduce an appropriate amount of current from an appreciable level of irradiance.

From the datasheet for the VSLY5850 emitter, the forward voltage at 100mA of current is 1.65V. The resistor value could then be calculated as follows:

Erroring on the side of caution, R was bumped down to 25 to ensure a strong signal for the phototransistors. The emitters have a radiant intensity of 600mW/steradian at 100mA. We can convert this to irradiance as follows:

From the BPW77NB IR phototransistor datasheet:

Figure 12: Phototransistor response

About The Author

Scroll to Top