Suggested Development Tools for Mac

Status
Not open for further replies.

Hankel

New member
Anyone have a preference for a non-arduino development environment on Mac? I just got a Teensy3.0 and am wanting to get started.

-Matt
 
Hi!

I've developed embedXcode, a template for Xcode that supports
  • Arduino 23 and 1.0,
  • chipKIT,
  • TI LaunchPad and FraunchPad,
  • Leaflabs Maple
  • and Wiring boards.
1551017.png

Arduino Due with 1.5, TI StellarPad and Teensy 3.0 are currently on the pipe. Building and linking already work, I only need to wait for the boards to test uploading.

Documentation is here and download there.

Stay tuned ;)
 
The Xcode plugin should be pretty awesome. :)

For a very "minimal" experience, use the makefile. Control-click on Arduino and choose "show package contents". The makefile is in Contents/Resources/Java/hardware/teensy/cores/teensy3. Documentation is in the makefile's comments.
 
Has anybody (apart from Avenue33 that is) used embedXcode?
If so, I would appreciate learning how you have got on and whether or not it lived up to your expectations.

Thanks for your help.
 
Has anybody (apart from Avenue33 that is) used embedXcode?
If so, I would appreciate learning how you have got on and whether or not it lived up to your expectations.

Thanks for your help.

I just started using it (Teensy 3.0) myself and its pretty nice so far though it had taken me a day to get it to compile test sketch. For some reason it will fail to compile with the default libraries that come with arduino 1.05. I didn't install ay extra libraries from the teensdunio application. I had to delete all the libraries to get it compile then add my libraries one by one. Some of them required some tweaks but I'm pretty new to this so its probably me doing something not right. The only real compliant i have so far is the compile time (build) is a lot slower than with the compiling with the arduino IDE. But so far its nice to have everything in one place with code completion and such.
 
Hi Headroom,

Your instructions seemed well written, so I thought I would try Eclipse. Unfortunately, it has not been a happy experience:
1. I downloaded the 64-bit version of Eclipse (because OS X Lion is 64-bit) and then discovered Jantje recommends the 32-bit version in his FAQ.
2. You state download the Teensy Extension File. I am only interested in Teensy 3, so I thought I would need Teensyduino?
3. I installed the TEF anyway, but got compiler file not found errors when I tried to compile a sketch.
4. I experienced the Mac upload problem which Teensyduino 1.16 fixes. Unfortunately, Teensyduino1.16 only works with Arduino up to 1.0.5.
5. I objected to the spyware behaviour of the Eclipse Arduino Plugin and was unwilling to install it for that reason.

Oh well, I will have to investigate embedXcode. I just have a bad feeling that is going to be another time sink.
 
Yes, you should use the 32bit version of Eclipse Juno. Please Don't use Kepler! I'll add that to the instructions tonight.
Also use Arduino 1.5.2 beta and not the newest 1.5.4 beta.
If you download the Teensy Extension File you don't need Teensyduino as the Extension file covers that.
Even though I know that Jantje may not like that I can add inductions of what needs to be done in case you don't want to download the extension file and only work with Teensyduino.

What are your talking about with Spyware behavior of the Plugin ?
During beta testing I've installed it dozens of times and I've not detected anything in respect to Spyware behavior.

I would also very much appreciate it if you'd leave a comment on the blog when you encounter problems. This will allow me to respond on the blog and this will help other users as well.
 
Last edited:
It doesn't seem right to have to use an (obsolete) unsupported beta of Arduino.
Does the Teensy Extension File fix the Mac upload problem? If not, it is unusable for me.
Teensyduino 1.16 does fix the Mac upload problem, but will it work with Arduino later than 1.0.5?

The plugin states it is going to collect usage data and send it to a server. You cannot opt out other than not install the software.
How do you know what data it is collecting? To me, that is spyware.
 
