[Discuss] Arduboy Quick Start Guide


(Ross) #24

Yeah, I got a little ahead of the problem there, thanks MLXXXp!

If anyone following the thread does have an issue getting going, don’t hesitate to post a new thread in the development section.

Perhaps the kickstarter guide posts needs an update about games/sketches and info about compatibility with old sketches.


#26

Hey Guys and Gals, I’m trying to upload one of the Arduboy examples, unsuccessfully. I am new to linux and to Arduino, but I figured this would be a nice learning experience for myself. I have successfully installed Arduino, and I (thought I) have successfully installed the Arduboy library. But, I keep getting an error which is leads me to believe that the library is not installed correctly:

ArduBreakout.ino:12:21: fatal error: Arduboy.h: No such file or directory
compilation terminated.

If I go to Sketch --> Import Library, I see Arduboy at the bottom.

It must be noted:
I have selected Arduino Leonardo, and I am running Arduino as root. Any help is much appreciated!


(Ross) #27

Don’t run the IDE as root.

Well, don’t run anything as root. Only system binaries, like apt-get should be executed as root, and system services can be run as root, but everything else should be run as a user with limited authority.

The problem you are having is that root is a user as well. And when you run the program as root, it looks in root's home folder for the libraries, /root. And of course, you installed the Arduboy library to your user’s home folder (most likely) /home/username/. Most programs user environment variables to control what happens, and when you run things as different users, the environment, and the variables going along with it, change.


#28

First of all, thank you for your quick reply. I start Arduino under a regular user, ensured the Arduboy library was installed - It is listed in the ‘Import Library’ menu. I opened up the ArduBreakout example and clicked upload. I seem to get the same error:

ArduBreakout.ino:12:21: fatal error: Arduboy.h: No such file or directory
compilation terminated.

Any other ideas?


(Kevin) #29

Kind of a strange thing, maybe someone with more linux experience can jump in but I’ve never used the library import tool. So I think the first step would be to confirm that the library ended up in the right location.

As @ekem indicates the user you are logged in as will effect where things are installed, and theoretically you should be logged in as the same user as you where when you installed it.

If you are actually logged in as root this may cause this problem perhaps? But if you are just running arduino with sudo then it shouldn’t necessarily exhibit this issue. The weird thing is, that you are able to navigate to the example code through the drop down menu so clearly the library is there, but has something to do with how its compiled.


#30

Hey Kevin, I wasn’t logged in as root. I was running sudo Arduino, as you mentioned. Yes, the example code was in my drop down as well. I’ll restart the computer and give it another go. I’ll try some other things as well.


#31

Restarted the computer, ran Arduino as a normal user, received the same error… hmmmm. It will be a piece of cake when I have a PC in my hands. Not sure why I can’t get it to work on this linux machine.


(Ross) #32

Hey P0ng,

Nice, you are on the right track. Watch o

So, log into your normal user.

Install the library to /home/username/Documents/Arduino/libraries/. To accomplish this, I would download a zip file from the Github account and install the library via the zip option in the Arduino IDE.

If you already have the folder /home/username/Documents/Arduino/libraries/Arduboy then I would check, is that you have the permissions set correctly.
type,

username@home ~/Documents/Arduino/libraries/ $ ls -al

I bet you find everything is owned by root. to fix this do,

username@home ~/Documents/Arduino/libraries/ $ chown -r username:username Arduboy/*

Now try compiling again. If a user doesn’t own a file or isn’t part of a group with access to read or write, it will tell the user a file doesn’t exist.

Also remember, if you install anything, you might have to log out and log back in in order to reload the environment variables.

Note running something as sudo will still run the process as root. The reason I mentioned applications in linux not running in root is not as a security warning, but to let you know that’s now how any of them are designed, so if you are running something as root, it will probably go way wrong.


#33

Well, I got my Arduboy today and got everything installed just fine.
However after swapping a couple games, the device has seemingly “bricked”?

Whenever I try to compile-upload a new program, nothing happens, the green progress bar will complete, but it continues to say Uploading and nothing appears on the device.

I noticed there is a reset hole/pin next to the USB slot but don’t know how to use it properly as nothing seems to happen.


(Ross) #34

You probably ended up on a game that hasn’t been upgraded to the new library yet. Try using a game from the “Official” list. If those don’t work, please open up an issue : )


(Kevin) #35

@dallowbg be sure to check your port settings, this result can happen because the incorrect port is selected.

Does it have a game on it running right now? Or did an upload fail?

Try this reset procedure here, let us know how it works out.
http://community.arduboy.com/t/how-to-reset-arduboy-if-its-bricked


#36

@bateske @ekem Thanks guys, that helped!


#37

I had the same issue on Linux. The problem is in the *.ino file. It says:
#include "arduboy.h"
when it should read:
#include "Arduboy.h"
of course when I fixed that I got:
fatal error: bitmaps.h: No such file or directory
#include “bitmaps.h”

We’ll see if that is the same problem.

Mombo


(Scott) #38

You should just use Sketch -> Include Library -> Arduboy to have the proper #include added to the top of your sketch. And it should be:

#include <Arduboy.h>

#39

Hey ekem, thanks for taking the time to work with me.

Install the library to /home/username/Documents/Arduino/libraries/. To accomplish this, I would download a zip file from the Github account and install the library via the zip option in the Arduino IDE.

I have browsed to this location: /home/username/Documents/, and there is no Arduino folder. So, I went back into the Arduino IDE, tried re-installing the Arduboy library from the zip file, and it says “A library named Arduboy already exists.”

I did notice that this folder location exists:
/home/username/sketchbook/libraries/Arduboy/
and in that location, there are a few more folders: assets, examples, src.

Does this help you out any further?


(Ross) #40

What distro is this @p0ng? Thanks for offering up some info as well.


#41

I’m running Fedora 19


(Scott) #42

If it’s under a folder called sketchbook then it’s possible that your IDE is at level 1.0.x, in which case you’ll have to get Arduino IDE V1.6 installed to get things to work.
What does it say in the title bar of the IDE window?


(Ross) #43

I just want to post, that if you are using Linux a great guide can be found here: https://www.arduino.cc/en/Guide/Linux.

Extremely important to the process is to add your user to the dialout group. This will give the IDE access to the serial port. This is probably one reason people try running the IDE as root.

sudo usermod -a -G dialout <username>

And then restart to your desktop session (log out and back in) to refresh your user’s groups.

The reason for this can be seen if you type

user@home:~$ ls -al /dev/ttyACME*
crw-rw---- 1 root dialout 188, 0 5 apr 23.01 ttyACM0

I’ll work on getting a guide for the community section up about it, but it will pretty much be a direct clone of that one.


(Ross) #44

Alright @p0ng : ) I posted a guide from Arduino. Go ahead and follow that guide, logged in as your normal user, and make sure to add your user to the dialout group.

Remove any old copies of the Arduboy library.

Then, instead of installing the Aruboy library from zip, please go ahead and use the library manager to search for ‘Arduboy’ and install using the manager :smiley: . I hope this helps, this was just added as an option and works perfectly.