After chatting with Craig and Jake over the last 24 hours, we decided to try a different configuration for the Open Lab Monitor (OLM). Instead of having ethernet on-board the ‘main’ Open Lab Monitor, we designed a version that is really just a “Jeenode minus a radio” — that is, an Arduino Uno-compatible board that will need an FTDI cable to be programmed via a PC — plus our own, custom “OLM” port interface.
Here’s a picture of the board schematic and layout so far:
Another very significant change: we added the Atmega328P’s ”I2C” interface to the OLM ports. Each “OLM Port” is now a port for a 2×5 ribbon cable connector with (you guessed it) 2×5=10 pins — namely:
- A digital I/O pin capable of pulse width modulation (PWM)
- An analog I/O pin;
- power and ground pins;
- the SPI bus: MISO, MOSI, and SCK pins (if used, SPI will also rely on the digital I/O pin as the “chip select” pin);
- the I2C interface: SDA and SCL pins;
- A RESET pin.
Here’s a closeup of one of the OLM “ports”:
This redesign both a) simplifies the “base” OLM board, making DIY construction of it easier (and cheaper), b) allows for two more “ports” on the base board, and c) opens up an entire class of new sensor devices: I2C devices, which are quite ubiquitous. Exciting!
Because one of the first applications we have in mind is an ethernet-capable device that sends sensor readings to an online database, we’ve also now designed our first OLM “peripheral” — an ethernet controller chip (the ENCJ2860) and ethernet jack (the same sold by Sparkfun). The design allows for use of JeeLabs “Ethercard” library, a well-tested and actively maintained library with several nice examples available for the Arduino IDE. The resultant “OLM Ethernet Peripheral” schematic is pictured here:
And here’s the board layout so far (cute, isn’t it?):
Todd and I spent a good deal of time yesterday figuring out the minimal viable version of the Open Lab Monitor (OLM) and putting it into a schematic. We ended up choosing to emulate the very elegant and minimal design of the JeeNode, remove the JeeNode’s radio (though wireless connectivity will soon be revisited!) and add ethernet connectivity. Another important design decision was to select only through-hole components for the board: this will both facilitate our own learning process, and it also allows for the possibility of an easy-to-assemble kit for use in K-12 and university contexts.
So, what is the Open Lab Monitor? It’s essentially yet another take-off on the popular Arduino microcontroller platform, but tweaked slightly in order to make it easier to add peripherals that would be useful when making measurements in a scientific research context. The main tweaks are the inclusion of some custom ports that can be connected to via some snug, cheap cables; our plan is to make a series of peripherals for this port interface that will allow for measuring temperature, humidity, moisture, pH, and do some simple electrochemistry. The advantage of using an Arduino-based system is that doing so allows the user to connect to the incredible array of online tutorials that provide instructions for doing pretty much anything that a cheap microcontroller electronics platform allows; with minor modifications, the code from such projects should work on the Open Lab Monitor, as well. We’re also planning on designing a shield for the Raspberry Pi that would use the same custom connector interface, so that folks that would prefer to use the more powerful processor and operating system of the R-Pi can use the same inexpensive peripherals. The decision as to whether to use an Arduino-based or R-Pi-based system is then mostly a matter of the user’s comfort with the associated programming styles, as well as whether a low-power, battery-operated system is something they require (if so, then the Arduino is the way to go).
We’re hoping to finalize this initial design in the next week or so, and make our first printed circuit boards soon. Then we’ll be in a better position to start designing the several peripherals we have in mind for this board.
Here’s the schematic as it stands now:
Exciting times ahead!
Most people who deal with scientific data on a regular basis have likely run into a situation where they didn’t have the “right” program installed on their computer to read a particular data file format which they needed to analyze right away. Granted, most people who have computers – regardless of profession – have had this problem, but I’m recalling particularly miserable experiences as a graduate student researcher in experimental condensed matter physics - feelings that, I hope, relate to those of other experimental scientists and some theoreticians as well. Continuing with the painful memories: perhaps, you had to leave the relative comfort of your office and your computer, go seek out an ageing workstation which has the only licensed copy of the “right” proprietary software, located in some dank lab with no windows (well, maybe it had Windows… 2000…if you were lucky!). You spend a few hours wrestling with the vendor’s crappy analysis suite and finally export the boiled-down data as a spreadsheet format…. OK, almost home free. Now, this computer most certainly had onerous restrictions to prevent all those nasty viruses from taking over and lowering your scientific productivity: “no outside Internet connection, no USB ports, a floppy drive… forget it… uh, what’s the name of that FTP server again?” You get back to your office, pull down that text file and finish the job with your favorite general purpose scientific analysis suite. “Oh, wait… I need to know what that parameter was and it’s not in the &*@%ing file!”