For the past year or so, my BLEduino laid dormant in the cupboard. Yesterday, I decided to break it out for a new project. While I used Arduino 1.0.x for the BLEduino previously, I now have Arduino 1.6. Unfortunately, I discovered that BLEduino isn’t compatible with it – The hardware core files were for 1.0.x only. I tried to use 1.0.6 on my Mac OS X 10.11, but every time I tried uploading a sketch, the following error occurs:
processing.app.SerialException: Error touching serial port '/dev/tty.usbmodem1421'. at processing.app.Serial.touchPort(Serial.java:123) at processing.app.debug.AvrdudeUploader.uploadViaBootloader(AvrdudeUploader.java:203) at processing.app.debug.AvrdudeUploader.uploadUsingPreferences(AvrdudeUploader.java:67) at processing.app.Sketch.upload(Sketch.java:1666) at processing.app.Sketch.exportApplet(Sketch.java:1622) at processing.app.Sketch.exportApplet(Sketch.java:1594) at processing.app.Editor$DefaultExportHandler.run(Editor.java:2382) at java.lang.Thread.run(Thread.java:695) Caused by: gnu.io.UnsupportedCommOperationException: Invalid Parameter at gnu.io.RXTXPort.setSerialPortParams(RXTXPort.java:171) at processing.app.Serial.touchPort(Serial.java:113) ... 7 more
A search on the internet seems to indicated that this was a bug in the Arduino IDE, fixed in 1.5 later versions. I decided the only way to resolve this issue is if I port the hardware core files from 1.0 to 1.6. Luckily enough, Arduino wiki provides a handy migration guide. Within half an hour, I got BLEduino working on Arduino 1.6. I’ve posted my changes on GitHub, for anybody interested: BLEduino Arduino 1.6 hardware files. Hopefully, someone finds this useful.