REVOBOTS Week 4: Rebobot Factory

Robot Factory!

Videos: Part 1 Part 2

Guide: TSK4

Today AC113 was turned into an assembly line for pololus robot chassis kit.  The lecture today was about controlling big things with little things, with interrupts (which I thought was an important topic) thrown in in the context of encoders.  The turnout was a little below what it normally is, but still pretty good.  Word on the street is that the freshmen have a lot of stuff due this coming week, so there is a big crunch to get that done and therefore there are less REVONauts (as I call them).  Still, there was a good turnout.  Next time I would definitely teach the class in pairs of two to a robot, but one to an arduino.  I am afraid that there is going to be too much debugging of implementations of different robots/hardware that it will be hard to get to each student individually.  Working in teams raises the threshold for when people come to me, and it might actually increase the quality of the exercise for everyone so that people get more done.

Here are some shots of the assembly line:

Materials

Attendance was not too shabby

The GFP Project Week 1: A Lesson in Patience and Ingenuity

Arduino: the alternative lighting platform for molecular biology

It had been two days since the transformation yesterday, and I had not seen any growth on my plates.  I was becoming concerned.  It can be tricky to orchestrate the teaching and the actual transformation procedure, and I have had less than optimal results with this media, strain, and plasmid before.  I was not sure what I would do on Sunday if there were no transformants!  It would be a disaster, and very demoralizing.

I had a meeting to go to that would result on me being on the red line, so on the way back I stopped by and took a look at the cultures with my blue LED.  Nothing was growing, except for what appeared to be some e. coli growing on the ampicillin plate, which I took to be an ill omen.  I left my blue LED and some batteries there, because I figured that if there were transformants, they would be more likely to grow on the multitude of plates at sprout instead of the two that I had.

I wasn’t sure what to do there, so I grabbed a few items for doing another transformation and headed home, convinced that I would have to do another transformation.  Upon my return home, I obsessively checked again.

Perfect little colonies!

When I returned from dinner, I decided to take one last look.  I was greeted with two plates full of transformants, in perfect little green colonies.  Having left my sole blue LED at sprout, I initially thought that I would have no way of testing the fluorescence, until I spied my arduino nano on my desk.  I remembered that it had a blue LED on it, so I plugged it into my laptop and used it to light the plates, which indeed fluoresced.

BAM. GFP!

Lessons learned:  Be patient.  Synch your life to the organism you are studying, not the other way around.  Also arduinos are good for many things.

cell growth phase chart, found via the google

The final question you may have is “why did they take so long to grow?”.  The answer there is something I should have recognized!  I totally forgot that there is often a “lag phase” of growth in bacteria.  This is the phase where bacteria are generating the needed metabolites and substrates to adjust to their surroundings.  The colonies are also growing (in this case) from a single bacteria!  So it makes sense that there was a pretty big lag from when they were plated, until  I could see them.

The GFP Project Week 1: Hands-on Transformation!

The shirt says it all.

The GFP project rolls forward!  Powered (funded) by the people doing the work, I managed to order all the materials that we would need for a transformation this weekend (by that, I mean today).  There was an awesome turnout; some new people came out, a lot of supporters came out, and a good time was had by all.

From left to right: LB broth, LB agar, 50 mM CaCl solution, alcohol burner, tape, streaked plate, arduino, pipettes in a fancy box, ziplock-o-wires

To start out, we had to sterilize some media and CaCl2 solution.  We made 200 ml of LB agar, 80 ml of LB broth, and 500 ml of 50mM CaCl2 salt solution.  The LB agar was used to make LB+ ampicillin plates.  These were prepared by adding 2 ml of 1% ampicillin to the still-molten agar once it had cooled to “warm enough to hold”, and then pouring it into sterile petri dishes.

The Calcium Chloride solution and the LB broth were needed for the transformation.  You only need 250 ul of each per-transformation.  We prepared the LB broth in bulk because it is useful to have on hand, and we prepared way to much CaCl2 because our scale was not sensitive enough to measure out a smaller quantity that would make a 50mM solution.  We could have made a 1M solution and diluted it, but it seemed simpler to just make 500ml.

Totally legit ice-bucket of science