No, the extension file does not yet fix the upload problem, which BTW I have only rarely observed and I've programmed the teensy many times. I'll discuss with Jantje how we address that as I really don't like the Extension file myself.
But then all the info from the Extension file is contained in Teensyduino. As Teensyduino comes in form of an Installer you'd have to install Arduino 1.0.5 ( or whatever is current now) and then run the Teensyduino Installer to be able to get to these files though.

Honestly, I've never seen a message that indicates data will be sent to a server. If so it is likely Eclipse specific and not Plugin related. I doubt Jantje has the resources to collect and analyze that sort of data. As such I think this is Eclipse behavior can be turned off somewhere.

Also, thanks for the feedback!

Please PM me a screenshot where this occurs and Ill investigate.
 
Last edited:
It doesn't seem right to have to use an (obsolete) unsupported beta of Arduino.

I don't understand. What do you mean by "an (obsolete) unsupported beta"?

Arduino 1.0.5 is the latest non-beta version of the Arduino software. Version 1.5.4 is clearly labeled as beta, according to Arduino's website.


Teensyduino 1.16 does fix the Mac upload problem, but will it work with Arduino later than 1.0.5?

Future versions will add support for Arduino 1.5.X.

Just to keep things in perspective, the latest 1.5.4 version was released only 1 week ago (and the Windows version re-released due to a serious bug), and 1.5.3 was released 21 days ago (with important changes to the 3rd party APIs), after several months (since February) with no releases since 1.5.2. Until recently, I've considered 1.5.X a "moving target", especially with the substantial changes to the 3rd party APIs. It is still "beta" for some good reasons.

There's little advantage to using 1.5.X, at least for Teensy. Most of the new features that are now appearing, which would be useful with Teensy, have been in Teensyduino for a very long time. Some are even now becoming part of Arduino proper because I contributed them. You'll see my name mentioned in a few places on Arduino's release notes, and several of the others not directly credited to me are things I've contributed to in various indirect ways.

Still, as 1.5.X matures, I do recognize it's inconvenient to keep 2 copies of Arduino on your computer. I do intend to support 1.5.X. But it's a lower priority than a number of other things I have in development, that I believe will really benefit a lot of people and be useful in lots of projects.


Regarding the Eclipse plugin, Jantje has poured a lot of work into that software over a long period of time, with virtually no financial gain. He's also contributed to Arduino in many ways and his name appears on Arduino's release notes file. I personally don't use Eclipse and I'm not familiar with this specific data collection issue. But I personally find it hard to believe someone who's done so much to help so many people on a volunteer basis would be engaging in "spyware".
 
On the mac upload problems, if you upload even once using Teensyduino 1.16, it will update your bootloader. Thereafter, the upload problems should be fixed (using that particular Teensy3 board), even if you revert to version 1.15.
 
I'd like to add that Teensyduino currently "only" supports the 1.0.x Arduino versions. As Paul has explained in this and other threads, the 1.5.x Arduino is undergoing substantial changes which makes it very difficult to support as a lot of code hat to be rewritten to keep up to date with each new version.

The disadvantage is that if you want to compile for Teensy and Arduino Due or Arduino Yun you'll have to use 1.0.5 for Teensy and 1.5.4 beta.

Jantje decided to use 1.5.2 because the 3-rd party API (for example the separate boards.txt and platform.txt files) added substatial benefits for the Plugin that also suports all Arduino Boars including Due and Yun and because he could not divert his spare time to support two different IDE's. That is also the only reason that this Teensy Extension File exists. Once Teensyduino supports 1.5.x that will not be necessary anymore.
 
Hi Guys,

Thanks for the detailed responses. I did not intend to cause such controversy! I will try to answer all your points in one reply.

I don't understand. What do you mean by "an (obsolete) unsupported beta"?

The Arduino web site clearly states:
Previous IDE Versions
These packages are not supported any longer by the development team:
Arduino 1.5.3 BETA: Windows, Windows Installer, Mac OS X, Linux: 32 bit, 64 bit, source
Arduino 1.5.2 BETA: Windows,Mac OS X, Linux: 32 bit, 64 bit, source
1.5.2 is not the latest beta, so it's out of date, ergo obsolete.

