Yet another Bluetooth Firmware: BC04

I was thinking that these common and cheap bluetooth modules have either HC-05 or HC-06 firmware (see this post). Well, I was wrong: there are more! Obviously there many more firmware images available on that British CSR BlueCore4-Ext chip. Mihai Surdeanu contacted me with an updated firmware for a module which has the “BC04” firmware on it. He was so gentle and has sent me an updated Processor Expert component which works with that BC04 firmware :-).

Continue reading →

Low Power with FreeRTOS: Tickless Idle Mode

It took me a while to find the time to upgrade to FreeRTOS V7.4.2, but finally it is done :-). What caused me to move from V7.2 to V7.4 is a low power application on the FRDM-KL25Z board. V7.4 comes with two major new features: Queue Sets and Tickles Idle Mode (see this article). The last one if of interest here.

FreeRTOS runs an IDLE task. This one runs when there is no other active task. That task calls an optional Idle task hook which is a perfect place to put the microcontroller into low power mode:

Task T1 Running

Task T1 Running

Continue reading →

Using the HC-06 Bluetooth Module

After my first post using a Bluetooth module, things have evolved a bit. The challenge with these Bluetooth modules is: they look the same, but having different firmware. I did not fully realize that until I have ordered another bluetooth module from dx.com:

DX.com Bluetooth Module (HC-06)

DX.com Bluetooth Module (HC-06)

That module comes already on a carrier, so I assumed I can use the same driver as for my other module. I was wrong :-(.

Continue reading →

Traps and Pitfalls: No Hex/Bin/S19 File Created with GNU?

I stumbled now twice over a problem, and only after a lot of head scratching (you should see my head now 😉 ) I have found the cause (and solution) for it. In the hope that I can save the readers of this blog some time, here is what happened.

I described in earlier posts how to enable GNU build tools to generate hex/bin/S19 files, or to write the code size to the console view. That works fine for me. But then I received a project were obviously this does not work: even with the project settings configured properly, there is no S19 file, and no code size printed. What’s wrong?

Additional Tools in ARM GNU Eclipse Panel

Additional Tools in ARM GNU Eclipse Panel

Continue reading →

Tutorial: Arduino Motor/Stepper/Servo Shield – Part 2: Timed Servo Moves

You have decided: More than 52% voted in Part 1 that the next topic should be Timed Servo Moves. So here we go :-).

This is about how to move the servos over time, instead of moving it to the given position as fast as possible. I’m using a linear approach here: moving the servos linearly over time.

Moving Servo Motors

Moving Servo Motors

Continue reading →

Tutorial: Arduino Motor/Stepper/Servo Shield – Part 1: Servos

This post starts a small (or larger?) series of tutorials using the Arduino Motor/Stepper/Servo Shield with the FRDM-KL25Z board. That motor shield is probably one of the most versatile on the market, and features 2 servo and 4 motor connectors for DC or stepper motors. That makes it a great shield for any robotic project :-).

Arduino Motor Stepper Servo Shield with FRDM-KL25Z

Arduino Motor Stepper Servo Shield with FRDM-KL25Z

Continue reading →

Character LCD with 4 Lines

Character LCD’s (like 2 lines with 16 characters each) as in this post are easy to use. Much easier to use compared to full graphical LCDs.

The ones I’m using have either 1 or 2 lines, but I saw that there are 4 line displays too. So far my LCD component only supports one or two lines.

4 Line LCD

4 Line LCD (Source: Ezequiel Bazotti)

Continue reading →

How to use MCUonEclipse GitHub without Git

Not everyone is familiar with Git, and not everyone wants to use it. Although I think using Git or SVN is something every software engineer today needs to master 😉 To make it easier for the ‘non-Gitter’ to use the Processor Expert components, they are available now as *.PEupd files as described here. However, the *.PEupd files are just a snapshot, and not the latest and greatest. So how to use the latest component sources and example projects without Git?

gits in a box

gits in a box

Continue reading →