The other necessities for the transformation that had to be prepared were the ice bath, and the 42 C water bath.  The ice bath was created using the insulated shipping crate that the plasmid and ampicillin came in by throwing some ice in the larger (bottom) container.  The water bath I have successfully made before by nuking (microwaving) the water and then  guesstimating that it was hot enough (more than body temperature, but cool enough to hold, between 37-50C).  Today I used what seemed to be a much more reliable method, which was a hot plate and a submersible temperature probe.

(Hot) Water bath setup. Sensor in falcon tube taped to beaker, arduino connected to sensor and computer

The temperature probe was improvised with my arduino mini, a DS1820 digital temperature sensor, some long wires, and a 15 ml falcon tube.  I submerged the falcon tube in the water bath, and stuck the temperature sensor (which had been soldered to the long wires) into the tube, allowing it to (hopefully) measure the temperature of the bath.  This was reporting the temperature back to my computer with some script I got to work a while ago.  A better way to set this up physiclly would be to cram the sensor in to a thin-wall reaction tube (PCR tube) and fill it with milliQ water (non conductive, very DI RO water), stick the sensor in the water and waterproof all that with sugru or epoxy.  This way there would be no air gap, and the sensor would be safe in DI water.

The game plan for the transformation in flowchart doodle format

During all of that setup we were also preparing the bacteria for heat shock, teaching people how to pipette and streak bacteria, and talking about biology in general.  Our transformation protocol, officially was this:

Gather all the things! Everything didn’t fit in this picture, but this is a lot of stuff!

1.  Gather reagents (LB broth, 50mM CaCl2, LB+Amp plates, e. coli plate, eppendorf tubes), prepare ice bath and water bath, and gather your tools (flame, inoculation loop, pipettes and tips)

Use your sweet pipetting skills to add salt solution to your eppendorf. keep on ice.

2.  add 250 ul of 50 mM CaCl2 to an eppendorf tube, and chill on ice

Scrape e. coli off your source plate. Be careful not to pick up any agar!

3.  scrape off some e. coli (enough to see on the loop) with a flame sterilized loop, and swish the loop around in the iced CaCl2 in the eppendorf.  Make sure they fall off into the CaCl2.

flick! flick! done!

4.  flick the tube until the bacteria are no longer clumped together.  The solution should be cloudy now.  Chill tube on ice for 1-5 min.

Adding tiny amounts of DNA means tiny pipette tips!

5. Add 20ul of plasmid DNA at .005ug/ul to the eppendorf.  This is .1ug of DNA.  Return tube to ice, incubate for 5 min

Heat shock!

6. heat shock at 42C for 90 seconds

7. add 250ul of LB broth

Spread the bacteria around with the sterile loop

8. plate 100ul on LB+Amp plates.  Pipette 100ul on to the plate, then flame loop and cool in agar somewhere that you did not pipette onto.  Use loop to spread pipetted transformant mixture.

With all of that done, we cleaned up and headed off to wherever.  Some people had to leave early, but most everyone seemed like they would be back!  There should be results on if this worked in just a few days.

REVOBots Week 3: Halfway There

Another good turnout. Obviously, this is not a picture of everyone who attended…

Material for week 3:

Videos: Part 1 Part 2

Guide: TSK3

And by halfway there, I mean halfway done with REVOBOTS!  So far, we have built a $5 arduino clone, learned about several kinds of sensors, and finally, this week I (properly) showed them how to write code that runs on the clone.  I think it went well.  This class alleviated a lot of the previous frustrations people were having with the device as far as having hardware but not knowing how to use it.  By the end of class several people had actually managed to build a breakbeam sensor, which I thought was awesome.

Debug ALL the problems!

On the other hand, the actual devices that the students built are starting to show some wear and tear; often people have some trouble connecting them to their computer.  Often, the problem is that the USB cable had come unstuck from the header pins and needs to be resoldered, or the ground and power wires are touching (Which shuts off the USB port), or the usb cable came out of the breadboard and was plugged in backwards (D- and D+ swapped).  I think it might be worth my time in the future to cad up a board for these bootloaded atmega328s so that they are less likely to fall apart, or be put together wrong.

Inspiring student gets breakbeam sensor to work.

