Incompatible with Arduino

Dear Sirs,

I am, to say the least, very disappointed by the Sparki I received today.
Not the hardware (as I cannot make it work) but there is no way to install your software in parallel to an existing Arduino IDE.
None of the examples of your IDE compile as your IDE gets confused with the existing IDE, loading the wrong files (.h .cpp).
Can you please provide a Arduino compatible library that can be used with the Arduino IDE? Or do I have to re-write your class by myself.
I was expecting a robot that I can use to teach children to program a nice Arduino robot - now I have a piece of hardware I currently only want to throw against the wall :imp:

Just for illustration: The basic sketch

[code]/*******************************************
Basic Sparki Code

This is the most basic code you can use to
run Sparki.
********************************************/
#include <Sparki.h> // include the sparki library
void setup() // code inside these brackets runs first, and only once
{
}
void loop() // code inside these brackets runs over and over forever
{
}[/code]fails with the following error:

C:\Opt\SparkiDuino\hardware\arduino\cores\arduino\Sparki.cpp: In member function 'void SparkiClass::begin()':
C:\Opt\SparkiDuino\hardware\arduino\cores\arduino\Sparki.cpp:66: error: 'Serial1' was not declared in this scope
C:\Opt\SparkiDuino\hardware\arduino\cores\arduino\Sparki.cpp:151: error: 'TCCR4A' was not declared in this scope
C:\Opt\SparkiDuino\hardware\arduino\cores\arduino\Sparki.cpp:152: error: 'TCCR4B' was not declared in this scope
C:\Opt\SparkiDuino\hardware\arduino\cores\arduino\Sparki.cpp:153: error: 'TCNT4' was not declared in this scope
C:\Opt\SparkiDuino\hardware\arduino\cores\arduino\Sparki.cpp:155: error: 'OCR4A' was not declared in this scope
C:\Opt\SparkiDuino\hardware\arduino\cores\arduino\Sparki.cpp:158: error: 'TIMSK4' was not declared in this scope
C:\Opt\SparkiDuino\hardware\arduino\cores\arduino\Sparki.cpp:158: error: 'OCIE4A' was not declared in this scope
C:\Opt\SparkiDuino\hardware\arduino\cores\arduino\Sparki.cpp:166: error: 'EICRB' was not declared in this scope
C:\Opt\SparkiDuino\hardware\arduino\cores\arduino\Sparki.cpp:166: error: 'ISC60' was not declared in this scope
C:\Opt\SparkiDuino\hardware\arduino\cores\arduino\Sparki.cpp:166: error: 'ISC61' was not declared in this scope
C:\Opt\SparkiDuino\hardware\arduino\cores\arduino\Sparki.cpp:167: error: 'INT6' was not declared in this scope
C:\Opt\SparkiDuino\hardware\arduino\cores\arduino\Sparki.cpp: In function 'void INT6_vect()':
C:\Opt\SparkiDuino\hardware\arduino\cores\arduino\Sparki.cpp:584: error: 'PINE' was not declared in this scope
C:\Opt\SparkiDuino\hardware\arduino\cores\arduino\Sparki.cpp: In member function 'void SparkiClass::sendIR(uint8_t)':
C:\Opt\SparkiDuino\hardware\arduino\cores\arduino\Sparki.cpp:614: error: 'OCR4D' was not declared in this scope
C:\Opt\SparkiDuino\hardware\arduino\cores\arduino\Sparki.cpp:615: error: 'TCCR4D' was not declared in this scope
C:\Opt\SparkiDuino\hardware\arduino\cores\arduino\Sparki.cpp:617: error: 'TIMSK4' was not declared in this scope
C:\Opt\SparkiDuino\hardware\arduino\cores\arduino\Sparki.cpp:617: error: 'OCIE4D' was not declared in this scope
C:\Opt\SparkiDuino\hardware\arduino\cores\arduino\Sparki.cpp: In function 'void TIMER4_COMPA_vect()':
C:\Opt\SparkiDuino\hardware\arduino\cores\arduino\Sparki.cpp:748: error: 'TCNT4' was not declared in this scope

Regards, Mathias

If you have a brand new installation from today, you may be in the same boat as I am.

