After spending some time on hardware- and software development I finally finished a first working prototype of an Arduino Bluetooth Low Energy Shield. A detailed story about the shield shown below can be found in the Hardware Section or directly using this link: http://www.mkroll.mobi/?page_id=386

Read what others are writing about the BLE Shield:
http://blog.makezine.com/2012/03/19/bluetooth-4-0-from-arduino-to-iphone-no-jailbreaking-no-mfi/
http://transalchemy.com/2012/03/19/bluetooth-4-0-from-arduino-to-iphone-no-jailbreaking-no-mfi/
http://houseofmods.com/2012/03/bluetooth-4-0-from-arduino-to-iphone-no-jailbreaking-no-mfi/
http://high-technology.info/bluetooth-4-0-from-arduino-to-iphone-no-jailbreaking-no-mfi/
http://pricegadgetreviews.com/bluetooth-4-0-from-arduino-to-iphone-no-jailbreaking-no-mfi/
http://www.itclips.net/2012/03/20/bluetooth-4-0-from-arduino-to-iphone-no-jailbreaking-no-mfi/
http://dev.squarecows.com/2012/03/19/bluetooth-4-0-from-arduino-to-iphone-no-jailbreaking-no-mfi/
https://plus.google.com/112403562981201111940/posts/JYfA8gKXyYN
Open the preorder survey in a popup by clicking on the Octopus:
The Octopus Web-Plugin needs a Flash Player to work properly. Please fill out the 4 short questions about how many shields you are interested in and your name E-Mail and country so we can make a better estimate on how many shields we need to create.
Thank you very much!




