Let's Make Robots!

ATtiny Bitsy Spider

Combines an ATtiny 85 and HM-10 (BLE)
ATtiny_85__Serial_talking_to_HM_10_v4.zip599 bytes

UPDATE: Added BOM corrections. (Sorry for floating.)

Ok. Here's a finished board I've been working on for a bit.

In essence, it is a BLE node board.  It combines an HM-10 board with an ATtiny 85.  This board builds off:

  1. Bluetooth 4.0 (HM-10) 
  2. ATtiny 85

The idea of the Bitsy Spider board is diminutive controller node.  I wanted it to be cheap and versatile enough to use as a node, but I think the final price is around $11 each.

Here's the ole GitHub:

The BOM:

  1. OSHPark Board: $1.68 each ($5.05 minimum).
  2. 1 x 20k Resistor -- 0402: $.04
  3. 3 x 10k Resistor -- 0402: $.04
  4. 2 x 1uF 0402 $.20
  5. 3 x BSS138: $.60
  6. 1 x ATtiny 85 -- SOIC: $.80
  7. 1 x HM-10: $6.50
  8. 1 x 0603 LED $.11
  9. 1 x 3.3V LDO 300mA -- SOT-23-5 - Voltage Regulator: $.58

Total (approximate): $10.55


There are lots of solder-jumpers on this board, given it is meant to be versatile.  

Here is the programming pinout to use an Arduino as ISP


The board is intended to harness the serial connection of the HM-10.  In this version I made it straight forward, you leave the jumpers between the RX/TX line of the HM-10 and the ATtiny unsoldered, program the ATtiny as many times as you like.  To test your serial connection between the ATtiny and the HM-10 simply breadboard the PCB and put jumpers like so:

PB0 <---> TX

 PB1 <---> RX

This will allow you to test your code, without having to solder and unsolder.  Then, after your code is perfectish, solder the jumpers marked "PB1 & HM10 RX" and "PB0 & HM10 TX," then embed the Bitsy Spider.










This is an option that'll probably continue throughout different versions of the board.  I ran the GND connection of the ATtiny through a N-Chan MOSFET, and tied the gate of the FET to the PIO1.  The PIO1 pin of the HM-10's function is for a Connection Status LED.  But one of the options one can set on the HM-10 is for the PIO1 to stay low unless the HM-10 has a connection.  This can be set on the HM-10 when it's in AT mode by typing:

  1. Type: AT+PIO11
  2. Response: OK+PIO11

When done, the ATtiny 85 will only power-up if the HM-10 has a connection.  Of course, the solder-jumper is meant to bypass this feature.










The last solder jumper controls the HM-10's reset.  If soldered, the ATtiny 85 can reset the HM-10 by sending PB4 high for ~100mS.  I added this as I hope to create a star-network with the ATtiny Bitsy Spider.  

Here's a summary explanation; the HM-10 has a time out feature after it losses connection from one HM-10 that prevents it from connecting to another for approximately 10 seconds.  So far, there is no option to bypass this "lost connection" time-out.  But resetting the HM-10 (<150mS power-cycle) bypasses this time-out.  I'll update more on this setup when I've completely tested it.  If there are questions, I've written a lot in the comments of my original HM-10 post.  But also feel fre to contact me.














One last thing I should mention.  

I expect one major mistake and two minors on the first run of every board I send off.  This board is no exception.  I forgot the decoupling capacitors on the voltage regulator and the HM-10.  I've added them on the v.02 board.  Of course, this shouldn't be a major flaw, but with a capacitor on the voltage regulator it causes it to spit out 3.6v instead of 3.3v.  Major problem.  I saved this set of boards by soldering a 0402 1uF between the legs of the SOT-23-5 regulator.  Not fancy, but saved $5.


Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Your board / idea seems to be pretty unique.  I have not been able to find any a product that combines the ATtiny85 + HM-10 onto a single board/shield.

