Open source physics lab system

This is an update to my original system based on 328. After some prototyping and Q/A on the forum, I’ve made the majority of hardware design. Here is a few pictures of the prototype V 2.4:

The look has not changed since version 2.0. It’s an open-source hand-held data acquisition system with the following specification:

ATMEGA1284P processor 16MHz speed
16KB SRAM (variables)
128KB FLASH (program code)
4KB EEPROM (settings and other stuff)

USB TTL adapter FTDI or compatible chips

3 DIN-5 plugs, with two input/output pins in each plug. You can use them both as outputs, inputs, or use them mixed.
10-bit Analog-to-digital converter on each input pin
One of the two pins has a 1% 10Kohm pull-up resistor so you can easily hook up a thermistor or other resistive sensors with two wires or use it to identify some sensors that identify themselves with different value of pull-down resistors.

Optional 16-bit Analog-to-digital converter from adafruit for $15 (top-left). Wired to the 3 DIN-5 plugs so they can be used in place of the 10-bit for the same pins.

Micro-SD card slot for data storage and possibly additional program/scripts and settings.

16X2 character LCD and rotary encoder as user interface

Real-time clock for time keeping of data files etc.

xbee slot for bluetooth bee, xbee wifi and zigbees types of wireless data transmission

Speaker for simple tones

DC-DC boost regulator with 2 AA batteries (sparkfun breakout board

Slot for soldering a popular 10DOF sensor board with 3-axis accelerometer, gyroscope, magnetometer, and barometer/thermometer (bottom right)

Software-side it is compatible with bobuino (a variant from Mighty1284P). All my thanks to members Manicbug, Jack Christensen, and CrossRoads that built the original Mighty software and then expanded and maintained the 128P variety. I might define my own variant to incorporate the external ADC as “internal” for ease of use.

Libraries used are sdfat (thanks to Greiman aka member fat16lib), Rtclib (adafruit), I2CDev(Jeff Rowberg), phi_prompt and phi_interfaces (myself, aka liudr)

Firmware evolved from various programs I wrote for Arduino over the past and can readily read some Vernier brand sensors and some I2C sensors such as ADXL345 etc. with selection menus on the screen. I will need to add data logging and time adjustment options etc to make it ready to go.

With the “massive” FLASH, with all the libraries there is plenty of space to waste on any type of projects :wink:

I’ll be posting more information as they become available. Any interest you can post on this thread. If you want a list of things I did wrong for your own benefit, I’ll write that too :slight_smile:

Here is a comparison chart with arduino UNO: