Snow Plowing (Darth Vader) Sumo Bot

Finally, winter with lots of snow arrived in Switzerland. Getting up at 5am this morning to free up my front yard from the 25 cm snow which came down overnight, so I can drive my wife to work. She does not like driving in snow conditions, but it is fun for me :-). But lots of snow, I thought I could use a little helper bot:

Snow Plowing Sumo Bot

Snow Plowing Sumo Bot

Continue reading

Advertisements

McuOnEclipse Components: 27-Dec-2014 Release

This post is overdue, as it is about the McuOnEclipse components which have been released already a few days ago. The highlights are (beside smaller updates and bug fixes):

  • Nordic Semiconductor nRF24L01+ component extended for shared SPI bus usage
  • SD_Card component can use AsynchroSerial component for Kinetis
  • FatFS has added v0.10c patches
  • FSL_USB_Stack: Host support for Kinetis K20D72 and support for FRDM-K22F (K22FN512)
  • FreeRTOS has added Timer API support

    SourceForge 2014-12-27 Release

    SourceForge 2014-12-27 Release

Continue reading

USB with the Freescale FRDM-K22F Board

The FRDM-K22F is one of the latest members of the Freedom board families: 512 KByte Flash, 128 KB RAM and the usual Freedom board components on it. Unfortunately, Freescale decided not to populate the micro-SD card connector on the board, so from this perspective the FRDM-K64F is more value for the money. But the board has USB, so this makes it still interesting. And this is what this post is about: Adding USB to the FRDM-K22F board in a few minutes…

Freescale FRDM-K22F Board

Freescale FRDM-K22F Board

Continue reading

Code Coverage for Embedded Target with Eclipse, gcc and gcov

The great thing with open source tools like Eclipse and GNU (gcc, gdb) is that there is a wealth of excellent tools: one thing I had in mind to explore for a while is how to generate code coverage of my embedded application. Yes, GNU and Eclipse comes with code profiling and code coverage tools, all for free! The only downside seems to be that these tools seems to be rarely used for embedded targets. Maybe that knowledge is not widely available? So here is my attempt to change this :-).

Or: How cool is it to see in Eclipse how many times a line in my sources has been executed?

Line Coverage in Eclipse

Line Coverage in Eclipse

And best of all, it does not stop here….

Continue reading

Adding Multiple Include Paths to Build Settings in Eclipse

In Eclipse and CDT, I need to tell the compiler where it has to search for the header files. The normal way is to go to the compiler settings (menu Project > Properties > C/C++ Build > Settings) and then add the include paths, one by one, using the ‘+’ icon:

Adding Include Path

Adding Include Path (shown using the GNU ARM Eclipse plugin)

But for many include paths, this is a time-consuming process. But there is another way.

Continue reading

Sumo with GoPro, and other Sumo Videos

Here are the videos and results of the Mini-Sumo competition held on 19-Dec-2014 in Horw, Switzerland:

  • Winner full-autonomous tournament: “The:Flash”
  • Winner semi-autonomous tournament: “Banana-Rob”

See “Infotronic WS2014 Sumo Robots are Ready!” for all the robot portraits.

Watching a Sumo Battle

Watching a Sumo Battle

Continue reading

Tutorial: IoT Datalogger with ESP8266 WiFi Module and FRDM-KL25Z

In my earlier post “Tutorial: Web Server with the ESP8266 WiFi Module” I  used the ESP8266 WiFi module to run a local web server. This is a cool way to control devices inside my network. But to use that web page from the internet, I would need to open up my router which I don’t want to do for obvious reasons. Why not going the other way: host the web page in the internet, and have my board communicating with that internet page? This is exactly what this hype around IoT (Internet of Things) is all about :-).

ThingSpeak Channel for ESP8266

ThingSpeak Channel for ESP8266

Continue reading

McuOnEclipse Components: 07-Dec-2014 Release

Over the last weeks, several contributions, extensions and fixes have been added to the McuOnEclipse components, so a new release is available on SourceForge.

  • Bug fix for RingBuffer.
  • Better FreeRTOS task debugging with gdb.
  • Better watchdog support with Shell component.
  • Additional properties for PercepipTrace.
  • New Utility function ScanDoubleQuotedString() to scan a double quoted string.
  • LCDHTA with additional cursor functions.
  • New devices supported in FSL_USB_Stack: K22FN1M (FRDM-K22F), KL24Z48M, USB host support for K22F120/K22FX512).
  • RNet with nRF24L01+ to deal better with overflow situations.
  • A new component FreeRTOS_Tasks to create FreeRTOS tasks.
FreeRTOS Tasks Component

FreeRTOS Tasks Component

Continue reading

McGyver Way: Power over USB

Travel is a hassle these days: airline on strike in Europe, long security lines at the airport, bumpy flight and long transfer to the hotel which is so tiny that the taxi driver missed it twice! Anyway, at least this time the reservation of the room *did* work. Arrived completely tired and with notebook batteries drained and empty. Unpacked the power adapter, ready to charge it up. Only to realize that the notebook power supply cable does not match the travel adapter plug! :-(:

Travel Power Adapter Mismatch

Travel Power Adapter Mismatch

So I have packed the 3-pin notebook power supply instead my usual travel 2-pin one 😦

Continue reading