BasicX uP for next year

what would you think of havinga basicX microcontroller in place of a Basic Stamp for next year. It is just as easily programmable with a simple BASIC instruction set . Its is much faster, has greater math capabilitues including signed variables, a real time clock, interrupts 400bytes of ram(as opposed to 26) and built in supporp for trig. It would not requre much in the way of redesigning the Robot controller, in fact i THINK it may be pin for pin compatible with the Basic Stamp.

[edit]
here is a comparison with the Basic stamp 2 SX microcontroller
http://www.basicx.com/Products/BX-24/bx24compare.htm

Probably, but that’d require FIRST to have to update it, which they probably won’t do, considering they’re FIRST.

pBasic 2.5 was pretty simple… i don’t think you’d want anything simpler than that.

its really no simpler or harder. its just much more powerful. In fact motst of the code syntax is the same

I like the whole real time clock idea in there :slight_smile:

The difficulty in proggramming is another challenge that a team must face, making the language easier takes away from that challenge. Our teams are supposed to overcome these hardships and thrive in them. (whether this was intended or not is questionable, but that isn’t the point) We should take these difficult situations and throw them into the face of the creators, and say “look, we have conquered your efficiency and complexity problems, what do you want us to do now?”.

or something like that.

the clock thing would be nice if they intend us to do a more complex autonomous program next year, though.

We had a similar discussion on this a while back. I was pushing for the JStamp at the time. Lately, I’ve been more interested in the BasicATOM Pro.

The biggest limitation is the relationship FIRST has with Parallax. Parallax is, in fact, a major sponsor of FIRST, so there’s no good reason to dump them. The Javelin Stamp is the only realistic replacement. I find it to be a very ‘dirty’ and inefficient design, though. The simplicity of java hardware in the JStamp is much preferable, in my opinion. Either way, java creates a somewhat overly complex structure for the fairly simple operation of controlling a FIRST-level robot.

My wish list for the current control system is:

  1. More RAM (variable space)
    32 bytes (26 usable for variables) is very tight when creating complex control algorithms. Scratch pad works, but it far less intuitive and makes the code much less readable. Same with EEPROM.
  2. Trig functions
    Makes ultra complex designs much easier. It’s hard enough to write the algorithms WITH the trig functions.

Adam

the jstamp would be jsut as good. what about a bs2p24

*Originally posted by Rickertsen2 *
**what about a bs2p24 **

If IFI were to switch to the 2p series (the 40-pin model is overkill, considering the fact that we only need a few pins to interface with the other uP’s in the RC), there wouldn’t be much of an increase, ability-wise. Yes, it executes instructions faster, but you’re still limited to 26 bytes of variable space, and you’re using the exact same language (with a few added commands for doing things like controlling an LCD display, which, again, is pretty useless with regard to the RC), so a huge portion of what everyone has a problem with, at this point, will still be a problem.

It’d probably be easier for IFI to switch to a 2p, rather than the BasicX, but the amount of improvement of such a transition, as compared to the energy put into redesigning the system (however slightly) would probably not be worth thier effort.

Basic Stamps are very common and extremely simple to program (which is the main reason why most robotics team programmers both love and hate them).

The way I see it, starting kids off with PBASIC, on a BS2, is a great way to get them interested and involved in [embeded systems] programming (I bought a 2p24 and a 2p40 recently, and am now interested in PIC C and ASM). PBASIC is almost offensively simple, but for a newbie, it’s just easy enough to understand, after reading a few pages of documentation, and looking at the sample code. You can jump in, edit the default code a little, and run it within seconds, and know exactly what you’ve done (for the most part), without having to know a thing about OOP, compilers, or even the computer you’re working on.

Realistically, I doubt we’ll see any major changes from IFI, concerning the control system, for a while.

Although for many of you advanced programmers pbasic is rediculously simple to use, for someone with no programming experience its the perfect language. I had absolutely no experience programming before I started, I had never even looked at a program in code form prior to this. But I decided I wanted to program and as simple as the task may seem, it was quite an accomplishment for me to create my own code and learn how to use this simple language. In fact after 3 years of robotics, i’m still excited when I learn new commands or am able to improve my old codes. Had the program been in a different language I probably would have decided I didn’t have the time to learn the language, nor the money or books to do so. I ask that people concider this, and that every year there are new teams who undoubtebly face the same problem, before jumping to a decision to make the programing language “better”.
I would however support a new and ‘improved’ language if and ONLY if teams could still use the current language and commands. That way they could take the time to learn the new language without loosing time from not being able to program it.

I threw out the 2p as a suggestion. i really don’t know the first thing about the 2p series. The basicX however is pin-for-pin compatible with the BS2SX and would require no reengineering of the robot controller whatsoever. As far as Parallax being a FIRST sponser… well i don’t know enough about that to speak. I guess i am frusterated not by the limitations of the basic stamp but more by its simplicity though i respect that the control system needs to be simple enough for those without much programming experience to be able to write programs.

Hey you mentioned you are messinf around with Pic C and ASM. What compiler are you using. i have been thinking about messing w/pics but have not had the time.