Despite the frustrations and the general roughness of the first pass at teaching revobots, I think it is worthwhile for both me and the students.  Hopefully I will teach this again soon, but better.

REVOBots Week 2: Gotta Switch up The (Teaching) Plan

This week we talked about sensors. The amount of light on the LDR changes the brightness of the LED

Class two videos: Part 1, Part 2, Part 3, Part 4

The Guide: TSK2

REVOBOts continues to be a fun class to teach.  We had another great turnout, considering that it is candidates weekend, which is always on of the buisiest times of the year.  I would say there were at least 20-25 people, which is about 2/3 of the class.

The topic this week was sensors.  Sensors are handy things, and we talked about resistive sensors (LDRs or photoresistors, thermistors), photodiodes, switches, and digital sensors.

My feedback was again mixed.  Some people enjoyed hearing about the broader material that we did not immediately use, and really liked seeing the datasheets, while some people thought it was too in depth or not valuable.  Next time I should definitely check out the datasheets before I pull them up; one of the sheets had all sorts of useful stuff on it, while the other one was lacking the very graph that I wanted to show everyone!

One area I need to improve on is retention.  I made an almost-joke last time that I am just throwing mud at a wall and seeing what sticks; this is becoming all too true, and the wall is starting to look more like a teflon pan in terms of stickiness.  It seems like people are getting a lot of information about the things they have, like these sensors or parts I am handing out, but they don’t know how to combine them.  I guess it is hard for me to anticipate some of these problems because I expect them to have some modicum of electronics knowledge, or sense from the required freshmen classes.  I guess Brian Storey and Brad Minch are having the same problems with I am, as far as balancing the “coolness” and “breadth” vs. teaching people electronics basics.  People also had a lot of questions about the “arduino language” that is used for programming these devices, and that is something I have not covered as much because as freshmen, they all have done quite a bit of matlab coding.  I see now that I should always provide code examples.

In this light I am going to tweak next weeks curriculum a little bit.  It was supposed to be in depth on different communication protocols, but instead I will only cover the usbsimple library, which is used instead of the serial library on the secret knowledge $5 arduino.  This is because the TSK arduino does not have an FTDI chip, and therefore has no serial output.  Instead, it uses VUSB to talk to the computer, and a python program on the other end to displat the data in the command line.  It might be nice to spice it up a little and have some kind of bar graph or canvas drawing instead of a command line thing, but that will depend on the free time I have between now and next saturday.

By concentrating on the USBsimple library, I will be able to also go through some of the more useful core arduino functions and libraries, like servo.h and map().  I will think of some examples, and then some in class exercises, and try to shrink my talking time to 45 min instead of an hour++ as it has been the last couple times.  To increase engagement and concentration integrity, I will have them work in groups and then present their project.  I don’t know if I will enforce pair programming but that is another way I might be able to increase concentration, because one person will be busy dictating and the other typing, which prevents either of them from checking their email or making memes.

DIYBIO: Streaking Plates to Isolate Colonies

Isolated colonies. Also note initial thick streaks in to the top of the plate, and then the less continuous sreaks in the bottom right, and the thinnest concentration of isolated colonies on the bottom left

So, you want to isolate that plastic degrading, or bioluminescent, or plasmid-bearing microbe from the rest of a mixed sample.  Or maybe you want to grow up a colony from a single bacteria for a clean PCR sample, or to inoculate a liquid culture.  To do this you will need to streak a plate!  There are many techniques for this, but there are really two key ideas:

  • Work cleanly; don’t contaminate your sample.  Use an open flame
  • You want to thin out the amount of bacteria on your loop

My technique for this is to heat my loop up to orange-hot, then cool it in the agar of the sample I am taking the colony from, being careful not to touch any of the colonies on the plate.  Once quenched (So I don’t heat-kill the bacteria),  I rub it on the target colony or area on the sample plate.  Then I close the sample plate and open the target plate.  I like to do 3 streaks.  The first one is to spread out the bacteria I picked up on the top 1/3 of the plate.  Once this is done, I sometimes flame and cool the loop in the target agar, although it is ok to skip this step.  Either way, I then make another zig-zag, starting in the area that I spread the bacteria in, and then moving out onto an unused third of agar.  The last streak takes up the last third, and starts in the last area I covered.

