The current project I am working on is a rocket datalogger/control system and I've been running into walls all throughout PICBASIC.

The basic specs for the whole system are as follows:

- PIC16F877a at the core, running at 20MHz (first annoyance as PICBASIC does not allow for changing xtal speeds, everything runs 5 times faster than it should).

- 16 channel multiplexer feeding a 16 bit ADC. I don't care if the ADC output is serial or parallel or any other strange protocol, however it needs to be capable of at least 2ksps. Clearly parallel would be easier for me to code but it's giving me other I/O problems. As for serial data transfer I'm not sure how I can get the PIC to interface with the ADC in either multi-line serial, SPI etc communication. My main problem is that the ADC is looking to directly output a word variable whereas the PIC serial coms only take byte variables directly. I could bit bash but I would REALLY hate to do that.
- Store data in a bank of 8 I2C eeproms. Not much of an issue, have to hack around in the include files to change the I2C port to the correct port and pins though, a pain but I can live with it.

- Control 4 servo motors. Not an issue if I have portB clear, however assuming I'm using the USART port on the PIC I only have one full 8 I/O port left, this isn't enough if I'm using a parallel 16bit ADC. Clearly the solutions are to either control the servos directly through code or use a serial ADC. Failing me learning how to manipulate 16bit serial communication with an 8bit core I can't actually manually drive the servos because PICbasic only lets you delay for integer milliseconds, enough to run a servo from full to opposite full. Even knowing that my clock speed is actually going to be 5 times faster, so I can time down to 200 microseconds doesn't really help because this doesn't give me any resolution. Last ditch effort I suppose would be to connect the servos through a smaller PIC on portb, and to communicate to that PIC via serial but that's messy every way you look at it.

I'm only a student and this is just a hobby so I can't afford the pro version, I probably would have bought it initially however if I knew exactly how shocking the basic version is when dealing with more than turning LED's on and off.