Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Topics - EKMallon

Pages: 1
The lack of a 3.3v line on TinyDuino makes it very difficult to develop code for sensors that require 3.3 volts because the levels shift to 5v when you plug into the USB port. However with the distributed regulator & level shifter components already in use by the tiny boards it would be easy to create boards specifically for I2C  sensor connection, that stabilized these voltage swings.

This would be really great for those of us trying to run from things like AA battery packs, that change voltage significantly over time, as we run into the same problem with sensors that can not withstand the voltage swing. Yes, I can go hunting for a voltage regulator, and a level shifter, and cobble something together. But if Tiny Circuits sold a $15 board just for this purpose, I would buy it in an instant, as I want to spend my time making the sensors do something useful, rather than spending my time just getting them running.

Essentially you could just take and existing product,  like the light sensor board, leave the other components in place, but remove the light sensor itself, and replace the pads with through hole connections near the edge of the board. I think the regulator you are already using would supply most of the I2C sensors out there, but you could also make one with a beefier regulator if people asked for it. My guess is that if you left the inbound VCC, GND, SCL and SDA ports already on that board, there would be plenty of customers for this regulated I2C sensor board for other battery run systems, outside of the tinyduino ecosystem, because it would save them a lot time and effort too.  And, no matter what sensors people are using (in my case high range MS5803 pressure sensors), Tiny circuits generates a sale.

Do similar modifications to the SD card board, and you would have an SPI sensor development board to sell as well, although that one would need the "inbound" lines broken out for the external market.

I really think this kind of generic sensor board could change the Tinyduino system from one with a 3.3v limitation, to one of the easiest systems to work with, and opens access to all the I2C/SPI sensors out there that have limited voltage tolerances.

Many sensors provide usable readings only if they receive a stable input voltage, but the tiny architecture does not provide a 3.3 volt line, and has regulators distributed to the various shields. Since you guys at Tiny-circuits have already done all the leg work to source these boost&buck regulators which handle  swings all the way from vbat to the 5v from the FTDI, why not produce a protoboard that already has these little guys on it to provide a stable 3.3v line? That would save us from having to cobble together stable voltage solutions from other parts, just to get our temp/pressure/etc sensors running consistently.

I have tinyduino  loggers assembled from:
Processor board + accelerometer board + sdcard shield + protoboard connected to a DS3231 RTC

these units run fine from USB, and also from 2xAA unregulated power supplies connected to the external power pads on the processor boards

However when I try to power them (on the connections previously tested as good) using the Sparkfun's NCP1402 3.3V step up regulator ( All I see is one little blip from the led on the processor board, when the power supply is connected, and then no further operation. The output from the voltage regulator seems to be stable at 3.3v when the tinyduino is connected to it.

I am not sure if this is some kind of inrush current problem causing a low voltage blip from from the regulator (causing brownout on the tiny), or excessive ripple from the sparkfun board, etc? Any suggestions on things for me to try?

Has anyone else run the tinyduinos from a boost regulator?  I have sensors that need a regulated power supply for stable readings, so I am hunting around for solutions. 

General Discussion / The cheapest RTC board out there?
« on: February 05, 2014, 09:45:41 PM »
I was about to order some more chronodots for my datalogger project,  but came across this DS3231 AT24C32 combined RTC & Memory Module just about everywhere from new egg to ebay:

I was also looking into separate eeproms, but this might allow me to kill two birds with one stone. Has anyone tried one of these yet?  I am thinking that this thing might be a power hog somehow.

(and of course, I am still eagerly awaiting the promised TinyRTC to make my unit more compact...nudge nudge)

Lots of folks have asked about ribbon connectors of various types in the forum, but I have some significant moisture and vibration issues to deal with so I suspect I will be forced to make them by hand before they become available. I would like to pot the entire stack in resin, and jumper across to another protoboard, to allow the FTDI communications after the main stack is turned into a solid lump.

Has anyone else done this yet? 

