Monthly Archives: March 2019

Friday Product Post: Come RVR Here!

via SparkFun: Commerce Blog

Hello, everyone and welcome to another Friday new product post. This week, we have two different versions of the the SparkFun Arduino Pro Mini Starter Kit (5V and 3.3V). We also have pre-orders open for the Sphero RVR and its Autonomous Robotics Kits, as well as the new NVIDIA Jetson Nano Developer Kit.

As a reminder, the SparkFun Edge Development Board is available for pre-order – it's perfect if you are looking for an economical and easy way to get into the world of edge and machine learning. The entire board is powered by TensorFlow, so you know the type of capabilities the Edge is capable of!

Now let's get to the new products!

Start with a Pro Mini Today!

SparkFun Arduino Pro Mini Starter Kit - 5V/16MHz

SparkFun Arduino Pro Mini Starter Kit - 5V/16MHz

KIT-15254
$29.95
SparkFun Arduino Pro Mini Starter Kit - 3.3V/8MHz

SparkFun Arduino Pro Mini Starter Kit - 3.3V/8MHz

KIT-15257
$29.95

What's blue, thin and comes with everything you need to get started? The Pro Mini Starter Kit! The Pro Mini is SparkFun's minimal approach to Arduino, running at 5V with a 16MHz bootloader or 3.3V with an 8MHz bootloader. The Arduino Pro Mini does not come with connectors populated, so you can solder in any connector or wire, in any orientation you need.


SparkFun Basic Autonomous Kit for Sphero RVR

SparkFun Basic Autonomous Kit for Sphero RVR

KIT-15302
$119.95
SparkFun Advanced Autonomous Kit for Sphero RVR

SparkFun Advanced Autonomous Kit for Sphero RVR

KIT-15303
$164.95

The SparkFun Autonomous Kits for Sphero RVR provide an expansion set of sensors to the Sphero RVR platform. Based around Raspberry Pi’s small yet powerful Zero W model, the basic kit provides both global positioning and vision to the new robotics platform, while the advanced kit provides all the functionality of the basic kit with the addition of time-of-flight distance sensing.

Of course you are going to need a Sphero RVR to get these kits to work!


Sphero RVR - Programmable Robot

Sphero RVR - Programmable Robot

ROB-15304
$249.99

The Sphero RVR is the Go-Anywhere-Do-Anything Programmable Robot. Fully capable out of the box yet able to be expanded upon easily, the RVR (pronounced rover) is a robotics platform perfect for learning all about robotics! With tank treads and powerful, durable motors, the RVR can travel over most surfaces with ease using a highly advanced control system. In addition, on-board sensors such as encoders, an IMU and a color sensor make building a more advanced robot incredibly easy.


NVIDIA Jetson Nano Developer Kit

NVIDIA Jetson Nano Developer Kit

DEV-15297
$99.00

Cue theme music..."Meet NVIDIA Jetson!" The latest addition the Jetson family, the NVIDIA® Jetson Nano™ Developer Kit delivers the performance to run modern AI workloads. It boasts a small form factor, power-efficiency (consuming as little as 5 Watts) and low cost. Developers, learners and makers can run AI frameworks and models for applications like image classification, object detection, segmentation and speech processing.

The developer kit can be powered by micro-USB and comes with extensive I/Os, ranging from GPIO to CSI. This makes it simple for developers to connect a diverse set of new sensors to enable a variety of AI applications. We at SparkFun see this as potential for yelling "Stop this crazy thing!" to your friends & family!


Rotary Encoder - Illuminated (Red/Green)

Rotary Encoder - Illuminated (Red/Green)

COM-15140
$2.95

Rotary encoders are used similarly to potentiometers, but they're different from potentiometers in that an encoder has full rotation without limits. They output gray code so you can tell how much and in which direction the encoder has been turned.

This encoder is especially cool because it has a red/green LED built in, as well as a push-button.


That's it for this week! As always, we can't wait to see what you make! Shoot us a tweet @sparkfun, or let us know on Instagram or Facebook. We’d love to see what projects you’ve made!

We'll be back next week with even more fantastic new products!

comments | comment feed

