Friday, September 12, 2014

Drones for good



Here is a nice little article from Richard Branson (@richardbranson) about using the rapidly developing advancements in UAV technology for good causes. Which is quite refreshing, since most of the news on drones is about surveillance and discussions regarding lethal autonomy.

"Earlier this year, the Consumer Electronics Show described 2014 as “the year of the drone”. In the last month alone, Google has unveiled a new drone delivery system, the Pentagon has announced a new drone base in the Sahara, and conservationists have been using drones to monitor, study and protect endangered species."


There is so much more you can do with an Eye in the Sky than invade peoples privacy. How would you make a drone a do gooder?

Why everyone’s talking about drones



Thursday, August 21, 2014

Know your roots. A look back at the evolution of wearable tech



With all the power promised by "new" technology it is no wonder that as soon as something life changing comes along we want to be able to take it everywhere. As great as pockets are, they only offer so much storage. Plus you still have to spend all that time reaching in and finding whatever it is you need. In comes wearable devices! Need the time? Look at your wrist. Need to control a hidden computer to cheat at black jack? Twiddle your toes! Have some heavy calculating to do? Better brush up on your abacus skills! Atmel has a great post looking back on some (really old) wearable tech devices and it is definitely worth a look!

A look back at the evolution of wearable tech

Tuesday, June 10, 2014

Myo Final Design is Unveiled



Thalmic Labs has (finally!!) unveiled the final design for the Myo Armband

After two years of development, we could not be more excited to share the final design of the Myo armband with you. As revealed today in our press release, the new design has taken on a more sleek design than the Myo Alpha units which have been going out to developers over the past six months.


I have been looking forward to getting my hands on (or arms through) a Myo since they were first announced. With the developer kits shipping in July, Atoms Industries will be exploring different ways of how the Myo can be used to enhance the daily processes of running an eCommerce company. It will all depend on the speed and easy of control that can be achieved with the hardware. What daily actions would you improve with a Myo?

Monday, May 12, 2014

The Nanite 85 - The Nanoist Arduino Yet





Tim over at Tim's Blog has designed what is arguably the smallest Arduino compatible board to date. The Nanite 85

I designed this board for fun after the Digispark and, subsequentally, the Adafruit Trinket were announced. The motivation was to have my own ATtiny85 based development board based on a USB bootloader and optimized for the ubiquitous 170 point mini-breadboards. In contrast to the Digispark it even sports a reset button. However, it lacks an integrated voltage converter as it is supposed to be powered by USB... -Tim


Using Micronucleus bootloader to have the Attiny85 handle the USB interface, Tim is able to keep this board super tiny. It is quite an impressive uC board layout that would work great for any USB powered project that just needs a little bit of logic and doesn't take up a lot of space. For more details, be sure to check out the rest of Tim's article. If you want to take a stab at your own tiny dev board, many of the Nanite 85 resources can be found on GitHub, including Eagle Files and code.

Wednesday, May 7, 2014

IoT Goes to College: Applications that leverage the Internet of Things are changing campus life and learning.

Full Article by Tommy Peterson at EdTech: IoT Goes to College
Biology lab freezers at the College of the Holy Cross send email alerts when their temperatures drift out of acceptable range. Students on the Worcester, Mass., campus soon will be able to use their smartphones to check whether washers are free in their dormitory laundry room. It's just one of many campuses where apps based on the Internet of Things (IoT) — the burgeoning array of Internet-connected devices — are moving beyond their established role in facilities management and into classrooms, laboratories and student life.


"You are old enough to know how very important to your future life will be the manner in which you employ your present time. I hope, therefore, you will never waste a moment of it." -Thomas Jefferson

Time is never more precious then in those years spent preparing yourself for the rest of your life. When you can move time spent waiting into time spent doing you can massively increase what you are able to achieve. That is why uses like these colleges are getting from Internet Of Things is such a fantastic step forward in future of integrated technologies.

What data would give you more time if you could have access it from anywhere?

