Let's Make Robots!

ATtiny Bitsy Spider

Combines an ATtiny 85 and HM-10 (BLE)
AttachmentSize
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.

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

did not meand to repeat

Hi, 

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

 

regards

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 :)

My apologies.  This is two mistakes I've made this week.  I'll update this real quick.

But to be clear and thought out, the passives should be as follows.

  • 3 x 0402 10k
  • 1 x 0402 20k
  • 2 x 0402 1uF
  • 1 x 0603 LED

The 20k passive goes on the voltage divider (really, either will work, but the 20k provides a 3.3v shift, and the 10k will provide a 2.5v.  The HM1-0 responds to either).

As always, I'm a hack.  My mistakes are garanteed.  But if you PM your address, I'll send you the missing passives (2 x 1uF 0402 and 1 x 10k 0402 resistor?)

I got to wondering about projects like this. How do you test the circuit without breadboarding it? Do you just forgo that part of the process and trust that the ratsnest will accurately render the schematic? Do you actually peg down a through-hole version first? Do you use one of those SMD to through hole conversion holders?
I don't do much bread boarding. It's like playing blind chess, more thinking less moving. Though, I have printed out a few breadboardable PCBs for most of the components I work with. They are pretty cheap, for example, a SOT-23-5 breadboardable PCB from OSH is like $.40 for 3. I think it's easier not being my profession, cause when I get a board in that is totally jacked-up, I'm not surprised; I know I suck. I simply correct the issue and send off for it again. And try to get my wife to believe the "OSHPark" entries on our debit account are payments for my porn addiction.

Looks great! Hope you don't find any more mistakes, just placed an order for three! :)

Thanks for all your hard work and I'll try to keep you updated on my little project as it progresses.

If I do I'll send you a couple of the next revision when printed.