Automatic Light Switch on the Internet of Things

via SparkFun: Commerce Blog

Backstory

I just moved into my first new home and found the lighting situation in my garden-level office to be absolutely horrendous fluorescent tubes. For the time being I'm using two very large lamps, but I'm bad at remembering to turn them off when I leave, and getting across the room in the dark when I arrive is a dangerous affair. I decided to put my things on the Internet of Things by designing an automatic light switch using the SparkFun ESP8266 Thing Dev, SparkFun Quad Relay, and an infrared LED/receiver pair as a tripwire to turn the lights on and off. You can find all the parts I used for this project below.

Resistor Kit - 1/4W (500 total)

Resistor Kit - 1/4W (500 total)

COM-10969
$7.95
153
SparkFun Qwiic Quad Relay

SparkFun Qwiic Quad Relay

COM-15102
$29.95
SparkFun ESP8266 Thing - Dev Board

SparkFun ESP8266 Thing - Dev Board

WRL-13711
$16.95
69
Jumper Wires - Connected 6" (M/M, 20 pack)

Jumper Wires - Connected 6" (M/M, 20 pack)

PRT-12795
$1.95
2
IR Receiver Diode - TSOP38238

IR Receiver Diode - TSOP38238

SEN-10266
$1.95
Transistor - NPN, 50V 800mA (BC337)

Transistor - NPN, 50V 800mA (BC337)

COM-13689
$0.50
LED - Infrared 950nm

LED - Infrared 950nm

COM-09349
$0.95
2
Note!If you're interested in a hardware-focused tutorial on how to set up a 38kHz IR signal using a 555 timer, check out the Boss Alarm Tutorial.

Infrared

The largest hurdle to this project was creating a 38kHz infrared signal that would act as an invisible tripwire to activate the lamps. The next hurdle was creating a second tripwire to act in conjunction with the first to accurately track people entering and exiting the room. Before we dive into the coding aspect of this project, first you must understand a smidge about infrared. Infrared is EVERYWHERE! Just outside of the visible spectrum, infrared is given off by our body in the form of heat, the sun blasts IR from space all the time and, not to be outdone, other stars share their IR with us as well. Because of this, the infrared tripwire must be modulated to be recognized by the IR receiver.

To create this signal I wanted to start from the ground up to get a better understanding of microcontroller timings. Generating a 38kHz signal from a SparkFun ESP8266 Thing operating at 32MHz will require some delays, but for how long? What will be the duty cycle of this signal, if any? To start I did some simple math:

Frequency of the SparkFun ESP8266 thing: 32MHz
Frequency of the IR signal: 38kHz
Number of cycles in one period of the IR signal (32MHz/38kHz): ~824.105
Period of one clock cycle for the ESP8266 Thing (time = 1/frequency): 31.25ns (wowzers)
Multiply the number of clock cycles to delay, by the length of the clock cycle: ~26.3us.
Final Result: ~26.3us

Logic Analyzer

Alright that's good enough for a starting point. If I did not have a logic analyzer at this point then I wouldn't be able to fine tune the signal to discover some other unknown time hang ups. I took the final result and wrote the IR LED high for half the calculated delay time using the delayMicroseconds() function (13us) and low for the other half (another 13us). Analyzing the signal showed that the signal was too slow, but why? After some investigation I found that writing the pin high takes some time to complete, which is not really something I've had to take into consideration before. I mean of course it does, but this is exactly the kind of stuff that is so great to come across when doing a project, because this is how I learn something new.

The time to write a pin high on an ESP8266 is approximately ~1.5us. Reducing the delay to about 23us gave just enough delay to generate a 37.89MHz wave which is enough for my purposes. Implementing the signal wasn't as successful. Looking at the datasheet for the IR receiver I discovered that blasting it with a IR signal continuously only forces the receiver to turn off signal capture for a time.

