Page last updated on March 30, 2009 at 8:21 pm
16 Responses → “Libraries”

  1. Marcelo

    5 years ago


  2. Mikal

    5 years ago

    Thanks! :)

  3. Grendel

    5 years ago

    Thank you for the NewSoftSerial info!

  4. antti

    5 years ago

    I’m currently using NewSoftSerial, PString, Streaming and TinyGPS on my datalogger and they are all brilliant! Thank you!

  5. Michael B.

    5 years ago

    Dear Mikal,

    I think I speak for everyone when I thank you for your colossal contributions to the arduino movement. I am a relative newcomer, and occasionally need to search for solutions, but almost wherever I click, I seem to see your name! I just purchased the Arduino Cookbook and was pleasantly surprised to see your name on the back cover, and sprinkled throughout the book as well. If not for people like you, the arduino world would be a much more confusing place.

    Thank you for everything.

  6. Michael B.

    5 years ago

    P.S. I have a question for you (because I won’t trust anyone’s answer but yours). What programming language is better to learn for arduino? C or C++? And, what resources would you recommend?

  7. Mikal

    5 years ago


    Thanks for the kind words. Those are hard questions. Arduino really is almost unadulterated C++ (it uses the AVR C++ compiler under the covers). But it hardly uses anything that isn’t pure C, so essentially it’s just C also. I’ve taught C and C++ separately and they both offer advantages to the newcomer. Suggesting a good resource is hard, because I haven’t personally used any in probably 15-20 years! :) I think if I were in your shoes I would get the thinnest C book I could find and work my way through it while studying the Arduino examples. See if you can understand how they work. Most Arduino programs use a very concise subset of C++.

    Some people enjoy learning programming by working programming problems. There’s a delightful set of these at

    Good luck, and keep in touch.


  8. Paul Saunders

    4 years ago


    I recently noticed an update for the Arduino software. The only problem is my scripts for my reverse geocache use the softwareservo library, and now my scripts will not compile anymore. Is there an update for the library, or do I need to use a different library?

    Paul S

  9. Mikal

    4 years ago


    I believe the version 2 PWMServo that Paul Stoffregen built (posted here), works correctly in Arduino 1.0.

  10. alexis

    2 years ago


  11. Dave

    1 year ago

    Hi Mikal,

    I wonder if you can help please? I have been trying to use your IridiumSBD library directly with a 9602 modem which I have on a breakout board. When I run the basic send example the console shows the modem has satellite signal and then runs the MSSTM command which gets the correct response from the modem. The code then seems to loop back to querying the signal strength again. It never actually sends the message. I have connected the modem to a terminal via a TTL-USB converter and able to send the message no problem using the AT commands, so I don’t believe there is a problem with my breakout board or the power going to the modem. Any advice?

  12. Mikal

    1 year ago

    @Dave, it won’t send the message if the signal strength is too low. Are you in a clear outdoor area?

  13. Dave

    1 year ago

    Hi Mikal,

    Thanks for responding to the question…

    I am in doors, but I have my antenna outside the window. I have had it sitting with a signal strength of 5 for more than 3 / 4 retries. As soon as the routine looks happy with the signal strength (above the set minimum in the sketch of 1) then it does the MSSTM and gets a time back from the network / modem. Then it sits until the next retry and runs through the same sequence of events. As I say, I have had success sending a message from a terminal issuing the AT commands manually, so I don’t believe its a signal issue. Although the signal does come and go quite a lot depending on the number of satellites passing over within range. How long does the library require the signal to be stable for before actually sending?
    I will try the whole setup outside to rule out the signal strength issue.

  14. Dave

    1 year ago

    Hi Mikal,
    Just an update – I have disabled the workaround and now its working perfectly. So it does look like I was correct in saying that after running the MSSTM command it seems not to be happy with the response. Disabling this enables the messages to be sent no issue.

2 Trackbacks For This Post
  1. Connect Phi-1 shield with an EM 406A GPS « Liudr's Blog

    [...] library The newsoftserial and tinygps are needed for the code. These can also be downloaded at the author’s website. After you download the libraries, unzip them under your arduino sketch/libraries folder so that [...]

  2. Mini Weather Station using WiFly + Cosm

    [...] c) NewSoftSerial, Streaming and PString – Here [...]

Leave a Reply