I do not have an Arduino already installed, but I’m still getting loads of compilation errors, some I’ve been able to fix, others, well, I just gave up.

It feels like they’re in the middle of re-arranging their files, and we dropped in on the wrong day.

Salut,

yes, fresh download from today.
I thought that an empty sketch should compile right away. But you HAVE TO SELECT sparki as board to make it compile.
I am just used to the nice code from adafruit or sparkfun, where you get the device (like my neopixel shield lately), download the library, copy it to the library folder, load the example and have a smile on your face.

Well, I will take a look at their code and I consider re-writing it the Arduino-way

Ciao, Mathias

Salut aussi!
To their defense, they did mention having to choose the board here: arcbotics.com/lessons/how-to-upload-sparki-code/

Ok, I know, we tend to just get the hardware and get going right away :smiley: That’s the way we code…

But as I wasn’t getting anywhere, I had to read the documentation… The one thing I have yet to figure out for today is how to get the LED to be white. It just refuses to be white.

Correct, the error you’re getting is a result of not choosing the right board, which we list in the “uploading code” instructions. This is the same if you’re ordering a board from adafruit, Sparkfun, or anyone else. That would happen with any Arduino installation, and is not related to there being multiple Arduino installations installed.

If you’re interested, we also offer a library download (on the front page):
arcbotics.com/hosting/Sparki_Library_1.0.5.3.zip

[quote=“roboalchemist”]If you’re interested, we also offer a library download (on the front page):
arcbotics.com/hosting/Sparki_Library_1.0.5.3.zip[/quote]
After you load the Sparki library using the standard Arduino IDE, there are a couple of additional steps you will need to do to manually incorporate Sparki support into an existing Arduino installation.

For Windows:

  1. Replace the “board.txt” file with the one provided by ArcBotics. This is the Windows directory where the “board.txt” file usually is: C:\Program Files (x86)\Arduino\hardware\Arduino

  2. Install the Sparki controller board driver using “sparki.ini”.

The required 2 files can be found in the standard “SparkiDuino-Win-1.0.5.3.zip” full installation download.

Is there any drawback by using the standard Arduino IDE instead of Sparkiduino? I would prefer to have only one IDE.

I have it installed both ways on two computers and I don’t see any difference in how they function.

IMO, as long as you are OK doing the manual installation steps above, the standard Arduino IDE approach is the way to go long term. And if you have to support multiple Arduino devices you probably will need to stay with the standard IDE.

The only difference is that there are more things in the standard Arduino IDE, and that you have to do the setup yourself. The scripts to create SparkiDuino involve just that: taking the stock Arduino IDE, stripping out Non-sparki parts and adding Sparki-specific code.

The goal of SparkiDuino was just to make it as easy as possible for first-time people who just bought Sparki. Many people who bought Sparki hadn’t even heard of Arduino before. We provide the stock library for more ‘power users’ like yourselves, but plan on sticking with recommending SparkiDuino for the tutorials.

[quote=“8-Bits”][quote=“roboalchemist”]I
For Windows:

  1. Replace the “board.txt” file with the one provided by ArcBotics. This is the Windows directory where the “board.txt” file usually is: C:\Program Files (x86)\Arduino\hardware\Arduino

  2. Install the Sparki controller board driver using “sparki.ini”.

The required 2 files can be found in the standard “SparkiDuino-Win-1.0.5.3.zip” full installation download.[/quote][/quote]

Are there instructions for OSX? I’ve got the library and have prepended the ‘boards.txt’ with the Sparki info. But where is the controller board driver and how do I do that under OSX?

Salut,

so I got the things to run and thanks for the indication for the lib file. It was well hidden and as I use windows, I did not check the Linux section.

I got the wall avoidance code to run and notice that the robot moves very, very slowly. Is that intentional and is there a speed setting?
When running the simple motor test with a 1000 ms delay, the wheels hardly turn (approx 10-20 degrees)

Ciao, Mathias

Ok, found it in the library code (sparki.cpp).
You hard-code the speed to be 100 ignoring the value of motor_speed to scale that from 0-100%.
Changing the code to go for a max speed of 255 (I introduce that now as a constant to accommodate the battery setup) scaled by motor_speed gets the robot to move at reasonable speed. (I use 4 AA batteries)