I searched our website for some help and came across Nate's tutorial on rebuilding the Lumitune, which really brought the whole thing together. If you look at the tutorial, he provides code for this large project that revolves around blocking an IR signal to play a piano key. In his code he simply pulsed the IR LED for a short burst and immediately read thereafter to see if it had been read. He delays for one millisecond between these bursts to keep from overloading the IR receiver. Of course! Sometimes you go down the rabbit hole and have a hard time getting perspective on your project. This is exactly what I needed to find. I set up the first and second IR transmitter/receiver pair and had two working tripwires. I futzed with the duty cycle to see how it affected the receiver, but found that 50 percent was sufficient.

This is screen shot of the logica analyzer display a 38kHz wave.
A screenshot from the logic analyzer of both the IR signal and just above, the IR receiver going low.

The Code

To have this work correctly I mentioned that my goal was to have two IR tripwires working together to determine whether a person was entering the room. With two I can determine whether a person is coming or going from the room, because it informs me of the direction they're walking.

Direction is vital because I can keep track of the number of people entering or exiting a room. By keeping track of the number of people in the room, I can prevent the lights from turning off whenever any one person departs the room and instead only when the room is empty. That's an important distinction and a common use case for my automatic light switch. Of course this is not a perfect system; I can imagine an instance where two separate people, one leaving and one entering, trigger both IR tripwires simultaneously. I can imagine a line of Redcoats walking down my hallway shoulder to shoulder, and my setup only senses one person when there are actually three in a line.

For all the edge use cases I'm simply going to put a button near the entrance to turn off the lights, and because we're on the internet, I'll be able to turn the lights on and off with my phone as well. To implement this well, I want the second IR tripwire to trigger after the first in a specific window of time so that I can accurately determine direction. Is there something else I should be considering? Let me know below.

The code for setting up two SparkFun EP8266's was not difficult. Our hookup guide shows how to set up a simple server and the client example code provided by Espresif was all I needed to get communication between the two working. Looking toward, the future I want the web page to have a better indicator for the lights. If you're interested in the code for your own project or are feeling curious, I've linked all the code below.

Infrared Circuit

Belolw is the circuit for the infrared tripwires. One thing to note is that the IR LED can use up to 50mA of current, which is more than the pin on the ESP8266 can provide. I use a NPN transistors with 68 Ohm resistors to provide the proper current. I actually breadboarded the circuit on two seperate breadboards so I could separate them as much as possible. However, the IR LEDs still managed to trigger the wrong receivers so I used aluminum foil to create a cone around each LED.

alt text

The ESP8266 controlling the SparkFun Qwiic Quad Relay was hooked up to the I2C pins. Check out the hookup guide for the Quad Relay if you want to know more. That's all, folks! In the GIF below I show a single lamp being turned with the specific order using the "direction" logic talked about in the code above, followed by the lights turning off by going in the opposite "direction."

This gif shows the IR leds getting covered in a particular order to turn on the lamp and then in the opposite order to turn off the lamp.
Notice the Aluminum cones?

The Physical Housing

The design for the physical housing of the project will have to occur sometime after this post. As of right now it's just a hodge podge of wires. My plan is to place the IR LED and receiver pairs some distance apart in the hallway. I'll probably laser cut small boxes to house the hardware with a small hole to direct the LED and alternatively, a small hole to house the receiver.

Looking to the future

As I was working on the write up for this project it occurred to me that if two people were walking close together that the logic of the code would not work. The first tripwire will be off until the first person either triggers the second or the window of time to trip the second ends. If two people are close together then a person could slip in without being sensed! I think instead it would be smarter to create a "stack" of entrances and exits, where each tripped tripwire has an associated time stamp. I can then compare tripped tripwires and their timestamps and make decisions based on the time between them. Let me know if you guys have any suggestions in the comments below!

comments | comment feed

Moving to Open Source Email List Software

via Open Source Ecology

We just took another small step on our path to creating the open source economy. We are pleased to announce that we have installed the free, libre open source (FLOSS) email list software on OSE servers – phpList. We are now transitioning all of our email lists into phpList. When we decided on phpList in 2018 for the OSE Newsletter, it was determined to be the most feature-rich FLOSS alternative to the gold-standard paid alternative, MailChimp.

And this is a good time to get into compliance with GDPR – the recent European privacy regulations. To keep receiving updates from OSE – you will need to resubscribe to our lists if you are on them. Or to start receiving updates – you can subscribe for the first time:


