Preview: Upgraded Bread Machine Incubator TR444 [in progress…]


Ok. So! Back to hardware / electronics projects!! Yay!

This is a preview for an upcoming post. I am currently working on upgrading my Hacked Breadman Breadmachine TR444 Incubator from a previous project. I’m adding some RGBW neopixel LEDS from Adafruit for light. It will have a button to change lighting sequences from White to red/blue to purple, to blue, to black. All the colors one would need to 1. see into the machine. 2. Color LEDs to grow seedlings for gardening. 3. blue which may come in handy for bacteria cultures? IDK. maybe not. But whatever. I currently have the arduino code for the light sequence working.

I will also be adding a fan for circulation. I 3D printed the fan holder. I may or may not have a button to control the fan. I will have a big red button to start the incubator cycle (37 Degrees C for bacteria / fungal petri dishes). And i am considering another button for a programmed Dry Heat Sterilization routine. As mentioned before, according to Wikipedia:

The proper time and temperature for dry heat sterilization is 160 °C (320 °F) for 2 hours or 170 °C (340 °F) for 1 hour.

I also think i will be integrating my Chronodot real-time clock for use with this dry heat sterilization routine and possibly some other incubating cycle as well. Cool! Fun stuff! Lets get working!!

p.s. post in the comments if these are the kind of projects you’d like to see more of of! 🙂







Calculating Growing Season – Revisited 2015

Several years back i investigated using locally available weather station data to average weather data and to speculate (hopefully accurate) weather patterns and more important to me an estimate of the length of time i have to grow things in my area and climate. In a sense it worked, but it was limited by my relative lack of long-term data over a number of years. This past spring i decided to try it again and use more years if possible. These graphs are what i came up with:

Growing Season graph of Northern Colorado

The first graph is basically a line graph. In reality i used about 5 years years worth of weather data, but to make it easier to see i simplified it to 3 years and an average line. The average line really helped because as you can see each year had some significant differences in spikes of heat and dips of cool, but the overall pattern is the same. It’s the pattern i’m interested it. Because in theory it should be relatively stable and should provide an accurate estimate of my growing season and when the best times are to plant and best times to harvest before fall frosts.

Growing Season Graph of Loveland, Colorado

Graph number 2 is actually better and easier to read. Instead of using a line graph it uses a bar graph type to display the data which is easier to read and use. Both graphs i used a (cooling) growing degree days base of 50F.  50 degrees Fahrenheit is the stated lowest temp that warm season crops like squash will grow at. To help increase accuracy of my growing season i drew an arbitrary line at the 20 degree mark above the base temp of 50F, so that would be 70F?, i think. Anyway, this gave me a rough estimate that i could plant warm season crops as early as April 22nd-ish and that my season would end about October 28th. It turned out my end-of-season prediction was fairly dead on this year as i think we got a frost on October 27th. The beauty of not simply setting a base of 60F or 70F and cutting anything below that off is that it gives me a rough estimate of my growing season for cool season and frost-tolerant crops as well. According to this i possibly could have planted peas, radishes, etc around March 11th in spring and in fall possibly as late producing as November 18th. Interesting. I have never planted anything as early as March 11th, even cool season crops. …Maybe i should…

…so yeah.. anyway it seems fairly accurate for my uses. I have yet to graph good rain data yet. But this graph is a rough estimate for the growing season in Loveland Colorado, Fort Collins Colorado, Greeley, and any other nearby places. But if at all possible please use the weather data from your nearest weather station. (download “cooling degree days” data) (direct access to your local mini weather stations)

Originally inspired by Joseph Lofthouse. The original thread that started it all:

Project Updates November 2015

80/20 1020 Extruded aluminum t-slot y-axis 3d printer bracket
80/20 1020 Extruded aluminum t-slot y-axis 3d printer bracket

The first update is that i’m still steadily designing new parts in solidworks for my custom 3D printer. This photo is one of two y-brackets that will hold the 1020 size t-slot extruded aluminum (from 80/20) y-axis beam. It looked good in Solidworks, now it just needs to be fabricated (3d printed) into a real-world working part (as with many other parts).