Good, isolated colonies

If everything works out, you should have isolated colonies like in the picture above.  A few common pitfalls are:

Clear streaking pattern, but there are too many bacteria, and it looks like I overlapped my first zig-zag with my last zig-zag! oops.

  1. TOO MUCH bacteria.  Bacteria are very small, and if you pick up too many, you will end up with a bacterial “lawn”, which is useless for isolating colonies.
  2. Accidentally killing your sample bacteria by sticking your red-hot loop into them (doh!).
  3. Streaking back into an already streaked area.  This defeats the purpose of streaking, which is to spread out the bacteria.  If you go back from a low concentration area to a high concentration area, and then back to the low concentration area, you risk bringing extra concentrated bacteria that would form a lawn into an area where you want single colonies.

DIYBIO: Aseptic Technique as Learned By Pouring Plates

Today was “Day 0” of the GFP project.  Today, I showed everyone how to pour plates while practicing (some amount of) aseptic technique.  This is a walkthrough of preparing LB plates from mixing the agar, to how the plates should be labeled.

Things you will need:

  1. Dry LB agar mix, OR dry LB and dry agar
  2. a scale, accurate to tenths of grams
  3. weigh paper OR regular paper OR aluminum foil
  4. some kind of pressure sterilizer (like the ones used in canning, or an autoclave)
  5. sterile petri dishes- pre-sterilized disposable dishes, or glass dishes
  6. Distilled or Reverse Osmosis water, depending on how sensitive your organism is
  7. a bottle to hold your nutrient agar, with a lid.

1.  Plan out what you are going to make

Read the instructions!

Plan out how many plates you are going to make.  A regular sized dish will hold about 20ml of agar comfortably.  Today we wanted to make 5 plates, so I knew we would need about 100 ml of media.  I know that the pre-mixed LB agar uses 37 grams/liter, so for 100 ml (1/10th of a liter), I would need. 3.7g of dry media.  I you have bought agar or media-agar, check the bottle for how much you should add per liter.

At BOSSLAB, we use a pre-mixed Miller LB+agar mixture.  It is important to know that LB does not always come with agar, and agar does not always come with LB.  LB stands for Luria, Luria-Bertani, or Lysogeny broth depending on who you talk to.  LB is made of digested Casein, yeast extract, and sodium chloride.  The digested Casein protein provides peptides (short amino acid chains), while the yeast extract provides vitamins and trace elements.  The salt in the Miller formulation of LB is a bit higher, at 10g/L, which is normally to provide the right osmolarity, but in our case it is just because it is what we have.  Agar is a sugar purified from seeweed, that when added to water and dissolved, cools to form a jello-like substance.  When mixed, you get LB-agar, which forms solid plates.

2. Add Water

Adding RO water!

Now that you have everything planned out, add your DI or RO water to your bottle.  Water comes before the dry stuff because the dry stuff tends to form clumps, and if this happens in the bottom of the bottle, or worse, a conical tube, it might not get mixed into the media.  Right now all the media and water we are dealing with is “dirty”, so don’t worry about aseptic technique.

3. Measure the dry powders

measure the dry media

The next step is to measure out your powders.  For this you will need the scale, and your weigh paper or foil, and your dry media.  I like to use foil because we have it in the lab, but remember to flatten it out so that the powder doesn’t get stuck in crevices.  If you are using paper or foil, fold it in half so that you can pour the powder out.  Place the weigh boat/paper on the scale and tare, then  measure out however much of the dry media you need.

4. Mix!

Add and mix the water and media

Now just drop the powder into the water!  It might need some convincing to completely break up and dissolve, so don’t be afraid to vortex or give the bottle a shake.

5. Sterilize (both heat and filter methods covered here), also sterilize your plates if you are using glass

Time to fire up the cooker!

