Can't get started

I bought an Arduino UNO in good faith from Jaycar, and, on the advice of another customer, also bought a duinotech 'Dual Ultrasonic Sensor module' so that i had something to connect to my Arduino UNO board and use.

I say "in good faith" because it was not until I got home, opened an account at arduino.cc, and read about getting started, that I realised Jaycar had sold me a 'compatible' UNO board which, it seems, is not detected by the official arduino.cc apps... In other words, you cannot upload programs to it, or so it seems.

So, I have

  • an Arduino compatible UNO board
  • Dual Ultrasonic Sensor module
  • (both from Jaycar)

and no idea how to get started!

I feel frustrated, and embarrassed, because I actually have an IT degree from our second most prestigious university (graduated in 2003), and can program in C++ (albeit a bit rusty), but have no idea where to go to learn how to upload programs to my UNO board. I thought arduino.cc would be a good place to start, but Arduino Create does not recognise compatibles.

I will endeavour to buy genuine Arduino parts in future, but as I say, I am a complete Arduino novice and bought these components in good faith. All I want to do is to learn Arduino as quickly as possible, and I would greatly appreciate your help if you could point me in the right direction.

Many thanks
James

what's the link to the product you bought?

if you want help, and is not interested in just venting, you need to provide as much information as possible.
yes, I can Google it, but that's more work than I want to do and you are the person wanting help.

Your Duinotech UNO r3 should work just like a Arduino UNO.

Try the getting started guide and then come back with specific problems.

Arduino CREATE "DOES" work with most compatible boards as it includes CH340 drivers right out of the box along with a few other drivers.

Bob.

I know the exact bo

JamesElliott:
I bought an Arduino UNO in good faith from Jaycar, and, on the advice of another customer, also bought a duinotech 'Dual Ultrasonic Sensor module' so that i had something to connect to my Arduino UNO board and use.

I say "in good faith" because it was not until I got home, opened an account at arduino.cc, and read about getting started, that I realised Jaycar had sold me a 'compatible' UNO board which, it seems, is not detected by the official arduino.cc apps... In other words, you cannot upload programs to it, or so it seems.
(snip)

The good news is that this board should definitely work exactly like a genuine Arduino Uno. I have used this board and aside from being horribly overpriced for what it is, it is a reasonable quality Arduino Uno Compatible. It even uses an ATMega16U2 as the USB-Serial bridge just like the genuine Uno does so you don't have to install drivers for third-party USB-Serial bridges.

If you can answer a couple of questions it will help people here narrow down the cause of the problem:

  1. When you plug the board in to your computer does the onboard power LED light up? This LED is labelled 'ON' and is just below and to the right of the 'UNO' label.
  2. Assuming that the power LED does light up, does the LED labelled 'L' blink? This LED is above and to the left of the 'Duinotech' label.
  3. If you're using Windows, does anything show up in Device Manager when you plug the Duinotech board into your computer?

The Arduino CREATE tool has some issues - I always recommend using the real desktop IDE instead of that when possible - the real IDE has fewer "weird" issues.

BJHenry:
I know the exact board
The good news is that this board should definitely work exactly like a genuine Arduino Uno. I have used this board and aside from being horribly overpriced for what it is, it is a reasonable quality Arduino Uno Compatible. It even uses an ATMega16U2 as the USB-Serial bridge just like the genuine Uno does so you don’t have to install drivers for third-party USB-Serial bridges.

If you can answer a couple of questions it will help people here narrow down the cause of the problem:

    1. When you plug the board in to your computer does the onboard power LED light up? This LED is labelled ‘ON’ and is just below and to the right of the ‘UNO’ label. - YES
    1. Assuming that the power LED does light up, does the LED labelled ‘L’ blink? This LED is above and to the left of the ‘Duinotech’ label. - YES
    1. If you’re using Windows, does anything show up in Device Manager when you plug the Duinotech board into your computer? I’m using Linux Mint (a Ubuntu distro) “Cinnamon” 64-bit ver19

