At Cal-Eng we’re striving to make hobby robotics and electronics fun, rewarding, and easier! Our products are designed to offer features and concepts that aren’t simply duplications or subtle variations of what already exists on the market.
We’re aiming to have detailed photos, documentation, code examples, and even videos for every product we sell.
If you’re new to microcontroller programming, we’d suggest you start with the Arduino platform since it’s very mature and incredibly well supported. Our Arduino-compatible products are just that, compatible. We won’t sell baseline Arduino boards like the Uno or Deumillenove, since there are already hundreds of good resellers handling those, and regardless who you buy from, the quality is very good.
One commonly misunderstood fact is that the core value of Arduino platform is the programming environment (what goes on your PC). The standard Arduino hardware is actually common off-the-shelf Atmel ATmega microcontrollers and some simple circuitry, all of which has been around long before Arduino was created!
“AVR” microcontrollers, as they are more commonly know, have had a very strong following prior to the existence of Arduino, and have been used in a myriad of commercial and consumer applications, completely distinct from Arduino uses.
The incredible strength of Adruino was the idea to take an easy to understand, vaguely C-based programming language (Wiring), and define a standard way to identify the microcontroller pins and functions, regardless which particular microcontroller or configuration is used.
The platform really took off once easy to use USB PC interfaces were developed, along with the other very important innovation of a software-controlled reset, allowing “one-click” programming from the host PC development environment with no extra steps, or timed button pushes, needed.
Our Arduino products are “outside the box” concepts, most of which don’t look anything like a typical Arduino board, but they are designed to appear exactly like a Duemilanove or similar board your PC’s to Arduino programming environment (also know as an “IDE”).
For more basic information about how to set-up the Arduino environment and upload a simple program, follow the “Arduino Introduction” link.
We also really like the Microchip PIC microcontroller family, but the development tools, hardware requirements, and set-up are a little more complex, but still fairly easy for someone who is technically savvy.
If you haven’t tried PIC and you are familiar with Arduino, we’d recommend the JAL programming environment for PIC, which is quite a bit like Arduino, perhaps with an even easier to understand syntax. JAL somewhat is similar to Visual Basic, or PASCAL.
JAL is also incredibly efficient when it comes to the final compiled code that is created. In Arduino, the most basic “blink an LED” program is about 1kb. With JAL, an entire program to run a minisumo robot with enemy detection, servo control and line sensors would take less space!
In contrast to Arduino, most PIC applications will require a separate USB or serial programmer, like a “PICkit2”. PICkit2 clones are available for around $15 on eBay, and work very well. Since the PICkit2 (and PICkit3) are high-voltage programmers (12V, FYI), there’s no way you can “brick” a PIC chip with incorrect programmer setting, like you can do with an Atmel AVR, as used in Arduino!
There are certain PIC microcontrollers that offer built-in USB, and that can eliminate the need for a separate programmer, but the USB-enabled PICs tend to be expensive, quite complex and are physically large, thereby limiting their applications. One of the great strengths of the PIC family is the myriad of very small, yet very powerful MCUs that are available in easily handled footprints, like DIP/SOIC-8 and 14.
For more basic information about how to set-up a JAL programming environment for PIC, follow the “JAL/PIC Introduction” link.