This is super cool!
Definitely interested & eager to try one of the revision B prototypes. Sign me up, please!
Been trying to connect Arduinos to iOS for a while, created a sort of convoluted way (but it works!) that connects back to the computer via bonjour & tcp. BLE would be much better!
Let me know if I can help, I’m good at ObjC and building robots. ^_^
You’re very welcome. I already changed the PCB to 0.9.1 where I fixed the design fault with a missing GND line on the power regulator. I’ll test a little bit with iBLE and create a more sophisticated demo hardware setup and will then go over to create a v1.0 board. Thanks for your interest.
Cheers,
Michael.
Where do you read about the BLE Shield?
Cheers,
Michael.
Found out here https://plus.google.com/112403562981201111940/posts/JYfA8gKXyYN
So if I understand correctly you don’t have to be a certified Apple accessory developer. Is this because of the BT module you are using? Also, what are the limitations of low power bluetooth? Thanks, interested in getting one myself.
Yes, that’s correct. Since the BLE Shield is using a Bluetooth 4.0 / Bluetooth Low Energy Module, there is no need to be MFi licensee to connect it to an iPhone4s or the new iPad. BLE is not intended for streaming, but sensor data. Streaming data stored on a SD card or even a HDD would not be the goal of BLE. sending and reading small amounts of data such a temperaure data, an RFID Tag UID or a Youstick would be fine. I think there are lot of introductions on Youtube showing you what BLE is intended for.
Cheers,
michael
When will these be available for purchase? I’d like to have one overnighted as soon as possible
Hi Matthew,
It is planned for shipping by the end of April though an online shop which will be integrated directly into my Blog. In the meantime I have setup a small ‘preorder’ surveyjust to get an impression on how many people are interested in the shield. Please participate and leave your email, so I can contact all people who are interested once they are available.
Cheers,
Michael
That’s exciting news!
I’ve done some experiments with connecting iOS devices via embedded WiFi modules, but it’s kind of an overkill for most applications and not very user friendly. Connecting devices over BLE would be so much easier.
I’d be also interested to try one of these boards
Hello,
I will set a preorder page over this weekend, in order to get a better estimate how many people are interested in a BLE Shield so I can arrange an initial production run for them.
Thanks,
Michael.
Yes please!
Me interested too!!!!
I cannot find the preorder page. Did you put it up already?
Great project, thanks
Michele
It’s setup now, and I can see you already participated
Thanks!
Hello,
I just setup an octopus preorder survey so I can count how many people are interested in the shield. The more preorders I will count, the cheaper the final shield will be offered
Thanks,
Michael.
Hi Michael,
I love it!
I am very interested in trying one of the revision B prototypes.
I would use it to read the values of 2 sensors that I currently use a Hope RF transceiver.
Can’t wait to get my hands on this shield.
Regards
Bob
Great work, that board looks super professional. I’m already using TI’s CC2540 development kit (same chip as your module), but I’ve essentially hacked the kit’s keyfob so the setup is too unrealiable with wires all over the place. I also don’t have access to all the GPIO pins.
The BLE112 module and good SMD soldering skills is the way to go! I’ve now registered my interest for two of your shields.
Also interesting coincidence that you’ve worked with DICOM and brainwaves for your research articles. I’m analysing brain DTI (Diffusion Tensor MRI) myself in my “day job”.
Can’t wait for more updates!
Hello,
I would like to know this (connect the 2540 keyfob to the arduino..-waspmote in mi case-).. could you give me some guides please?
Thanks in advance.
Sorry, but I have no idea.
Hello Michael,
I try to do something like that without using Arduino. Im’ trying to connect to a BLE112 module mounted on a small PCB and as you made try to see it on Serial Monitor like your CoolTerm.
Why do write in your Arduino sketch :
bleShield.write(0x4D);
bleShield.write(0x2A);
bleShield.write(0×10);
bleShield.write(0×20);
And how did you configured the hardware.xml in your BLE project ?
(I think you can’t send me your BLE112 project right ?)
Thanks in advance,
Cheers
Julian
Hi Julian,
this is how data is send from Arduino to the BLE Shield which is connected to pin 2/3 using SoftwareSerial.
No at this time I’m not planning to release the BLE112 project files. I’ll provide them once the Shield is released including the Schematic and Board files as well. The plan is to release it as Open Hardware including all necessary files to create it from scratch.
Furthermore I’m very interested in getting feedback and tips on how to make it even better.
Cheers,
Michael.
All right, thanks Michael
a last question, do these values have a particular meaning ?
0x4D
0x2A
0×10
0×20
Cheers,
Julian
Great job
At University we are looking into wireless health monitoring and mobile phones (Android based ones). We are already using the Arduinos and Bluetooth. Being able to add BLE with a shield will be really good.
cheers,
Patrick.
Cool, I wish I found this before I got my DevKit.
Anyway, I’m new and still playing with it.
I’m trying to simulate SPP profile in BLE like what you did.
Looking at your GATT profile from http://www.mkroll.mobi/?page_id=386,
did you code BGScript to make the GATT works?
Thanks!
MikeL
Yes the Shield’s GATT was written using BGScript.
Cheers,
Michael.
Thank you Michael.
Is your BGScript code is for sharing?
I’m very interest to know how you do it.
I need to send 140 bytes of string to my arduino to display it.
From this forum, it seems it’s not easy. http://e2e.ti.com/support/low_power_rf/f/538/t/105150.aspx
Cheers,
Mikel
Hi Mikel,
you have to send the140 characters in chunks of 20 bytes. Currently the BGScript which is used in the BLE Shield is not yet available.
Cheers,
Michael.
Got it. Before I can even do 140 chars, I need to find a way to send 20 bytes. If you open your BGScript, please let me know. Thank you!
I’m really excited about this work. Hopes the preorder come soon, I was really looking for something like this!
Great project!
I’m curious:
* Do you have any plans to publish the objective c and BGscript source code, together with the Arduino source code?
* You mention a notification interval of 4 seconds… What dictates the upper bound for the notification rate? (I understand that BTLE is meant for very low data rates, and am wondering what sort of upper limits Apple, BlueGiga and the BTLE standard may have put in place…)
Anyway, thanks for the inspiration!
Thank you.
No no, this in not the upper limit! I picked this interval randomly.
The Arduino code sample just sends 4 bytes every second to the BLE Shield, and the Shields then notifies the iPhone after 4 seconds since the 16 byte buffer is full.
I’m planning to release the BGScript code as well as rhe schematics and make the whole project open (software and hardware).
I’m still working on getting real offers from some assemblers here in switzerland, to produce a Swiss-Made hardware
I’ll update my blog as soon as I have these offers, and will tell all people who filled out the preorder survey the final retail price.
Cheers,
Michael.
Awesome! It’s just what I need.
Please make it happen
Thanks so much!
Michael,
I’m testing on BGScript. I can send data using UART, TX(P0_4).
But I couldn’t received data RX(P0_5).
Even I monitor the event:
event system_endpoint_rx(endpoint ,datalen, mydata)
call attributes_write(xgatt_va1ue1, 0, 3, “ABC”)
end
Can you shed some light?
Hi Mikel,
in one of my initial approaches I used the following call:
event system_endpoint_rx(endpoint, data_len, data_data)
call attributes_write(xgatt_rx, 0, data_len, data_data(0:data_len))
end
Hardware.xml
Using this approach, there is no flow control and the system endpoint rx might be called after the first bytes, or call for each byte received.
There is not means to wait until you send e.g. “Hello World\n”. completely. system endpoint rx is not called after \n, but can be called wherever
This is why I’m using this internal buffer.
Cheets,
Michael.
Thanks Michael. But it can’t even receive the 1st byte. It seems like it’s never being called.
Because If it is ever received the first byte, attribute xgatt_value1 should become ABC.
event system_endpoint_rx(endpoint ,datalen, mydata)
call attributes_write(xgatt_value2, 0, 3, “ABC”)
end
This is my hardware.xml:
[usart channel=”1″ alternate=”1″ baud=”9600″ endpoint=”uart1″ flow=”false”/>
Not sure what went wrong :-\
Any clue? DId you face this problem before?
You are sending from an iPhone or BLED connected to a Windows machine? Are you using a BLE module where the uart is connected to or an eval board of blue giga? Tell me about your hardware setup!
I’m using BLE112 Eval Board + BLED(USB) + windows 7. Connected to Arduino over UART interface. TX (P0_4) and and RX (P0_5).
I use BLEGUI to send data and successfully received by Arduino.
But when Arduino send data, BLE board never receive the data.
I have the same problem: I can send data on system_endpoint_uart1 just fine, but I can’t seem to receive anything.
I have the same setup in hardware.xml (I have also tried other baud rates and connecting to endpoint ‘none’ instead – and even tried using uart0, alternative 2 on ports P1_5 and P1_4) but nothing helps. I also set an attribute in the system_endpoint_rx event and I have created an iPhone app that connects and reads the value of the attribute in question – but it never gets changed.
I’ve verified that the data is being sent in the correct format and baud rate by using an oscilloscope and logic analyzer connected to the pins of the BLE112 module. But the system_endpoint_rx event handler doesn’t get called…
Frustrating…
Hi,
I will share the project files for the BLE Module and the eagle schematics of the shield soon. I’d love to get comments on the source and hope to make it even better with the help of the community.
Best,
Michael
Hi! Any update on when it will become available?
Thanks so much!
I’m still looking for a good source to get the shield produced. I will post an update on the availability and pricing in the first week of may. I already have a list of people who are interested in a shield due to the octopus survey. Two shields are already out for beta testing the hard- and firmware. I would like the testers to play a little bit with them and add their feedback to make some final adjustments.
Awesome!
Thank you very much for your hard work!
Looking forward for the update
Are the schematics available? I have a number of assistive technology applications for this and would love to print and build my own boards. I already ordered the modules.
i actually did a lot of research for a project i’m planning that involved sending serial data between device and mobile phone. this one seems to be the perfect solution i’ve been looking for for weeks now.
is there a way to purchase a beta version of the board or get the board files? please let me know.
Thanks.
Michael very nice and I just saw your TOD sensor. We are trying to put together a staff tracking solution where we can identify with extremely good accuracy the location of staff members. We are using time as one of the real time elements to identify the tag at an accuracy level of less than 3 meters. Given the cost of your beacon and the ability to view data possibly on iPhone I would be very interested in discussing the opportunity with you. We are a startup so not much is on our website but I would be happy to share more with you by mail if you are interested?
Mike MacMillan
Hi Mike,
TOD is not mine. It’s an idea of Jon an Don in the US. I just helped to do the proof of concept. I like the idea as well and there will be demand for such kind of solution. I’ll send you an email, where we can discuss your questions.
Cheers,
Michael.
Hi Michael,
I’m coming at this from the iOS side, working on a new development system for building iOS apps. I’d like to include support for CoreBluetooth and BT4.0 but for testing a variety of sensors I’d like to go through a general purpose hardware interface like an Arduino.
At first I couldn’t find anything so I started looking at the TI CC2540, the Bluewave BLE112, and the Nordic nRF8001 development kits. I’m more of a software guy and not quite at the ‘design and build my own shield’ level when it comes to hardware. Then I came across your post and it looked like it might be the best solution.
I’ve already put myself down in your survey and am a TOD backer (yes, I’m covering all bases
Curious when you think your shield might be available? I’m going to be at WWDC in June and was hoping to be able to show something working by then. Also, happy to beta test.
Thanks,
Ramin
Hi Michael
Ich finde die Idee mit dem BLE Shield klasse, und eventuell die Loesung fuer unser Problem hier:
Der Link auf der Projektseite (kickstarter) hatte uns zu deinem Blog zu dem Artikel über BLE in Verbindung mit Apple Geräten geführt und wir dachten uns, dass eventuell mit dem neuem Bluetooth 4.0 wir ein für uns derzeit bestehendes Problem lösen können. Da du ein Experte auf dem Gebiet zu sein scheinst, wollte ich dich fragen ob du uns eventuell einen Ratschlag geben könnten bzw. aber sich auch vorstellen könntest mit uns zu kooperieren.
Wir stellen Bluetooth Videospiel Kontroller für Android und iOS her. Momentan entwickeln wir ein neues mobiles Gamepad, für welches bis dato der Einsatz des BT 2.1 Modul von Roving Networks RN-42 geplant war, weil jener sowohl das HID als auch SPP Profil unterstützt (beide werden benötigt). BLE wäre für uns insoweit interessant, weil wir so anstatt mit HID scheinbar richtige Datenpakete ans iPhone senden könnten und das Ganze ohne dass wir Mitglied bei Apple’s MFI Programm sein müssten.
Wäre dies deiner Meinung nach durchführbar? Wir sind leider auf dem Feld der Bluetooth Technologie relativ unerfahren.
Unser jetziger Kontroller verkauft sich bereits sehr gut und wir sind fest überzeugt, dass der kommende einen noch höheren Absatz erzielen wird.
Ich bedanke mich im Voraus und warte auf deine Antwort.
Freundliche Grüße
Alexander Moroz
Chief Technology Officer
Phonejoy Solutions Ltd.
Rm 1801, 18/F Wing On Central Building, 26 Des Voeux Rd. C., Central,
Hong Kong
Contact: alex@phonejoy.us
Web: http://www.phonejoy.us
Michael,
I’m working on a aviation related project using Arduino as a prototype. I think BLE is the best way to connect a Arduino based hardware “dongle” to an iOS device, and would like to discuss if the application I’m working on is suitable for BLE. Can we discuss via email?
Great work, I love it!
Fly safe,
Chris
Michael,
I tried to send 20 chars and it was truncated or not complete.
Do you have this issue and how did you solve it?
Do you use the CTS and RTS pins?
Thank you
Yes I had the same issue here. That’s why I’m using the internal buffer to wait until the buffer is filled completely before sending the data. No I’m not using RTS/CTS since the Arduino Serial Port is RX/TX only. I was thinking of using an SPI < -> UART converter to provide a full UART and attach the BLE112 usind SPI.
Hi Michael,
I’m trying to connect the ble112 by SPI but there is not enough information about that in the datasheet. Did you were able to do something about that(SPI)? Please If you could give me some guide lines.
Thanks!!
Hi Abel,
no sorry I have not yet tried to attach an SPI device to the BLE112 and programmed it successfully.
Maybe a better place for discussion these kind of issues is the forum which is available at: http://forum.mkroll.mobi
Thanks,
Michael.
Amazing! Is there an update regarding the shield. I like to order 3
Are you planning to make the BLE profile used by the BLE112 module configurable? That would make the shield *very* useful for prototyping.
Maybe you can explain your plans a little more in detail. I want to make the Schematics and BGScript of the shield open source this weekend
Michael,
any progress on open sourcing it. I can’t wait….
Also do you know when you’ll start selling them?
Thanks,
MIchele
Please open source the schematics and BGScript as soon as possible!
I would love to get started on a prototype I’m building and I have checked you blog every day since your last comment about releasing it last weekend…
The Schematics, Board and Firmware files are now available.
Are you planning to sell the shield soon? Where can I find the Schematics, Board and Firmware files?
Thanks so much!
Selling the Shield is still in the works. That’s why I wanted to give the Schematics and firmware away before. You can find them here: http://www.mkroll.mobi/?p=517
Looking forward to order one. I’m wondering, if Apple allows an App to wake up from Background when the Bluetooth Shield is in reach.
Nice work! We at IDEO were inspired, and just developed a similar board, Bluetooth 4.0 iOS.
http://labs.ideo.com/2012/07/02/bluetooth-4-0-as-a-prototyping-tool/