Y-bracket for custom 3D printer
Y-axis bracket for custom 3D printer

It’s really fun designing parts and then seeing them become real functional parts. Recently I’ve even been looking into a local program for CNC machinist training as a job. Apparently there is a large shortage of qualified CNC machinists in my area along with a booming and returning engineering and manufacturing hub here in the area.

While i was designing new parts and fitting them together i found a few minor problems with a few of my old designs being off and not lining up properly with the 1020 extruded aluminum. So i spent some time fixing that and cleaning them up a bit. Good to find those errors on the computer first than after i make the parts.

I received the prototype PCB’s for the XYZZY Motor Controller 1.0, The downside is I’ve found numerous errors that i missed, so I’ve been trying to fix those. But then to compound those problems the main circuit itself has a problem where the HIP4081A h-bridge chip circuit is only driving a motor (in this case a test load LED) in one direction. At first it was shorting out the other direction, but now i think it just loads the current down and does not activate one side of the hbridge. It’s actually driving me crazy trying to fix it and find the cause of the problem, but it’s still quite a mystery. Perhaps electronics is just not my thing. Perhaps i really should give up on that project after never being able to have good success. But i don’t know.

In plant breeding news: i was able to harvest three corn cobs this year. Two were decent sized purple husked corn cobs, the other was a good multi-colored flint. The third one had lots of kernel color diversity, it even had several speckled kernels, and chin-marked ones, and even some that had both speckles and stripes! I recently found purple sweet potatoes at Whole Foods and i will be trying to sprout one and grow my own slips for next year.

I was also able to grow a few good squash this year, some good progress on the pea breeding, and an excellent year with Joseph’s Watermelon Landrace. Sorry, i didn’t get good photo’s of the watermelons, but i had some excellent red sweet watermelons and some good yellows as well. Especially for Northern Colorado, the watermelons are the plant breeding project i’m most excited about and ironically having the best success. Can’t wait for next year! And all this despite it being an incredible difficult and strange gardening year!


Rediscovering 3d CAD because of 3D Printers


This past week (maybe 2) I’ve been utterly obsessed with 3D printer stuff. It has gotten me excited about 3D drafting and CAD all over again. Simply because you can create a 3 dimensional object on a computer in a matter of minutes or hours and render it to look completely realistic, but now because of 3d printers you can actually make those objects (if you so wished)! Awesome!

Yesterday and Today I’ve been playing around with Solidworks again. My ancient 2007 version of solidworks. lol. But it works non-the-less. Although i’d love to try out Autodesk 123d Design (which is free). But, why oh why are there still no good CAD programs that run nativity on Linux. Especially if you have a Mac version. If it runs on Mac it can easily be ported to Linux. Why do you think the Arduinos and the rep-raps, and open-source, and so many other great things have taken over the world by storm? Yes it’s because they are great products, but also because they are cross-platform! Okay, End-Of-Rant.


But Seriously, i actually really like designing something in CAD if it’s something i’m excited about. Today i ventured into the realm of something relatively simple, test tube racks. But sadly there are not currently very good designs for test tube racks available. Which actually surprised me. The three best places I look for pre-made CAD files are at 3dContentCentral, which is the oldest site of this kind that i ever encountered. It is mostly for people who use solidworks, but the great thing about the site is that it has a tool that can convert to and from many different CAD formats, including solidworks formats, IGES, STEP, STL, etc. The second is GrabCad. GrabCad is a new community also aimed at engineers sharing CAD models freely. It dosen’t have the nice file converter that 3dContentCentral has, but it has a vibrant community that provides feedback, help, and will check out your designs. Someone on GrabCad actually helped render the nice  looking wood rendering of my 1950s style test tube rack. How nice! Thank You! And the third is the famous MakerBot Thingiverse. Thingiverse is less focused on CAD formats and instead is focused on creative designs optimized for 3D printing. At minimum an STL file will be available for anyone to download and print on any 3d printer they have access to. I currently dont own my own 3d printer, but am currently using the Lulzbot mini that currently resides at my local library. How’s that for public access?!!