The current options available are the BLEduino and the RFduino, but they don't use the ATtiny85 processor so they are an overkill If you’re just blinking a few LEDs or reading a single sensor.

The Digispark board uses an ATtiny85 processor, but it doesn't support/include Bluetooth yet.

Therefore, I think you will be able to raise funds with a Kickstarter campaign to produce your board commercially.  Maybe you can partner with Sparkfun or SeedStudio to produce and sell your ATtiny Bitsy Spider board.  Even the name is already cool.  Cheers!

That is kind.  But I'm afraid that would find me neatly in the middle of a lawsuit. :)

Another bit of me doesn't want to see yet another Arduino spin being pushed on Kickstarter. 

Do you have a project that could use the little board?  I still have it in the works to finish, but working on this project right now.

Hey Ladvien,  I just ran across this and it has been extremely helpful reading though it all, great work.  I am wanting to do the same thing myself.  Have you had a chance to work on this any more?  Back in March there were some problems with the HM-10 and ATtiny ON combo, is this still the case?  

I have been wanting to shrink a current project and think that the ATtiny85 would be prefect.  I was only worried about the 8 Kbytes of flash on the tiny.  I am waiting for my HM-10's to arrive so I haven't been able to play with them yet, do you know how much of the 8 Kbytes it takes to interface with the HM-10? Are your boards still available to purchase?  Thank for your response and time working on this.

Hello Mr. Rusty,

I stopped working on the ABS after some complaints; I'm thinking about remaking it now, though.  I need a fancy correction for the ATtiny off while the HM-10 is connected.  I've got some ideas.

Also, I'm thinking of using the HM-11 instead of the HM-10, since it is half the size and is exactly the same, minus all the IO pins (there are only two).

As for how many bytes it takes to control the HM-10, just a few.  What takes the most is SoftwareSerial.  I think without any other code, SoftwareSerial takes around 1k, leaving you with 7k to write a program.  Very doable.

If you're interested, I'll start a revision.  Just don't get mad at me if it doesn't work right away. :)

You're welcome to Skype me with requests, thoughts, etc.: thomas_ladvien

I have been reading through the HM-10 datasheet, well a couple different versions of it at least.  I am familiar with Atmel chips and therefore wanted to start working with the ATtiny85 because of that reason.  I didn't need all the IO's on the larger chips and I wanted to make a current project as small as possible.  

I am thinking that I just might have to learn how to control all the IO's on the TI CC2541, but that seems like a daunting task for someone with my limited software expirience, haha.  If that was the case, maybe I don't even need an Atmel chip.  Either way, I would be VERY interested an HM-11 version of ABS and would be willing to assist any way that I can.  I can think of so many other applications for this exact type of combo and I understand that hickups are always expected with new designs.  Thank you again, Jared

Can you make the eagle files available for this board please. 

did not meand to repeat


Can you share the eagle files for this board? I want to do something simillar but with a couple of minor modifications / additions



Hey, umarsear. 

I'll release a final version of this board, but right now the board is defective.  The mosfet tied to the CONN status pin, which controls the mosfet if enabled by solder-jumper, has a reverse sink (maybe?) current that kills the pin.  I lost the CONN status pin on the HM-10 board I had.

In short, please don't use this version with the CONN / ATtiny85 On combo enabled.  It will kill your HM-10's PIO11 pin.

That said, here are the files :)

I feel like a fool for having made this mistake, but to prevent anyone else from doing likewise, the BOM as it's currently listed is incorrect. It's missing 2 x 10k resistors, 2 x 1uF capacitors, 1 x LED and the corresponding resistor. In addition, it has 2 x 20k resistors listed which as far as I can tell, aren't used.

If you just look at the EAGLE schematic, you'll be fine, but I wasn't thinking and ordered just what's listed above in the BOM. I'll try to edit this should it be fixed.

The corrections have been made to the BOM at the top of this post and in the Eagle files on Github.

Here is the resistor which should be 20k.

Again, my apologies :)