Ciao, Mathias

[quote=“poesel”][quote=“roboalchemist”]I
For Windows:

  1. Replace the “board.txt” file with the one provided by ArcBotics. This is the Windows directory where the “board.txt” file usually is: C:\Program Files (x86)\Arduino\hardware\Arduino

  2. Install the Sparki controller board driver using “sparki.ini”.

The required 2 files can be found in the standard “SparkiDuino-Win-1.0.5.3.zip” full installation download.[/quote]

Are there instructions for OSX? I’ve got the library and have prepended the ‘boards.txt’ with the Sparki info. But where is the controller board driver and how do I do that under OSX?[/quote]

Bump

This is from the Arduino Website: arduino.cc/en/Guide/Howto

“On the Mac, mount the FTDIUSBSerialDriver_v2_1_6.dmg (on PPC machines) or the FTDIUSBSerialDriver_v2_2_6_Intel.dmg (on Intel machines) disk image and run the included FTDIUSBSerialDriver.pkg.”

However, if you already have a standard Arduino installation on your Mac, I don’t see why you would need to install the driver. :question:

Sparki doesn’t use an FTDI chip, so the FTDI driver wouldn’t do anything.

I can see the FTDI driver in the Windows SparkiDuino Installer (the zip format). Since the Sparki controller board doesn’t need it, is the Installer using it (i.e. installing it) anyway?

If not, that is the best reason people that need to support other Arduino devices and Sparki on the same computer should not use the SparkiDuino Installer.

I appreciate your good intentions to provide an easy installation process for average Sparki users, but I would suggest that either the Windows and OSX SparkiDuino Installers be changed to support all Arduino devices, or that the Sparki documentation be changed to highlight the limitation.

Thanks,

[quote=“8-Bits”]For Windows:

  1. Replace the “board.txt” file with the one provided by ArcBotics. This is the Windows directory where the “board.txt” file usually is: C:\Program Files (x86)\Arduino\hardware\Arduino

  2. Install the Sparki controller board driver using “sparki.ini”.

The required 2 files can be found in the standard “SparkiDuino-Win-1.0.5.3.zip” full installation download.[/quote]

And where can I find SparkiDuino-Win-1.0.5.3.zip ? I can only find the .exe setup file.

This is my first Arduino-related product, but I have another Kickstarter coming in soon, not counting the fact that I’ll be getting an Arduino board too. So I want to stay away from SparkiDuino it seems, but I’m still a newbie at this.

[quote=“CleoQc”]
And where can I find SparkiDuino-Win-1.0.5.3.zip ? I can only find the .exe setup file.

This is my first Arduino-related product, but I have another Kickstarter coming in soon, not counting the fact that I’ll be getting an Arduino board too. So I want to stay away from SparkiDuino it seems, but I’m still a newbie at this.[/quote]
There are a growing number of people that are experimenting with robotics, 3D printers and other devices using Arduino compatible controllers, so the need to support multiple devices with the IDE should be a given. Now that I understand the manual steps needed to use the standard Arduino IDE to interface with Sparki, I have used that approach on all my computers.

This is the zip file download link: http://arcbotics.com/hosting/SparkiDuino-Win-1.0.5.3.zip

BTW, at this point I’m not sure if the “sparki.ini” driver isn’t just the standard Arduino Leonardo driver, but I still installed “sparki.ini” after I ran the Arduino Installer. Hopefully someone from ArcBotics will let us know.

Note: If you are running Windows 8/8.1 the “sparki.ini” driver in the zip file is unsigned and you will need to do a Google search for “Windows 8.1 unsigned driver” to get info on how to install it.

Salut,

I removed the Sparki fork of the Arduino IDE and did a clean install of the Arduino IDE.
I then imported the library into the IDE using the IDE itself and connected the Sparki. It is recognized as an Arduino Leonardo.
I loaded the “Wall avoiding” sketch, fixed the errors and was able to upload to Sparki.
Ciao, Mathias

Guys good guide here [url]Installation with standard Arduino IDE under OSX] from Poesel. I followed it with ease & am up & running in Arduino IDE.