So these are the three test tube racks i modeled today in Solidworks. Not super amazing i suppose, but i’m proud of them. My favorite is the nice wooden 1950s style test tube rack. I partly chose to start with that one because i have one that looks just like that looks like it was made by a monkey in china. It seriously is not as nice as my virtual one and not anywhere near as fancy looking either. But also because it is the standard test tube rack featured in the banned 1960s DIY chemistry book: The Golden Book of Chemistry Experiments. It was just begging to be brought into the modern world.

I then ventured into modeling a simple test tube rack because there were none available that i liked. I may make a smaller version of this one for 3d printers that have small print beds. Perhaps one with only 4 test tubes.

The last one i modeled after a nice round plastic test tube rack I’ve seen on the internet. I don’t have one, but I’ve been meaning to buy one. But i wanted to model one in Solidworks and create one that fit on a Lulzbot mini 6″ X 6″ print area that other people could print out too. So i made one of appropriate size and then made it able to split in two to be printed easily. I really like how the design came out. I hope to be able to test it out by printing my own sometime.

1950s Style Test Tube Rack:


Economy Style Test Tube Rack:


Round Mini Test Tube Rack:



DIY Modified Bread Machine Incubator

I hereby present: “The Breadman Incubator”… TaDa!

I will admit that i never truly got into the DIYbio movement, but to say it didn’t leave an impact on me also wouldn’t be truthful. So what is this machine? And what is it for? Well, I’m glad you asked…

DSCF7140 DSCF7145

In short this is a modified bread machine. Only modified to the extent that the native electronics have been replaced with an arduino (in this case an old low-cost diavolino), an arduino screw-shield, the native thermistor replaced with my own 10k ntc thermistor, and a 7 segment display from sparkfun electronics. Oh, and my own custom orange plexiglass cover! I’m quite proud of that cover! It’s main design is to regulate specific temperatures. In the case of DIYbio, in theory it can be used to regulate a temperature to be an incubator. Mainly bacteria, but it could also be used as an egg incubator, or a “hyper germination chamber” for squash seeds!. This last one is the only one i have actually tested, and i was able to see a squash seedling emerge in only one day! All of these potential uses still fall within the category of do-it-yourself biology.

DSCF7146 DSCF7151

Currently the programming is limited to a pre-set temperature at 37 degrees Celsius. This is often the optimal temperature to cultivate bacteria. Or so i’m told by Wikipedia. It is also the max temperature listed as being able to germinate squash seeds. huh, who knew?

DSCF7155 DSCF7156

Now, a lot of people out there might say: “why on earth would you want to cultivate bacteria!” and one step further: “why on earth would you make a machine to grow bacteria!; Isn’t that dangerous?!” Well, umm.. I never said i actually would grow bacteria in this thing, more i created it just because i like the “i could” factor. In reality this is more of a proof-of-concept design built only to impress myself. But to answer the second question/statement.. Yes, growing bacteria is potentially dangerous.. unless you know what you are doing, what kind of bacteria is safe to work with, and proper safety protocols. Those who are familiar with the DIYbio movement will know that such safety concerns have been discussed before and that the general consensus is basically “use common sense” and “know what you are doing”. If these two principles are followed everything will be fine.

Besides, the great thing about this is that in theory this could be programmed to be it’s own sterilizer too! That’s a great plus for safety. Wikipedia say’s this:

Eventually, the entire item reaches the proper temperature needed to achieve sterilization. The proper time and temperature for Dry-Heat sterilization is 160 °C (320 °F) for 2 hours. Instruments should be dry before sterilization since water will interfere with the process. Dry-heat destroys microorganisms by causing coagulation of proteins.

I did a basic programming test to see if this machine could reach 160 degrees Celsius. It seemed like it could. The only thing needed would be a way to accurately keep track of time (like the unused chronodot i have lying around) and a button or something to initiate a programmed sterilization routine.