Although for many of you advanced programmers pbasic is rediculously simple to use, for someone with no programming experience its the perfect language. I had absolutely no experience programming before I started, I had never even looked at a program in code form prior to this. But I decided I wanted to program and as simple as the task may seem, it was quite an accomplishment for me to create my own code and learn how to use this simple language. In fact after 3 years of robotics, i’m still excited when I learn new commands or am able to improve my old codes. Had the program been in a different language I probably would have decided I didn’t have the time to learn the language, nor the money or books to do so. I ask that people concider this, and that every year there are new teams who undoubtebly face the same problem, before jumping to a decision to make the programing language “better”.

This is exactly why i point at hr BasicX it is still programmed in a form of basic which is almost identical to that of the current Basic Stamp. The basicX however has much more support for advanced functions such as a real time clock and floating point math, interrupts and much more. It also actually costs slightly less than the BS2SX.

*Originally posted by Rickertsen2 *
**Hey you mentioned you are messinf around with Pic C and ASM. What compiler are you using. i have been thinking about messing w/pics but have not had the time. **

Actually, I have done absolutely nothing with any PIC microcontrollers, ever. But just from looking through the DigiKey catalog at prices and abilities, the PIC seies seems to have a huge advantage over the BS series (seeing as how the BS series costs about 10 times as much, at least, and many of the PICs have a LOT more than 26 bytes of variable space).

Microchip (the company who makes the PIC series) maintains various programs pertaining to the PIC series, including an emulator for almost every single PIC model, so you don’t even have to own any of the microcontrollers to be able to learn about them, and practically program them.

There’s one team, around here, who was/is making some PIC controlled “smart-sensors,” for use on their robot.

I won’t go around their back and talk about it without express permission, but what they’re doing is very cool. If I get permission soon, I’ll respond with more information.

<edit>
I love spelling mistakes. :frowning:
</edit>

o ic. i was thinking about making some pic-controlled “smart sensors” but never got around to it. maybie next year.

Gunn High School, Gunn Robotics Team, GRT, team 192 (heh), made some PCBs with PIC microcontrollers for almost generic use.

Supposedly, all they have to do is reprogram them to have them perform a different function.

They’re planning on producing a whitepaper on them, later this year.

Very cool stuff.

*Originally posted by FotoPlasma *
**There’s one team, around here, who was/is making some PIC controlled “smart-sensors,” for use on their robot.
**

Our team used a PIC board for some sensors, but I doubt you’re referring to us. The PIC Microcontrollers are a great series, and are very easy to use. I personally am working with two sets of them in a side project of mine.

But just from looking through the DigiKey catalog at prices and abilities, the PIC seies seems to have a huge advantage over the BS series (seeing as how the BS series costs about 10 times as much, at least, and many of the PICs have a LOT more than 26 bytes of variable space).

Never mind the basic stamp did not have a pic controller it had something else. I believe it was some other microcontroller maybee the basic x or oopic(probably that one because it has the word pic in it).

The basic stamp1 has a PIC in it. I believe the BS2SX has a scenix microcontrollerin it.

*Originally posted by Duke 13370 *
**The difficulty in proggramming is another challenge that a team must face, making the language easier takes away from that challenge. Our teams are supposed to overcome these hardships and thrive in them. (whether this was intended or not is questionable, but that isn’t the point) We should take these difficult situations and throw them into the face of the creators, and say “look, we have conquered your efficiency and complexity problems, what do you want us to do now?”.

or something like that.

the clock thing would be nice if they intend us to do a more complex autonomous program next year, though. **

A language doesnt need to be “hard” to make for a good challenge. PBasic is really just a annoying language, because of limitations in the hardware. A more featureful language gives you more capability. More capability lets you do more complex things, and is a better test of your grasp of programming concepts. The less time you spend fighting with the language the more time you can do real programming.

*Originally posted by Mark Hamilton *
**A language doesnt need to be “hard” to make for a good challenge. PBasic is really just a annoying language, because of limitations in the hardware. A more featureful language gives you more capability. More capability lets you do more complex things, and is a better test of your grasp of programming concepts. The less time you spend fighting with the language the more time you can do real programming. **

Personally, I see the language and the controls hardware as a limitation. Much like how the mech side is limited to what materials it can use, we’re given a limit to make it a little more challenging. Our task is to do our best with what we have.

Normally, I would say it’s also cheaper this way, but seeing as how I myself have gotten several free samples from Microchip.com, I don’t think it would be terribly hard to get either free or cheap processors from them in large quantities.

Overall, I think the control system does need to adjust with the times, I just don’t think that time has quite come yet.

A language doesnt need to be “hard” to make for a good challenge. PBasic is really just a annoying language, because of limitations in the hardware. A more featureful language gives you more capability. More capability lets you do more complex things, and is a better test of your grasp of programming concepts. The less time you spend fighting with the language the more time you can do real programming.

I wouldn’t complain if the programming was easier, in fact i’d love a change to some of these other options, but that would be making it much too easy. If they expect another auton mode, though, they really ought to switch to one of the other options.

A language doesnt need to be “hard” to make for a good challenge. PBasic is really just a annoying language, because of limitations in the hardware. A more featureful language gives you more capability. More capability lets you do more complex things, and is a better test of your grasp of programming concepts. The less time you spend fighting with the language the more time you can do real programming.

Very well said. The BasicX would do exactly that.