I have answered your questions within your quoted message (in red) - thanks for taking the time to help.

  • I can now see that the board is working, as it should.
  • I think what threw me was the fact that in the Arduino IDE (running under Linux) the UNO board did not appear on the list of connected devices in the IDE, and therefore,
  • I do not know how to upload a C++ program to it.
  • I will take your advice, and that of others, and read the rest of the getting started guide (I’ve gone past the bit about installing the Arduino IDE).

Supplementary question: Is a “Sketch” a program/app/code-segment?
The online documents talk about ‘sketches’, a term I am unfamiliar with, but which, from the context seems to refer to C++ code segments the user of the Arduino IDE has written.

Many thanks, James

JamesElliott:
Supplementary question: Is a “Sketch” a program/app/code-segment?
The online documents talk about ‘sketches’, a term I am unfamiliar with, but which, from the context seems to refer to C++ code segments the user of the Arduino IDE has written.

“Sketch” is just the term Arduino uses for a program. The Arduino IDE originated as the Wiring IDE, which originated as the Processing IDE. In those early days, the idea was that Wiring would be the equivalent of Processing for programming microcontrollers. The IDE, API, and terminology would be very similar to allow people to easily transition between writing code to run on their PC in the Processing IDE to writing code to run on a microcontroller in the Wiring IDE. Nowadays, I don’t think there is really so much intersection between the Processing and Arduino worlds as was anticipated, but the terminology is established.

Although Processing sketches are written in a Java-based language, the .ino files of Arduino sketches are compiled as C++ after a little bit of preprocessing. You can use pure C++ in .ino files if you like, but the Arduino IDE automates a couple of things in order to make the learning curve more gentle for beginners with no prior programming experience:

  • If there are multiple .ino files in the sketch, concatenate them into a single file, starting with the file that matches the sketch folder name, followed by the rest in alphabetical order.
  • Add #include <Arduino.h> at the top of the file. This contains declarations of the standard Arduino core library API, which is documented in the Arduino Language Reference.
  • Insert automatically generated function prototypes for any function that doesn’t already have one.
  • Add #line directives to make warning/error messages still match the original sketch files.

Is that clear now?

Take heart, James. Your difficulties may be just phantoms.

I don't know that it makes sense to talk about "genuine Arduino parts". My take on it is that Arduino is a public domain specification. Anyone can legally make and sell boards compliant with that spec (Uno, Nano...). Your Jaycar Uno is no less "genuine" than one made by Arduino. That said, there's no guarantee that all boards from all makers will be of identical functionality and quality. Makers of the cheaper boards might cut corners...or they just know how to build the same quality at lower cost.

I've had two low-cost Unos ($10-15) and they work fine. I've got six cheap Nanos (at $4-6) and they work fine.

I've used the following ultrasonic project with Uno & Nano and it worked straight away: Ultrasonic Sensor HC-SR04 and Arduino Tutorial - HowToMechatronics

I use the Windows IDE so perhaps your difficulties lie with the Linux tools.

jpom:
I don't know that it makes sense to talk about "genuine Arduino parts".

Sure it does. Arduino manufactures boards. Those are genuine Arduino boards. Other companies also manufacture boards. It would not make sense to call those "genuine Arduino". You could call them "Arduino compatible" if you like.

jpom:
Anyone can legally make and sell boards compliant with that spec (Uno, Nano...).

Arduino publishes the design files for their boards, generally under the CC-BY-SA license. Anyone can use those designs to create and sell their own boards. There are some restrictions though:

  • Give credit to Arduino for the design.
  • Share the modified design files.
  • Don't use the Arduino trademark or Arduino logo on the board or marketing materials.

It's also possible to make your own "Arduino compatible" board completely from scratch. The only restriction then is to respect the Arduino trademark. "Arduino compatible" only means that it's possible to program the board using the Arduino IDE. In that way, there really isn't a specification. I suppose you could consider the specific placement of the headers on the Uno, Mega, Nano, or MKR format boards to be a specification in that you need to match that in your own designs for shield compatibility.

Thanks, pert, I get the points you make.