Show Posts
Pages: [1] 2 3 ... 14
1  Using Arduino / Programming Questions / Re: Including user libraries in secondary source files on: February 22, 2014, 11:44:01 am
So, it turns out that the redacted stuff includes a lot of defines from the same local header file as RADIO_CH. They all work. As I said above, it turns out the key is to include the libraries from the cpp and ino files, but not the header file.
2  Using Arduino / Programming Questions / Re: Including user libraries in secondary source files on: February 22, 2014, 04:10:30 am
Thank you for the pointers. It turns out I need to include them from both the .ino file and the .cpp file but not the .h file. Then, everything works.
3  Using Arduino / Programming Questions / Including user libraries in secondary source files on: February 22, 2014, 03:04:17 am
I'm working on a fairly complex project, so my project folder includes a number of .cpp source files beyond the standard .ino file. I'd like to include a couple of libraries (ZigduinoRadio and ADXL345, FWIW) in one of these source files. Here's the relevant bits of code (much redacted because NDA):

#include <ZigduinoRadio.h>
#include <Adafruit_ADXL345_U.h>
#include "**********.h"

void hardwareInit (void) {


// start radio

When I try to compile this, I get the following error message:

footStoolHardware.cpp: In function 'void hardwareInit()':
footStoolHardware.cpp:44: error: 'ZigduinoRadio' was not declared in this scope

I figured this might be a result of the global variable ZigduinoRadio not coming through correctly from the header file, so I tried declaring it extern at the top of the file. It told me the type (cZigduinoRadio, also duly defined in ZigduinoRadio.h). This makes it clear to me that the library is not being included properly.

Any clues for the clueless on how to fix this? I'd like to be able to properly modularize this project, but it's looking like that might not be possible within the Arduino environment.
4  Development / Other Hardware Development / Re: Small-run PCB assembly on: February 05, 2013, 08:53:49 pm
I use a PCA Corp ( in Bellevue WA. They charge $300 for the stencil (and presumably programming, although that's not broken out) and board cost is dependent on complexity. You need to negotiate to get the best prices out of them, but it's usually $5-$10 per board for all SMT in quantities 100 - 300. Through hole assembly costs more, because it requires more hand work. They aren't the cheapest, but their quality is excellent. IME, their yield even with QFNs and similarly difficult components is 100%. I haven't used them for BGA work, because I avoid BGAs like the plague.
5  Using Arduino / Motors, Mechanics, and Power / Re: Controlling a Canon Printer on: April 12, 2012, 01:28:24 pm
Check of Nick Lewis's InkShield project:
6  Using Arduino / Project Guidance / Re: Advice on Midi controller topology: 48 button inputs,96 leds on: April 12, 2012, 01:01:41 pm
I think the right way to do this is with port expanders of some variety. That will give you a more straightforward and modifiable/fixable system. There are a lot of solid I2C port expander chips on the market, but most of them are surface mount. Snootlab sells a nice board based around the MAX7313, which not only does digital I/O but also has a PWM output capability on sixteen channels. (Full disclosure: I'm the US distributor)
7  Using Arduino / Project Guidance / Re: need ideas on what connector to use to connect temp probe to arduino project box on: April 12, 2012, 11:36:51 am
Stereo plugs are a good choice. Cheap, rugged, and good for a whole hell of a lot of mate/demate cycles. They're also among the easiest connectors to mount on the outside of a case since they only need one round hole.
8  Using Arduino / Project Guidance / Re: How to sync motor speed??? on: April 12, 2012, 11:33:44 am
I hadn't seen the LetsMakeRobots article before, but it looks really good. I would try to use a tested library (like the one I linked to earlier), because it will get you to your goal faster.
9  Using Arduino / Project Guidance / Re: How to sync motor speed??? on: April 09, 2012, 06:27:03 pm
The trick is not to think of it as synchronizing the motors so much as it is setting them both to a commanded speed. That means each motor is its own separate unit, with its own PID loop. You then synchronize the motors by sending them the same command. This gives you the option to send them different commands, for things like steering or compensating for mismatched wheels.

For each motor, the first thing to do is measure the speed. You can do this by measuring the time between encoder counts and dividing the amount of distance covered in a single count by the time difference.

Now, you have the actual speed and you have the desired speed. Subtract that actual speed from the desired speed; this gives you the error. The error value is the input to the PID loop. The output from the PID loop, once it's correctly tuned, is the PWM value to write to the output for that motor.

The link I provided has a lot more information on how to set up and tune PID loops. It's pretty good; you should read it.
10  Using Arduino / Project Guidance / Re: How to sync motor speed??? on: April 09, 2012, 01:22:25 pm
The right way to do this is to measure the speed of each wheel and use a PID library ( to set the PWM output to each motor in order to obtain a commanded motor speed. This is a nice way to do it because you can change the setpoints at will to change the speed or to steer (use different commands).
11  Using Arduino / Project Guidance / Re: How to make a rc radio with arduino and a 2.4Ghz RX and TX module..?? on: April 08, 2012, 10:48:29 am
I used one of my Zigduino board for remote control on my Zigroller project. I talked about how I did it in this blog post. You can then use the Arduino servo library to output the PPM on the receiving end.
12  Community / Exhibition / Gallery / Zigduino-based balance bot on: October 09, 2011, 09:26:52 am
I built a remote controlled balance bot, the Zigroller, around the 802.15.4 enabled Arduino variant I sell, the Zigduino.

Hardware write-up
Software write-up
Hack-a-Day write-up

13  Using Arduino / Project Guidance / Re: controlling a hundred solenoids on: October 01, 2011, 12:59:36 pm
I'm going to have more of the 16 ch shields in stock late next week -- Digikey is *finally* shipping the parts.
14  Using Arduino / Installation & Troubleshooting / Re: FTDI driver issue on: September 30, 2011, 04:24:22 pm
Ok, I found a solution:

What a giant PITA
15  Using Arduino / Installation & Troubleshooting / FTDI driver issue on: September 30, 2011, 03:36:01 pm
I'm running Win 7 x64, and working with a *LOT* of individual Arduinos and Arduino variants. Everything was going swimmingly, until I high COM255 and wrapped around to COM3 or so. After that, my computer detected the FTDI chip just fine but failed to assign a COM port to it. When I tried hitting update driver on the USB Serial Port, it timed out. I tried rebooting the computer, no dice. I tried uninstalling and re-installing the driver, which did not change anything. I removed all of the phantom devices, no change. I updated to the latest driver, no change.

Any thoughts on what I should do?
Pages: [1] 2 3 ... 14