Introduction: Beetle: Minimize Your Arduino Projects
After working with the Beetle, I am going to show you some tips and necessary tricks I learned to get this little device working properly over a Bluetooth HC-06 module.
Step 1: About the Beetle
The website has all the details about the product itself, so I will focus solely on how to get this thing wireless through Bluetooth.
Step 2: Power
Unfortunately, the Beetle doesn't have a way to plug in a battery directly unless you decide to solder on a female connector or supply power through the micro USB port. But, there are power terminals which we'll see in the next step.
Step 3: Where to Supply Power
Note: The LED will blink blue when the device is on until you upload a new code to the Beetle, then it will not turn on anymore unless you write digital 13 high.
Important Note: Don't mix up your hot and ground when wiring, your Beetle will get very hot and possibly melt components!
Step 4: Bluetooth HC-06
The great thing about this module is that it can also be powered with the same 3.7V LiPo battery by hooking it up in parrelel with the Beetle circuit.
Another great thing about this module is that it is cheaply priced, about $5. Many websites sell them, but here is an example ( http://gearbest.com/sensors/pp_241478.html?currency=USD&gclid=COKyiaqNnswCFQwxaQod15UFRA)
Note: The default pairing code for these modules is 1234.
Step 5: Powering Beetle and Bluetooth
Under the Beetle, as seen in step 1, there are soldering spots for RX and TX output. The RX lead of your Bluetooth will attach to the TX lead of your Beetle, and the TX of the Bluetooth will attach to the RX of the Beetle.
When the Bluetooth module is powered on, you will want to pair it with your computer by opening up your Bluetooth settings and selecting pair with HC-06 and entering the pair code 1234. This will create a virtual COM port and allow communication to and from the device.
Step 6: Uploading Your Code
In order for the RX and TX ports to work properly on the Beetle, you'll need to bring up the internal resistance of pin 0 (the RX line). To do this, you'll use:
pinMode(0, INPUT_PULLUP);
and just to be on the safe side, I dedicated channel 1 (TX) as an output:
pinMode(1, OUTPUT);
After a bit more searching, I also found out that Arduino Leonardo uses Serial1 instead of Serial. This is important to get the Bluetooth working properly. If you are streaming serial data over a USB line, just use Serial command. Otherwise the HC-06 needs Serial1 when using the Beetle. Use this anywhere you'd use Serial, including Serial.println.
So I have the Beetle programmed to read the analog 0 channel and print the results. The code in the picture is all that is needed to do that, but please feel free to modify it in any way that seems fit.
Plug in your micro USB to the Beetle and select Arduino Leonardo from your board type and port on the Arduino IDE. Don't try and upload code via Bluetooth - it will not work. You must plug in your Beetle when uploading or changing code.
Step 7: Final Results
It isn't pretty, but this little project is something I am playing around with, and it is smaller than a pack of Juicy Fruit. Thumping the piezoelectric plate will read a voltage, and send that response wirelessly via Bluetooth to my Bluetooth enabled computer where I can plot it via serial plotter or LabVIEW. Added a switch to save battery power.
Note: Yes, you can pair multiple HC-06's and Beetles to your Bluetooth enabled computer and make multiple Beetle sensors. I've made three so far and each of them independently report data to the computer through three COM ports. You'll want to make sure you select the appropriate COM ports on the Arduino IDE to display your Bluetooth data (this is not the port labeled Arduino Leonardo.) Check device manager to locate the correct incoming and outgoing COM ports for your Bluetooth device.
This Beetle could be used as one of the smallest data acquisition devices, motion alarms, wireless monitoring of soil moisture and temperature, or even control some LEDs for a wearable project that's smaller than the Arduino Lilypad. The only limitation is your imagination.
This is my first Instructable, and I wanted to share this information because it would have been a lot of help to me a while back and I hope it can help someone else minimize their projects easily without wasting time scratching their heads.
Questions and comments are greatly appreciated!