Do I have access to enough lines for the FTDI communication on those protoboards, or are there "hidden" connection lines in the stack connectors that I cant replicate that way? 

and finally:
Any other things I have not thought of yet, like "How long can those wires be before I induce other problems from things like line capacitance."

If I load the good old "blink" sketch, my tiny duino behaves as expected. However, I seem to be getting odd behavior out of the indicator led on pin 13, once I start sd card operations.  Can anyone with more experience explain how those two functions get along on pin 13?

Half the time the indicator led works, and half the time it will not light up with the standard "digitalWrite(13, HIGH);" line.

With the thickness of my mounting platform, the short machine screws that come with the TinyDuino Mounting Kit just are not long enough for my stack of 4 boards (5 with the ftdi board) and while there are probably a million ways to solve this problem I though I would post mine in case it helps someone else with the same issue.

I found some 3/64 inch brass rod at my local hobby shop [made by K&S engineering, Chicago stock 3/64 brass rod stock number 1619] , which cuts easy and threads perfectly through the plastic standoffs in the mounting kit. So I simply shape this into a "U" shape, and run it under the mounting board so that it pokes up through two diagonally opposite holes of the tinyduino stack.

On the other two holes of the stack I use the supplied machine screws with bolts, and this afixes the stack to the mounting platform, but these are then two short to hold the upper boards. But the brass rod is as long as I need to make it, so it supports the upper boards. Then to lock the upper boards down, I thread some very small diameter heat shrink tubing down the brass rods, and once shrunk in place this holds the upper boards in place. 

Just stumbled across this little trick, and it seems to work reasonably well on the Tiny duino (although it seems to report about 0.6 volts lower than an external voltmeter directly on the supply).  I will try to compare this to a voltage divider later, but for now I just thought someone else might find this handy for low voltage warnings, etc. I have not tried the temperature trick yet.


"There is a little trick using that internal 1.1v reference Grumpy Mike talks about. I'm not sure exactly how they measure the Vcc (or probably AVcc) without any external voltage divider.

This only works for the atmega 168 or 328.

Copy, paste into Arduino and see what it returns. This works on an Arduino 168 or 328.
Code: [Select]
long readVcc() {
  long result;
  // Read 1.1V reference against AVcc
  ADMUX = _BV(REFS0) | _BV(MUX3) | _BV(MUX2) | _BV(MUX1);
  delay(2); // Wait for Vref to settle
  ADCSRA |= _BV(ADSC); // Convert
  while (bit_is_set(ADCSRA,ADSC));
  result = ADCL;
  result |= ADCH<<8;
  result = 1126400L / result; // Back-calculate AVcc in mV
  return result;

void setup() {

void loop() {
  Serial.println( readVcc(), DEC );

There's also a similar method of measuring the temperature:"

Please forgive another newbie question:

In the absence of a tinyduino native RTC, which I know is in the works, I need to use a Chronodot RTC communicating via I2C to SDA (analog input pin A4) and SCL (analog input pin A5). According to my reading, I²C uses open-drain IO pins, so pull-up resistors on the SCA and SCL lines are generally required. But confusingly I have read that the Wire library, which does the
I2C communication, enables internal pull-up resistors by default. More confusing for a newbie like me, I see photos of  projects on the web, where people are using chronodots RTCs with other 3.3v boards like the pro mini, with no sign that they have installed the pullups, but they still seem to be working.

Do the SCL and SDA lines on the tinyduino have internal pull-up resistors that are automatically enabled by the wire library, or do I need to run my own 4.7KΩ(?) resistors from the SCA pin to VCC, and the SCL pin to VCC.

And finally, my final unit will also have the Tiny-circuits accelerometer in it, which is also an I2C device with a level shifter. Does the presence of that level shifter, affect this question? Ie, does the level shifters connection to the SCL & SDA lines mean I dont have to worry about pulling up SCA & SCL for the other I2C devices that would also be connected?

Pages: 1
SMF spam blocked by CleanTalk