The upload problem was happening roughly 3 out of 4 times, so it was not something I could just ignore.

I have never used Arduino before. I chose Teensy 3 because it is a very nice little board, not because it is Arduino compatible. At the moment I am not interested in any other Arduino boards, just the T3. I am moving a code base from mbed and I don't think the Arduino IDE is up to the job, hence my interest in Eclipse. I am not really bothered which version of Arduino is plugged into what version of Eclipse, I just want it to work, preferably first time. It is frustrating when the recommended components don't seem to be compatible with each other. Is it asking too much for you guys to synchronise your efforts?

Future versions will add support for Arduino 1.5.X.

That doesn't really help me right now.

On the mac upload problems, if you upload even once using Teensyduino 1.16, it will update your bootloader. Thereafter, the upload problems should be fixed (using that particular Teensy3 board), even if you revert to version 1.15.

Thanks Paul, that is a valuable point. I have updated the T3 bootloader so I should be able to use the TEF?

As I said, I am new to Arduino and I am not familiar with Jantje or his contributions and I don't wish to impugn him. I just have an inherent distrust of software that collects data from my machine and then phones home. The message comes on the final dialogue of the plugin installation. I can't show you a screen shot as I've deleted the downloads. From memory and paraphrasing it says " the software collects usage data and sends it to a server. If you don't accept this, don't install the software". I personally find this a bit offensive; it is my machine and Jantje should ask my permission not dictate to me.

I will give it another try later today with the correct versions of Eclipse, Arduino and TEF. Before installing the plugin, I will install an outgoing firewall.
 
Hi Headroom,

I think I am almost there this time!

Firstly, a minor point in the installation. At step 8 it is best to uncheck "Group Items By Category" before completing the dialogue box. Perhaps also mention that you are asked to restart Eclipse.

I went through the First steps with the Blink sketch. At step 6 (Verify) I got an error from make: *** No rule to make target 'clean'.
What should I do to fix this?
 
Good points on the Installation.

It only generates that error the very first time when verifying/compiling a new sketch (I think). However, it should have proceeded to compile the sketch.

So in case of the new "TestTestTest" sketch it starts like this:
Screen Shot 2013-09-18 at 5.58.56 PM.png

But ends with this, indicating a successfully compiled sketch:
Screen Shot 2013-09-18 at 6.00.10 PM.png
 
Thanks for the screenshots. On studying them I realised I was looking at the Problems tab not the Console tab. It was actually working ok! Duh!!

I have now built and uploaded several sketches into T3. I have to press the button on T3 to upload, but I can live with that.
I can't get the Serial Monitor view to work. When I try to add the T3 port (/dev/tty.usbmodem11441) it says the port is in use. I don't think it is, because I can run CoolTerm and view the serial output on there. Any ideas?

One final suggestion. Perhaps mention at the beginning of the instructions that if you are using a Mac and Teensy3, to ensure your T3 bootloader is the latest one before starting.

Well, I now seem to have a working toolchain. Yay!! Next step is to learn how to drive Eclipse, then I will study your Importing libraries... instructions.

Thanks very much for your instructions and your help.
 
Graet to hear it's working! Great feedback as well and really appreciated. I've tinkered around so many times with the Plugin that I am somewhat blindsided by details that new users may stumble over.

Getting the serial ports to work on the mac is easy. It invloves creating a directlory and changing the permissions of it.
I am not on my home machine but will post this later and add it to the Instructions. Actually I am somewhat surprised that you are the first one who is asking!
 
The problem with the serial monitor on the mac is described well in this thread/message on the Arduino Forum. The solution can also be found on Stackoverflow

All you have to do is to open the terminal app and execute the following commands at the user prompt:

sudo mkdir /var/lock
sudo chmod 777 /var/lock

This will create a directory and then change the directory permission to allow read/write/execute for all.
 
Last edited:
Status
Not open for further replies.
Back
Top