We have several email lists. OSEmail is our main OSE Newsletter featuring news updates, workshop announcement, progress reports, and other noteworthy items. OSEmail comes out a few times per year at monthly or longer intervals. Anyone can sign up to receive our free newsletter. You can see more information at https://wiki.opensourceecology.org/wiki/OSEmail

We also have another newsletter for Design Sprints. Design Sprints are online virtual collaboration events where we engage in design and documentation work. Design events last from one to a few hours – typically on Friday or weekends – where we collaborate in real-time as a team. We use online editable documents and the OSE wiki to coordinate development work. Anyone with technical skills can participate, and we host several design sprints per year as needed. The Design Sprint newsletter is an announcement of upcoming Design Sprints which comes out every time that a Design Sprint is organized. It provides background information on the Design Sprint so that contributors get a heads up on what to expect. If you would like to participate, you can sign up at the Design Sprints Newsletter.

What kind of updates do we have in store? I am taking a ‘sabbatical’ to write a book. In 2008, we formulated the Global Village Construction Set (GVCS) and began blogging regularly. Continued progress got us to the world stage with my GVCS TED Talk in 2011. Since then, there has been lots of exciting developments – and not enough time to document them. At this here one decade mark since the beginning of the project – I decided to write a book about our learnings – and how to take the Global Village Construction Set to the next stage. The experiment is as alive as ever, with every day producing new evidence that transcending artificial scarcity and achieving freedom – for the first time in human history – is more possible than ever.

Still, we are far from the kind of impact that Linux has done for software. Why? That is the central question I will attempt to answer – as we focus for the next decade on opensourcing critical infrastructures of material prosperity. That is a prerequisite to self-determination and freedom – a central question that our civilization has not yet mastered. And many question whether we will survive at all. In another decade, end of 2028 – I’m retiring for the third time to work on applications of technology, not technology per say. That means helping people to grow – and building village campuses for global regeneration.

I believe that taking OSE to the next level requires a thorough analysis of all OSE learnings – as well as a survey of all knowledge gained by civilization to date across many disciplines. This helps put our work into perspective – as we are doing nothing new. We are just integrating and applying existing know-how and standing on the shoulders of giants.

So if you would like to keep receiving OSE news – or to join our mailing list for the first time – please do so by subscribing to the list below. For reasons of GDPR internet privacy regulations, we require that everyone on our existing lists resubscribe so that OSE is in compliance with the regulations.

The magic of MQTT

via SparkFun: Commerce Blog

