Get The Lead Out Of The Arduino Compile Process

Relief is here from long compile times when developing firmware for your Arduino project. [Paul] was puzzled by the fact that every file used in a sketch is fully recompiled every time you hit upload–even if that file didn’t change. To make things more confusing, this behavior isn’t consistent across all Arduino compatible hardware. The Teensy has an additional feature not seen when working with other hardware boards in that it reuses previously compiled code if nothing has changed. It even tells you which files are being reused, as shown in the image above.

After the break we’ve embedded [Paul’s] video that walks us through the process of editing the Arduino IDE to reuse previously compiled files. It’s a one-liner addition to the boards.txt file. For example, if you’re working with the Arduino Uno all that needs to be added is ‘uno.build.dependency=true’. [Paul] had previously submitted a patch to roll this into the Arduino IDE source code, but it was not accepted citing a need for more testing. He’s asking for help with that testing and wants you to post your thoughts, or any bug information, on the new issue he’s opened regarding this feature. Continue reading “Get The Lead Out Of The Arduino Compile Process”

ChipKIT Uno32: First Impressions And Benchmarks

Following Maker Faire, we’ve had a few days to poke around with Digilent’s 32-bit Arduino-compatible chipKIT boards and compiler. We have some initial performance figures to report, along with impressions of the hardware and software.

Continue reading “ChipKIT Uno32: First Impressions And Benchmarks”

BAMF2011: ChipKIT Is Arduino To The Power Of 32

If you’ve been hungry for more power for your microcontroller projects, but reluctant to dump your investment in Arduino shields or the libraries and community knowledge that go with them all, Digilent has you covered. Their new chipKIT boards are built around the Microchip PIC32 MCU…a powerful 32-bit chip that until recently was left out of the cross-platform scene. A majority of code and quite a number of Arduino shields will work “out of the box” with the chipKIT, and the familiar development tools are available for all three major operating systems: Windows, Mac and Linux.

We first mentioned these a couple weeks ago, but the software was unavailable at the time. Seeing the development tools in action was quite unexpected…

Continue reading “BAMF2011: ChipKIT Is Arduino To The Power Of 32”

IDE Bus Sniffing And Hard Drive Password Recovery

hdd_password_recovery

shackspace member [@dop3j0e] found himself in a real bind when trying to recover some data after his ThinkPad’s fingerprint scanner died. You see, he stored his hard drive password in the scanner, and over time completely forgot what it was. Once the scanner stopped working, he had no way to get at his data.

He brainstormed, trying to figure out the best way to recover his data. He considered reverse engineering the BIOS, which was an interesting exercise, but it did not yield any password data. He also thought about swapping the hard drive’s logic board with that of a similar drive, but it turns out that the password is stored on the platters, not the PCB.

With his options quickly running out, he turned to a piece of open-source hardware we’ve covered here in the past, the OpenBench Logic Sniffer. The IDE bus contains 16 data pins, and lucky for [@dop3j0e] the OpenBench has 16 5v pins as well – a perfect match. He wired the sniffer up to the laptop and booted the computer, watching SUMP for the unlock command to be issued. Sure enough he captured the password with ease, after which he unlocked and permanently removed it using hdparm.

Be sure to check out [@dop3j0e’s] presentation on the subject if you are interested in learning more about how the recovery was done.

TI’s Grace – A New MCU IDE GUI (DNFTT)

TI has recently been fighting to gain traction in the market of low-cost microcontroller development platforms with products such as the MSP430 Value Line Launchpad.  In order to meet the needs of a rapidly growing customer base and appeal to a broader market they have recently released Grace beta Graphical Peripheral Configuration Tool. Grace is a plugin for TI’s own Code-Composer Studio (CCS) IDE that allows users to graphically control many aspecst of MSP430 development and is compatible with all MSP430F2xx/G2xx MCUs.

Utilizing a simple “wizard-like” interface, Grace allows users to quickly and efficiently control peripherals such clocks, timers, OpAmps,  ADCs, GPIOs, comparators, and even more advanced features such as serial communications or the configuration of low-level register settings. Once everything is configured as desired, Grace outputs standard C code that can be debugged and handled as if it were hand-written.

Although Code-Composer Studio is not free, there is a 30-day full-featured trial available as well as other (restricted) free licensing options as well. Since CCS is based on the Eclipse open-source  software development framework, perhaps we will see other similar development tools in the near future. Although not an apples-to-apples comparison, we could imagine that such a tool might provide many novice users with a simple and cost-effective alternative to the Arduino IDE.

The questions then becomes: If a later incarnation were to raise the MSP430 line to “Arduino-killer” status, would it be rejoiced as such or would it simply then become a new target for those die-hard microcontroller purists who love to shout “overkill” on the forums at the slightest provocation? Of course we would love to hear your take in the comments below!

Header File Brings Arduino Sketches To The TI Launchpad

[Chris Hulbert] is making it easy for Arduino users to program MSP430 chips with a header file that allows you to compile Arduino sketches for the Launchpad. This makes sense, as the growing number of Arduino sketches available, and the low cost of the TI Launchpad make for a good bedfellows. It’s really wasn’t that hard to make this happen, although you’re not going to find support for all of the Arduino functions just yet.

At the time of writing, [Chris] has just 51 lines of code committed to the project. It provides macros for setup(), loop(), delay(), pinMode(), pinBit(), digitalWrite(), and digitalRead(). You’ll notice that one of the most important parts of the header file is that it disables the watchdog timer for the user (a stumbling block for many MSP430 beginners). It’s an interesting solution, but to be truly useful we’d want to see hardware integration with the Arduino IDE. That, as well as the rest of the Arduino functions are at the tips of your fingers. Get coding and submit your push requests to [Chris] for inclusion in his repository.

[Thanks Chris]

STK200 Pocket Change Programmer

A common complaints of beginners to microcontroller programming is the availability of DIY tools that do not require a parallel port.  Using not much more than a couple of 74xx series chips and some protoboard, [Rue] was able to create an AVR programmer for less than the cost of some chips it can program – giving parallel programmers a run for thier money. [Rue] used Linux treat the ubiquitous PATA/IDE port as a parallel port. By having avrdude treat the programmer as an Atmel STK200, [Rue] was able to upload a blinky program to his AVR microcontroller through ISP. If anybody can think of an even lower cost unconventional solution give us a shout.