Before you set your sterilizer to “kill”, LOOSLEY screw the cap onto the bottle or cover it with foil.  Securing the cap all the way can lead to exploding and other bad things, like the media not being subjected to the extreme pressure of the sterilizer.  If you have access to a real autoclave, go ahead and put it in on whatever cycle the manufacturer recommends.  If you are using a pressure cooker, you want to cook it at 15 psi for 15 minutes, unless you are trying to sterilize large volumes of rich media.  For large volumes of rich media (more than 100-200 ml, I would say) you want to run it for as long as 30 minutes to make sure you kill EVERYTHING.

The other way you can sterilize media, which is more convenient, but more expensive per L, is filter sterilization.  Some things, like antibiotics, must be sterilized this way because heating them destroys their antibiotic effect.  Some things must be sterilized like this because they are volatile.  However, some chemicals require special considerations; DMSO must be filter sterilized, but it will eat (dissolve) your filter if you do not choose one that is specially chemical resistant.  Disposable filter sterilization units normally come with a hopper, or input, a filter with a vacuum inlet, and sometimes come with a pre-sterilized bottle for the final sterilized media.  What you do is you apply a vaccuum to the bottom of the filter, pulling the media through into the clean bottle.  This is suitable for some media, but not all, and you do need a vacuum pump or manifold.

At this step, your media should be a liquid and somewhat hot.  If it is not, it can be restored to the hot, liquid state by microwaving it inside the sterilized container.

6. prepare to pour plates

At this point, it will be hot and a liquid. Use autoclave gloves!

Get ready to pour your plates by wiping down your work surface with alcohol or bleach.  This is extra-important if you are working somewhere dusty or with particularly hardy microbes, to kill things that might get stirred up by moving stuff around on the table.  Remember, dust is BAD and falls DOWN, onto plates.  To counteract this, you want to have some kind of open flame to create convection currents.  A lighter is too little, and a campfire is too much.  A Bunsen burner or alcohol lamp is just right.  Get your plates ready by putting them right side up (big clamshell up) on the table.  If you are only making one thing, or you know what plate will get what kind of media, you can write on the bottom of the plates now.  You should write what kind of media it is, the date prepared, and your initials.  If I were to make some plates I would write “LB 2/27/2012 A.L.” along the rim of the bottom of the bottom plate.

7. Pour the plates!

Ben carefully pours a plate

At this point, your media should be a hot liquid, and easy to pour.  With your fire on, go ahead an open the bottle, placing the lid face down on the table.  Quickly flame the mouth of the bottle to kill anything that may be hanging out there on the outside threads/inside mouth, and then pour the agar into the bottom of the dish.  The agar should just cover the entire bottom of the dish, and should be a 3-4 mm thick.  When you open the dish, you should place the cover FACE DOWN on the table, so dust does not get in it.  After the plate is poured, cover it back up ASAP.  Once you have poured all the plates, or if you take a break, or before you put away the media bottle, flame the mouth of the bottle again, just to keep it clean.  Once everything is sealed up, you can turn off the flame. and let the plates set (like jello!).

8. Once the plates are set, write what the plates are on the outside of the bottom plate!

As you can see, this is a Yeast Extract plate, streaked on 3/28/11 by me with Smooth’ from a plate called T1 trop II

This step is important for the safety of those around you, and your own sanity.  ALWAYS write down the type of media, the date it was made, and your initials on a plate.  This is so people can refer questions like “is this yours” and “is it dangerous” and “can it be thrown out” to you.  It is also helpful for your records to know what you are growing these things on.

Well, thats it.  Good luck to you, citizen scientists!

The GFP Project Week 0: Welcome to BOSSLAB

Something is cooking at BOSSLAB!

The GFP project has begun at BOSSLAB.  Headed by the Chief Troublemaker of this blog (me), a group of people will be using BOSSLAB to play around with pGREEN, a plasmid that produces GFP.

The goal of this project is not only to get local people working hands-on with biotech, but to support the DIYBIO community by producing a model project, with documentation, that people can do.  Over the next month or so I will be cranking out all the information you need to safely create and modify genetically engineered organisms in an environment about as sterile and complicated as your kitchen.

The GFP project will have # components, as listed  below:

  • Transform pGREEN intoe. Coli MM294
  • Extract pGREEN from the transformants and verify the quality of the plasmid DNA
  • Extract GFP from the transformants for extra points
  • ????

