I was one of the first who got their PunchThrough Bean, a small inexpensive Arduino which can be programmed through Bluetooth. Only problem was, there was no way to do that from Windows because the official tools only support MacOS so far. A Windows port was promised for September but even now, 3 months later it is not sure when this will finally land.


So I looked through the forums and found some bits and pieces here and there that helped me put it all together. Here is the step-by-step guide to get it working.


Build a wired connection


The Bluetooth protocol used for programming the Bean is proprietary and not documented so the first thing you need to do is get an AVR programmer and connect it to your device.

I used a USBASP programmer because it was really cheap. I got this one on ebay but any should work. Once you have that you need to install the drivers as described on the official USBASP page.

  1. USBASP device
  2. Drivers


The next step is to wire the usbasp cable to the Bean. This thread has everything you need to do that: http://beantalk.punchthrough.com/t/bean-loader-options-for-windows-users/48/9 but I found it a little difficult to know which pins to connect where.


The Bean board. You need to connect all the PURPLE pins + GND to the respective pins on the USBASP plug


The plug coming from the USBASP programmer



Depending on the cable you have going to your usbasp, refer to the 6 or 10 pin layout and connect all the pins to the respective (PURPLE in the image) pins on the Bean.


Pins for the programmer seen on the right
Pins for the programmer seen on the right
The wiring to the pins for the programmer. Not pretty but it works.
The wiring to the pins for the programmer. Not pretty but it works.
bean and programmer
usbasp connected to the bean for programming



Connect the programmer


You should now be good to go with the programmer and need to install the arduino software. The arduino software comes with avrdude.exe which we will use to test the connection.

  1. Get arduino environment version 1.0.6
  2. In your installation folder find avrdude.exe (arduino-1.0.6\hardware\tools\avr\bin\avrdude.exe)
  3. Connect the usbasp to your Bean and to the usb of your computer
  4. Run “avrdude -c usbasp -p m328p”


Avrdude should show an output like this:

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.02s

avrdude: Device signature = 0x1e950f

avrdude: safemode: Fuses OK

avrdude done. Thank you.


This means your connection is working. You can now proceed to programming.

As stated in the original thread you need to get the LightBlue package to be able to program your Bean. Extract the hardware and examples folders into the same folders in your arduino environment.


Communicate with your Bean


As a final step, have a look at the BeanExplorer universal store app that I have started writing:


At the moment it is fairly limited but it allows you to communicate with the Bean over Bluetooth, send and received serial communication data. I intend to get it to a state where it is similar to the official app although it would also be cool to make it into a prototyping tool with more options for controlling the bean, like sending files or other data.


If you know your way around c#and would like to contribute to the code, drop me a line.



One thought on “How I dusted off my PunchThrough Bean and got it working under Windows

  1. Daniel

    when installing the USBasp driver, make sure you used a signed version of the driver. Protostack have one here http://www.protostack.com/index.php?main_page=library but their might be others that also work.

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.