Thursday, September 26, 2013

A Good Free Barcode Font

If you just want the font and be on your way: Here it is

In past lives I have done a lot of work with barcodes. Usually, because it's a job, I could fund getting actual good barcoding plugins to get the job up and running quickly. I have done a lot of searching for free ways to make barcodes and they do exist and some are quite good. However, they always end up costing time instead of money. But you could say that about the ones that aren't free as well. Recently I had the need to get a barcode in Excel. Which first off why does Excel not have barcode support out of the box! Or off the disc as it were. I mean if they had just spent all the time they wasted making Clippy and added functionality that people could actually use... Anyway, I did in fact track down an good, very free, barcode font for 3of9. I don't know that I have ever used a barcode scanner that didn't read 3of9. It's not the slimmest of barcode options but it's free and you can get barcodes added to a document or in a project quickly. So I thought I would share it.

Monday, August 5, 2013

Arduino Tutorial - Quick and Dirty Blink Without Delay

I was writing a sketch for a project I am working on and I needed to add a blinking cursor on a character. My first thought was on how many new variables would need to be added to keep track of state and time between states and the time since the last change. It's not a big deal but it seems like a lot just for a little bit of the on off on off. I had just been working with bitRead() on a different problem and the light blub flicked on that I could use that to watch a bit of millis() and use the toggling of the bit as my on/off switch.

The easiest way to demonstrate this is with the Blink sketch.

const int led = 13;  

 void setup() {         
  pinMode(led, OUTPUT);    
 }  

void loop() {
  digitalWrite(led, HIGH);   
  delay(1000);               
  digitalWrite(led, LOW);   
  delay(1000);               
}

This is what you get from the Arduino IDE built-in Blink sketch. The issue with this that makes it almost useless code, other than for learning, is that nothing can happen during those delays. Each delay is 1 second your project will be doing nothing.

So then you've got the BlinkWithDelay Sketch:

const int ledPin =  13;     
int ledState = LOW;             
long previousMillis = 0;      
long interval = 1000;           

void setup() {
  pinMode(ledPin, OUTPUT);      
}

void loop()
{
  unsigned long currentMillis = millis();
 
  if(currentMillis - previousMillis > interval) 
  {
    previousMillis = currentMillis;   
    
    if (ledState == LOW)
      ledState = HIGH;
    else
      ledState = LOW;

    digitalWrite(ledPin, ledState);
  }
}

Now that ends up with 3 variables and some logic for tracking. Again, not a big deal and pretty easy to follow what's going on. But if you just need repetitive high low action then here is what you can do to get it quick and easy:

const int led = 13;  

 void setup() {         
  pinMode(led, OUTPUT);    
 }  

void loop() {
  if(bitRead(millis(),10) == 0)
  {
    digitalWrite(led, HIGH); 
  )
  else
  {
    digitalWrite(led, LOW);  
  }          
}

That's it, just replace the delays with an if/else statement checking the 10th bit of the unsigned long returned from millis() and you will get about a 1 second delay. It's ease starts to degrade when you need more control over the blinking interval but if you want an even tempo flash then this will get the job done.

Now if you care for a bit of explaining you can read on.

bitRead(data, n) will take the data and put out the n-th bit from it. So bitRead(B00001000, 3) would return 0 and bitRead(B00001000, 4) would return 1.

millis() gives the number of milliseconds since the sketch started. After 3 seconds of running millis() would return 3000. So every 1ms the first (from the right) bit of millis() would flip. After every 2ms the second bit would flip, 4ms the third, 8ms the forth and so on. This lets you get an equal beat without a lot of code.

As a bit of a bonus (pun intended) if you check the 9th bit and the 8th bit in the if statement you will get a longer on then off period. I was able to get a uniquely blinking cursor by checking the 9th bit and the 7th bit. There is a brief on period and then a Double Flash.
   
     unsigned long time = millis();
     if(bitRead(time,9) == 0 && bitRead(time,7) == 0)