This week was kind of like “Week 0” for the project in that I showed everyone how to pour plates, streak for individual colonies, and practice (some amount) of aseptic technique.  As I mentioned, one of the goals for me in leading this project is to show people DIYBIO to show people basic techniques.  To make sure I do a good job, I will be covering the techniques we use in the project in detail in separate posts.

Hopefully we will get to do the first item next weekend, at the twice-montly BOSSLAB meeting.  It will be nice to have something really going on during the meeting; maybe more people will get interested and join the project, allowing us to get some nicer things for the project.

After this project comes ????.  That means I don’t know if we will continue doing molecular biology, or switch to something like microbial diversity, or try to do some kind of Mendelian genetics project with plants.  There are a lot of really cool biological things to investigate, and although molecular biology and synthetic biology are my favorites, BOSSLAB is really open to anything.  If we continue in the molecular biology direction, we could try doing a restriction digest on the extracted plasmid and run it in a gel, or have part of it sequenced (find out what kind of GFP we are making!), or ligate it to a localization tag and see it expressed in only part of the cell (contingient on getting our fluorescence scope working).  Really, there are all kinds of possibilities for this!  But first, extraction and verification have to happen.

REVOBots Week 1: A Success, Overall

Microcontrollers, Yo.

Links to videos and handouts for class:

Part 1, Part 2, Part 3

REVOBots handout 1

REVOBots week 1 was a success, in my opinion.  Teaching a class is tricky.  This first class was doubly so because it was my first time giving a long lecture, and because I had about 25 people to distribute tiny parts to, and then I had to walk them through manipulating these tiny, unfamiliar parts so that they worked.

The first mistake I made was not printing out the handouts ahead of time.  This was a big mistake- there were four color pages + a black and white feedback page, and for 25 people + extras, it took the xerox about 10 minutes to print them out.  This delayed me getting to class on time!

Lots of people=lots of prep

This of course, meant that I didn’t have time to parcel out the tiny components we were going to use to build the arduino.  This took up more class time, but it was not something I was willing to spend my own time on.  Since I am the one doing basically everything for the class (aside for actually paying for parts, which has been graciously funded by CORE, the Council of Olin REpresentatives), and that takes a lot of time, I try to minimize the amount of extra time I spend on it for just one person.  In other words, I try to optimize my bang-per-hour.  That means I have to stop myself from hunting people down and delivering their parts because they couldn’t make it, because that takes too much time (10 people x 10 minutes is an hour and 40 minutes!).

Once the handouts were out I started in on a very broad lecture about microcontrollers.  I tried to cover all the important aspects; brands, memory size, programming, and how PWM, ADC, and counters worked.  I intentionally went broader than the scope of what we were going to do in class because, I am basically throwing mud at the side of a barn and seeing what sticks.  I might as well throw a lot of mud, because people are not going to be able to devote a lot of time or effort to this class since it is once a week and not for credit; more mud means more will stick, which is the point of this class.

Now I know how the guy in the blue (one of our professors) feels sometimes!

After the talking at people was completed, I asked that people fill out the first half of the feedback sheet.  Then parts were passed out, the building of secret knowledge arduinos began!  I wish I had been able to prevent people from starting to build the circuit, but since some of them knew how to read the schematics (aided in large part by my guide), people began to build the circuit.  I tried to walk people through step by step, but I was often interrupted by people who needed help or by needing to supply tools to do part of the assembly.

This of course, fragmented everyones build process, much to my chagrin.  I saw everything wrong with the circuits over the next hour; D+ and D- switched, power shorted to ground, diodes in backwards, resistor in the wrong spot, chip in upside down…the works.  Many cries of “it gets really hot” were heard, and some magic smoke was released, although only two chips were damaged permanently.

Oh Windows 7, y u no work?

By the middle of the build session a few software problems had come up, particularly with windows users.  Linux users are advised to start the arduino IDE with sudo arduino, which works well and gives you USB privileges.  Windows users will need an installer designed by Kevin Mehall, which I will try to add to the downloads page.  It also turns out that the new version of the arduino software does not work very well, as in it couldn’t compile its own example code, so people had to revert to the old version.  Other than that, everything went well.  I tested everyones board before they left, to ensure that they were ready for the next class!