IoT and connected devices hold the solutions to problems on all ends of the spectrum, from areas such as agriculture and industrial automation, to letting you know when your food is about to go bad. For me, the greatest potential for IoT (yes, I realize there's so much more) is the potential to eliminate life's maintenance activities, leaving more time for the stuff I enjoy doing. If I can minimize the amount of time I spend cleaning my house, figuring out what I need on my shopping list, or even just turning on the lights I turn on when I get home at night, I'll deem IoT a success.

alt text

For those looking to make my dreams come true, a good first step is learning MQTT. MQ Telemetry Transport (MQTT) is a machine-to-machine messaging protocol aimed at IoT. It's designed with a lightweight messaging service that's perfect for remote nodes or sensors. One of our engineers, Alex, put together a great tutorial on getting started with MQTT with the very popular Raspberry Pi platform. I highly recommend it as a quick taste of what MQTT and IoT have to offer.

Introduction to MQTT

November 7, 2018

An introduction to MQTT, one of the main communication protocols used with the Internet of Things (IoT).

The tutorial can be found here, and more information can be found on most project websites (it's a very popular thing these days).

comments | comment feed

Meet NVIDIA Jetson!

via SparkFun: Commerce Blog

The AI revolution is transforming industries, and with increased adoption comes the desire to bring artificial intelligence to even more systems – devices that are smarter, lower power and lower cost. This path has been constrained until now by the challenges of size, power and AI computing density. The Jetson Nano™ is NVIDIA®'s response to this market need - a production-ready module that enables the development of millions of new AI devices that are small in size, affordable and power efficient.

The power of AI, born of supercomputers, is now available to the mass embedded market with Jetson Nano.

NVIDIA Jetson Nano Developer Kit

NVIDIA Jetson Nano Developer Kit

DEV-15297
$99.00

With the ability to run a full desktop Linux setup with many common tools, utilities and device drivers (all pre-installed), the Jetson Nano is a powerful and easy-to-use platform that is compatible, out of the box, with multiple popular peripherals. This board is capable of running multiple neural networks in parallel, and processing high resolution data from multiple sensors simultaneously. So what sort of frameworks does the Jetson Nano support? We're glad you asked! Delivering 472 GFLOPs for running modern AI algorithms, the Jetson Nanon supports TensorFlow, PyTorch, MxNet, Caffe and more!

The NVIDIA Jetson Nano module is a production-ready System on Module in an impressively small form-factor. It is equipped with a 128-core NIVIDIA Maxwell™GPU, a quad-core ARM A57 processing system, a video encoder and decoder, as well as 4GB LPDDR4 and 16GB eMMC memory. But that's not all: The Jetson Nanon also features a host of interfaces and IOs, including high-speed IO for CSI, PCIe, Gigabit Ethernet and multiple USB3. HDMI and Display port connectors are also available as well!

Jetson Nano is designed to reduce overall development time and bring products to market faster by reducing the time spent in hardware design, test and verification of a complex, robust, power-efficient AI system. The design comes complete with power management, clocking, memory and fully accessible IOs. Developers can simply connect their sensors and IO and start developing the application-specific parts of the system. With both boot and program flash, Jetson Nano lets developers simply and regularly update their algorithms during development, and even after the system is deployed.

The NVIDIA Jetson Nano Developer Kit is now available for pre-order, and we expect to start shipping soon!

comments | comment feed

Arduino Day Deals End Tonight!

via SparkFun: Commerce Blog

Arduino Day Banner

Blink and you may have missed it, but Arduino Day was Saturday, 3/16. To celebrate the fact SparkFun probably wouldn't be here without Arduino, we've taken 20% off most of our SparkFun Original boards! We aren't a big fan of leaving discounts just to the weekend though, so we've extended our deals through the end of today. Check out some of our favorites on sale below, but act fast as some boards may sell out. You have until 11:59 p.m. MST tonight to score a deal. Happy belated Arduino Day!

SparkFun XBee Explorer Serial

SparkFun XBee Explorer Serial

WRL-13225
$19.95 $15.96
2
SparkFun 9DoF Razor IMU M0

SparkFun 9DoF Razor IMU M0

SEN-14001
$35.95 $28.76
11
SparkFun Load Cell Amplifier - HX711

SparkFun Load Cell Amplifier - HX711

SEN-13879
$9.95 $7.96
31
SparkFun OpenLog

SparkFun OpenLog

DEV-13712
$15.50 $12.40
19
SparkFun Triad Spectroscopy Sensor - AS7265x (Qwiic)

SparkFun Triad Spectroscopy Sensor - AS7265x (Qwiic)

SEN-15050
$64.95 $51.96
2
SparkFun FTDI Basic Breakout - 5V

SparkFun FTDI Basic Breakout - 5V

DEV-09716
$14.95 $11.96
115
Pro Micro - 5V/16MHz

Pro Micro - 5V/16MHz

DEV-12640
$19.95 $15.96
71
SparkFun ESP32 Thing

SparkFun ESP32 Thing

DEV-13907
$21.95 $17.56
60
WAV Trigger

WAV Trigger

WIG-13660
$51.95 $41.56
25
EasyDriver - Stepper Motor Driver

EasyDriver - Stepper Motor Driver

ROB-12779
$14.95 $11.96
37
SparkFun LoRa Gateway - 1-Channel (ESP32)

SparkFun LoRa Gateway - 1-Channel (ESP32)

WRL-15006
$34.95 $27.96
1
SparkFun Atmospheric Sensor Breakout - BME280

SparkFun Atmospheric Sensor Breakout - BME280

SEN-13676
$19.95 $15.96
11

comments | comment feed