DSCF7157 DSCF7158

In this design i have not implemented use of the motor. One because i really couldn’t think of a good use for it. But two because in my initial testing phase i accidentally destroyed both an arduino mega and my computer (i assume by not properly protecting them from the kickback electricity from the motor). Yeah, it was “my bad”! Quite literally. Yeah, so a caution to anyone who decided to build a similar project, i recommend not programming your arduino while it is plugged into the electronics of your bread machine. Program it first, and then hook it up to test it. It was only when the usb cable of my arduino were plugged into my computer (with the motor running (i think)) that bad things happened. 😦

DSCF7159 DSCF7161

I found this old piece of scrap aluminum that handily fits at the bottom to cover the motor thingy. It gives it a nice flat surface. Petri dishes or anything that needs a flat surface will need something like this.

So.. Does it work?.. Yup. At least in a basic sense. It definitely could use some improvement. The programming is very basic in terms of turning the relay on if it is under a preset temperature (in this case 37°C) and turning it off it is above. While this works, it is not efficient nor really all that accurate. A PID loop would probably improve it much. Also adding a chronodot would help to have a temperature compensated accurate time clock in case i wanted to incubate something for a specific amount of time. I probably will add the chronodot at some point. A fan to help regulate temperature might also be a good fix, but if the autoclave feature were implemented it would have to be autoclavable (or removable). The fan could unintentionally introduce mold spores, but if proper sterilizing techniques were used this could be avoided. And perhaps a magnet switch to turn things off when the cover is opened.


The arduino code for this project can be found here.


Breadman Incubator Arduino Code

The following arduino code is for my Modified Bread Machine Incubator project. The display code was not written by me, but was the only example code i was able to cobble together with my working thermistor and relay code that actually worked. I understand a little of it, but not all of it. If someone knows a better way to transmit the temperature from the thermistor to the 7 segment display, then i welcome improvements. Otherwise enjoy. 🙂

//* Working Code for modified bread machine incubator w/ safety code
//By Andrew Barney
//Loveland, Colorado, USA
//Test code for Display and thermistor
//seems to work...

#include <math.h>
double Temp;
int RelayHOT = 9; //Caution: Heater on Pin 9!
int led = 13; //Led on pin 13

//display code starts here
#define TXDATA  8       // Pin used to transmit data.
#define POT     0       // pin used to read the analog value.
//int potVal=0;
int potVal=Temp;
#define BITTIME 93      // adjusted to obtain 104 milliseconds delay (9600bauds).
//display code ends here

double Thermistor(int RawADC) {
Temp = log(((10240000/RawADC) - 10000));
Temp = 1 / (0.001129148 + (0.000234125 + (0.0000000876741 * Temp * Temp ))* Temp );
Temp = Temp - 273.15;            // Convert Kelvin to Celsius
return Temp;

void setup() {
Serial.begin(9600); // begin the serial monitor
pinMode(RelayHOT, OUTPUT); //set pin 9 (known as relayHOT - to an output)
pinMode(led, OUTPUT); //Led on pin 13 to correlate when relayHOT is ON!

//display code continued here
 pinMode(TXDATA, OUTPUT);   // initialize the TXDATA pin as an output.
 digitalWrite(TXDATA,HIGH); // TXDATA = 5V when is resting.
 //delay(10);                 //Wait for Serial Display startup.
 sendChar('v');             //Reset the display 0x76.
//display code ends here 
 delay(500);  // Delay a bit… (both for display and safe start-up)

//display code
void sendChar(char c){
  delayMicroseconds(BITTIME*2);          // wait 2 Stop bits before sending the char
  digitalWrite(TXDATA,LOW);              // low the line
  delayMicroseconds(BITTIME);            // wait Start bit
  for (int i=0; i<8;i++){
    digitalWrite(TXDATA,bitRead(c, i));  // bit out.
    delayMicroseconds(BITTIME);          // wait bit
   digitalWrite(TXDATA,HIGH);            //Return TXDATA pin to "1".

void show(String s){
  for(int i=0;i<4;i++){
//display code ends

void loop() {
//delay(500); // Delay a bit…
//Serial.println(analogRead(A0)); // print the raw analog values (diagnostic purposes only)
//Serial.println(int(Thermistor(analogRead(0))));  // print Celsius temp reading in serial monitor
delay(1000);  // wait 1 seconds before sampling temperature again

if (Temp < 37)
{digitalWrite(RelayHOT, HIGH);  //if the temperature is less than 37C, turn on the relay
digitalWrite(led, HIGH);}       //LED indicator

else if (Temp > 37)
{digitalWrite(RelayHOT, LOW);  //if the temperature is greater than 37C, turn the Heater off because it is too hot!
digitalWrite(led, LOW);}

//else if (Temp == 0)
//{digitalWrite(RelayHOT, LOW);  //turn the Heater off!
//digitalWrite(led, LOW);}

//else if (Temp == NAN)
//{digitalWrite(RelayHOT, LOW);  //turn the Heater off!
//digitalWrite(led, LOW);}

else if (analogRead(0) == LOW)  //check if thermistor is plugged in
{digitalWrite(RelayHOT, LOW);  //if it isn't turn the Heater off!
digitalWrite(led, LOW);}

//display code
//potVal= analogRead(0);
//potVal = Thermistor(analogRead(0));
potVal = Temp;
  String strPot = String (potVal);
  while(strPot.length()<4)strPot= " " + strPot;   //format to 4 characters.
//display code ends



Pea Breeding 2015: The Quest for the Red Podded (snap) Pea

A rough example of how the genetics work in peas to create a red-podded pea.
A rough example of how the genetics work in peas to create a red-podded pea.

Gardening this year has been sparse. Mainly Peas, Watermelon, a few purple-stalked indian corn plants, 2 sunflowers, and some pepper seedlings. However progress is being made on the pea breeding front. Thanks to Joseph Lofthouse i was able to receive a small sample of his F4 cross between an unremarkable and unnamed, but yellow snow pea and Sugar Magnolia a good purple snap pea. This has expedited my own quest for a good red podded pea.


Contrast between a red podded snap pea and a yellow snow pea




For those who are interested roughly in how the genetics works i will give my best simple explanations here. The modified google logo above is a horrible, but extremely basic diagram of how the red podded peas are bred. It requires the combination of yellow podded peas (which are recessive) and purple podded peas which are dominant (however there are three genes involved, which means that if only some are present they are only partially dominant). Purple pods have a green pod underneath, but if you can get a yellow pod as the base color, then you get red pods. The real trick after crossing such peas is to get the recombinant offspring that you desire. You need to get two recessive genes for yellow pods in addition to at least 1 of each of the purple genes. But if you only get some of the purple genes and not two copies for each then you get splotchy pods. You get partially yellow partially red pods. Sometimes this can be fixed by just growing several generations and letting them segregate themselves. This is possible because peas are naturally self pollinating. The problem is sometimes one of the purple genes will segregate out and you will forever have only a partially red pea pod which will never stabilize unless you use it to do another cross.

Here is the predicted results of the F1 generation between a purple podded parent and a yellow podded parent, with the assumption that the purple podded parent is heterozygous for all 3 purple genes. This chart was done after reading about rebsie’s F1 generation having mostly green pods.


Here is an “average” prediction of the F2 generation. This is excluding one of the purple genes, because by this point you should be selecting from only purple pods. green pods will never give you purple pods, which in turn will never give you red pods.


Even Joseph’s F4 generation is still segregating between Snap pods and Snow pods, and red and yellow pea pods. So, I have some of my first red podded peas thanks to Joseph Lofthouse in Utah. And i’ve been doing as many pea crosses as i can myself. Not only for red-podded peas, but umbellatum types, pink pea flowers, large pods, snap pods, dwarf plants, etc. Should be fun. 🙂