This blog has grown over time, to the point I need to google my own articles ;-). To make it easier to find articles to a given topic, I try to list them here in a more or less organized way.
Table of Contents
- Compiling and Building
- Debugging
- Eclipse IDE
- Processor Expert
- Component Development Environment
- Eclipse Distributions
- Kinetis SDK
- Android
- RTOS
- File System
- USB
- Wireless
- Ethernet
- Robotics
- Adafruit Projects
- Raspberry Pi
- Embedded Systems
- Boards and Projects
- 3D Printing
- Fun for Engineers
- The Other Side
- Quotes
- Manya’s Diary
What is a “Compendium”?
“A compendium (plural: compendia; used often in Minnesota: compendiums) is a concise compilation of a body of knowledge. A compendium may summarize a larger work. In most cases the body of knowledge will concern some delimited field of human interest or endeavour (for example: hydrogeology, logology, ichthyology, phytosociology or myrmecology), while a “universal” encyclopedia can be referred to as a compendium of all human knowledge. It could also be referred to as a tome.” (Wikipedia)
Compiling and Building
About using the build system in Eclipse, compiling files and running builds. It is about using compiler/linker options, how to use libraries or how to set up projects.
- Projects with assembly files only: Go, assembly, go!
- Using GNU binutils to show content of libraries: Show me your files, lib!
- Using Make File projects: Make my Make with Eclipse and MCU10
- Build failure with outdated make files: No rule to make target
- Running PC-lint without an Eclipse plugin: Linting without a plugin
- Excluding files from build: Symbol defined or not, that’s the question
- Reduce compilation time with parallel build: Using Parallel Builds: what is optimal?
- Calculating CRC with the linker or external tool: CRC Calculation with MCU10
- The sense or nonsense of release and debug builds: Debug vs. Release?
- Generating S19 files: S-Record Generation with gcc for ARM/Kinetis
- Printing code size information with GNU: Code Size Information with gcc for ARM/Kinetis
- Generating S-Records, binary or Intel Hex files: S-Record, Intel Hex and Binary Files
- Changing compiler optimization level in the sources: Forcing/Checking Kinetis Compiler Optimization Level
- Using C++ with Processor Expert and MQX: Processor Expert, gcc C++ and Kinetis-L with MQXLite
- Building and using libraries with CodeWarrior: A Library with ARM gcc and Eclipse
- Using variables at absolute addresses: Defining Variables at Absolute Addresses with gcc
- Optimizing the ARM gcc startup code: Optimizing the Kinetis gcc Startup
- Optimizing code size with GNU gcc and CodeWarrior EWL libraries: Reducing Code Size with gcc and EWL
- Reducing the build time with parallel build: Reducing the build time with gcc for ARM and CodeWarrior
- Using a newer GNU toolchain with CodeWarrior: Switching ARM GNU gcc Toolchain in Eclipse
- How to build and link libraries with gcc in Eclipse: Creating and using Libraries with ARM gcc and Eclipse
- Problems with copy-paste and double quotes: The Quotation Problem
- How to compile C files in C mode with C++ projects : Compiling C Files with GNU ARM G++
- Size information with GNU tools: text, data and bss: Code and Data Size Explained
- Projects with and without floating point support: Adding/Removing Floating Point Format for S08 Projects
- Using file specific build/compile options: Traps and Pitfalls: No Hex/Bin/S19 File Created with GNU?
- How to convert an application file into different formats: Converting S19 Files into Binary Files with GNU objcopy
- ARM tools and IDE review: Overview of ARM Microcontrollers and Tools
- Changing the link order: Link Order: Using Multiple Definitions with ARM GNU Linker and Eclipse
- S19/S-Record file manipulation: S-Record Manipulation with GNU objcopy and Burner Utility
- GNU Tools: GNU Additional Tools: Create Flash Image, Print Size and Extended Listing Options
- Uninitialized variables: GNU Linker, can you NOT Initialize my Variable?
- Creating .bin (and S19) files: Binary Files for the mbed Bootloader with Eclipse and GNU ARM Eclipse Plugins
- Show code size after build: Printing Code Size Information in Eclipse
- Accelerating the build: Reducing Compile Time in Eclipse with Parallel Build
- Filling a pattern in the application file: FILLing unused Memory with the GNU Linker
- Using printf() and scanf() with launchpad libraries: printf() and scanf() with GNU ARM Libraries
- Code and data size for multiple files: Listing Code and Data Size for each Source File with GNU and Eclipse
- Not compiling/building a set of files: Exclude Source Files from Build in Eclipse
- How to overwrite GNU linker symbols in the .ld file: Overwriting Symbols in the GNU Linker File
- Rebuilding the GNU Libraries: GNU Libs with Debug Information: Rebuilding the GNU ARM Libraries
- How to do headless and automated builds: Building Projects with Eclipse from the Command Line
- How to execute multiple post-build actions in one command: Executing Multiple Commands as Post-Build Steps in Eclipse
- How to put generated files or special set of files into a dedicated section with the GNU linker file: Putting Code of Files into Special Section with the GNU Linker
- How to have the C++ static constructors called in KDS C++ projects: C++ with Kinetis Design Studio
- Shortcut for compiler settings: Adding Multiple Include Paths to Build Settings in Eclipse
- Instrumenting the code for profiling and coverage: Code Coverage for Embedded Target with Eclipse, gcc and gcov
- Transforming an application project into a library project: Creating a Library with Kinetis Design Studio
- Solving the command line length limitation (make, compiler, linker) on Windows: Solving the 8192 Character Command Line Limit on Windows
- Semihosting with launchpad tools: Semihosting with GNU ARM Embedded (Launchpad) and Kinetis Design Studio
- Adding CRC to the application: CRC Checksum Generation with ‘SRecord’ Tools for GNU and Eclipse
- Need for special __end__ symbol: Problem: undefined reference to ‘__end__’ if using Semihosting
- Make rebuild issue in Eclipse if ‘Refresh Policy’ is wrong: Eclipse Project ‘Refresh Policy’: Broken Incremental Build with External Make?
- Open Source Static Code Analysis: Open Source Static Code Analysis: Cppcheck with Eclipse
- Estimating the stack usage: GNU Static Stack Usage Analysis
- S19 record manipulations: Aligning S19 Records to 64-bit Boundaries
- Adding binary blobs and files to the GNU linking phase: Linking additional Object Files with GNU Linker
- GNU Optimization for Library Functions: GNU gcc printf() and BuiltIn Optimizations
- Generating preprocessor listing for gcc: Preprocessor Listing for GNU gcc with GNU ARM Eclipse Plugins
- Linting with Eclipse for ARM: Linting with Eclipse and the GNU ARM Embedded Launchpad Compiler
- Tool to merge S-Records: Merging S19 Files
Debugging
How to debug and use the Eclipse debugger. Eclipse provides a common CDT debugger front end, but depending on which debugger back end (GDB, CodeWarrior, …) things are a little bit different. Here it is about debugging, setting breakpoints and watchpoints, and how to use different debugging interfaces.
- How to use the Eclipse memory views: Memory is everything
- Troubleshooting if no source is displayed: No Source Available…
- Debugging little and big endian applications: A little or big Indian? A Plea for Peace…
- Debugging interrupts in Processor Expert applications: Oh my! An Interrupt…
- Debugging tips: “An error occurred…”: Applied Debugging Rules
- Updating outdated OSBDM debug firmware: Recovering my Chinese OSBDM
- Review of the P&E Multilink FX: Men In Black are back! Flashing and FX’ing…
- Flash programmer issue with overlapping memory ranges: Problem Occurred: Flash programming with overlapping memory
- Viewing the processor register without connection to the target: Offline Registers
- Scripting the debug session with a command line interface: Scripting: The Debugger Shell, Getting started…
- The ColdFire V2 interrupt controller trap: Traps&Pitfalls: Overlapping Interrupt Priorities
- Only programming some parts of the flash memory: Programming part of flash
- Triggering a breakpoint when a variable changes: Watchpoints: Data Breakpoints
- Standalone flash programmer and flashing an application without building/project: Flashing with a Button (and a Magic Wand)
- Writing the content of the target device to a file: Dump my Device Memory
- Affecting the trimming of Freescale S08 devices: Trimming S08 with P&E
- Debugging tips if debugger cannot access board: Device is secure?
- Dealing with blocked debuggers: Killing Me Softly: Zombies and Debugger Engines
- Stopping target in startup code, right after reset: Stop on startup
- Debugging global variables in Eclipse: Debugging Global Variables
- Launching scripts with breakpoints and CodeWarrior: Breakpoints with Special Effects
- Debugging static variables: Watching Static Variables
- Differences between different breakpoint types: Software and Hardware Breakpoints
- Using the CodeWarrior debugger shell for automation: Debugger Shell: Test Automation
- Programming the FLASH memory without project: Standalone Flash Programmer
- Programming the FLASH memory from the DOS command line: CodeWarrior Flash Programming from a DOS Shell
- Debugging strings with Eclipse: Eclipse Debugging with Strings – Part 1
- Debugging strings with Eclipse: Eclipse Debugging with Strings – Part 2
- Default number format debugging: Debugging Variables in Hexadecimal with Eclipse
- Debug Hovers in Eclipse: Hovering and Debugging
- Debugging and connecting an application already running on the board with CodeWarrior: Hot-Sync: Attach, Connect & Download
- How to fix problems with USB debug device drivers: Fixing the USB Drivers
- Assembly level stepping in Eclipse: Assembly Instruction Stepping
- Using the FRDM board to debug another board: JTAG/SWD Debugging with the FRDM-KL25Z Board
- How to debug an application which is already running on the target: Adding Symbols to the CodeWarrior Debugger
- How to debug ARM hard faults with trace buffers: Debugging ARM Cortex-M0+ Hard Fault with MTB Trace
- Watching variables changing while the application is running in Codewarrior: Live View for Variables and Memory
- Dealing with limited amount of hardware breakpoints. Skipping Breakpoints
- Review of the P&E Traclink: First Steps with the P&E Tracelink
- ‘Backward’ debugging: Stepping Backwards while Debugging: Move To Line
- Using the FRDM board as SWD programmer to program another board or CPU: Using the Freedom Board as SWD Programmer
- Using the FRDM board as a debugging device: Debug External Processors with USBDM and Freedom Board
- How to add the open source USBDM debug connection to CodeWarrior: Adding USBDM to CodeWarrior for MCU10.4
- Segger J-Link firmware for OpenSDA: Freedom Board with Segger OpenSDA Debug Firmware
- Using the ARM debug interface standard: CMSIS-DAP with IAR and the KL25Z Freedom Board
- Inspecting values while the application is running: Tutorial: FreeMASTER Visualization and Run-Time Debugging
- Tips for problems with FRDM Board debug interface: FRDM Board not responding? Check your Virus Scanner!
- Issue with Windows 8.1 and OpenSDA: FRDM Board Bootloader fails with Windows 8.1 Preview
- FRDM-KL25Z as programmer for ARM microcontroller: Using the FRDM-KL25Z with CMSIS-DAP to program non-Freescale ARM Microcontrollers
- P&E OpenSDA firmware: New P&E OpenSDA Firmware v114
- Debugging multiple projects: Debugging the same Project Multiple Times in Parallel with Eclipse
- Storing debug settings in project: Sharing Debug Configuration with Eclipse
- Variable debugging in Eclipse Kepler: Variable Debugging with Eclipse Kepler
- Eclipse Debug Configuration: Creating New Eclipse Debug Configuration
- Data Breakpoints: C/C++ Watchpoints with Eclipse Kepler
- Segger OpenSDAv2 Firmware: Segger J-Link Firmware for OpenSDAv2
- Segger GDB Settings: GNU ARM Eclipse & Segger J-Link Device Name Settings
- Updating OSBDM/OSJTAG Firmware: Step-by-Step: Updating OSBDM/OSJTAG Debug Firmware
- How to avoid that memory ranges are erased: Preserving Memory Ranges with Eclipse and P&E GDB Server
- How to be able to have source level debugging for the GNU Libraries: GNU Libs with Debug Information: Rebuilding the GNU ARM Libraries
- Updating the P&E GDB GNU ARM Eclipse: P&E Eclipse Update Site for GNU ARM Eclipse Plugins
- Printing from the application through the debugger: Semihosting with GNU ARM Embedded (LaunchPad) and GNU ARM Eclipse Debug Plugins
- Using the Open Source USBDM Debugger: Debugging FRDM-KL05Z with USBDM
- Added additional Freescale SVD XML files for the Eclipse EmbSysReg Viewer: Updated Eclipse EmbSysReg Viewer with extra Freescale SVD Files
- How to do a ‘Run’ with a ‘Debug’ configuration: Emulating Eclipse ‘Run’ with ‘Debug’ Configuration
- How to unprotect a device and to erase the full FLASH: Unlocking and Erasing FLASH with Segger J-Link
- Problem with GDB and non-existing code/data: Failed to Debug with GDB: Breakpoints or Expressions on non-existing Locations
- Step-by-Step instructions how to update the OpenSDA debug firmware: Illustrated Step-by-Step Instructions: Updating the Freescale Freedom Board Firmware
- Debugging in RAM instead of FLASH: RAM Target with Kinetis Design Studio and FRDM-K64F
- Tips and Tricks if debugging fails: Debugging Failure: Check List and Hints
- Exporting memory and program another board with it: Recovering the FRDM-K64F Bootloader, or: Cloning the Program of a Microcontroller
- Erasing the FLASH of a microcontroller with a special application: Tutorial: How to Erase the FLASH with the GNU debugger
- Debugging a running program: Attaching to a Running Target with Segger J-Link, GDB and Eclipse
- Commandline and IDE debugging with GDB and OpenOCD: OpenOCD/CMSIS-DAP Debugging with Eclipse and without an IDE
- Commandline flashing and debugging with GDB for Segger and P&E: Command Line Programming and Debugging with GDB
- Connect, attach and preserve memory range with P&E GDB Server and Eclipse: Updated P&E GDB Server for Eclipse: Connect/Attach and Advanced Flash Programming
- printf() through GDB debugger: Semihosting with GNU ARM Embedded (Launchpad) and Kinetis Design Studio
- Minimized debugging view: Breadcrumbing Mother’s Day: Minimized Debugging View with Eclipse
- Debugging the FRDM-K64F with P&E: Debugging the FRDM-K64F with P&E Multilink
- Dealing with debugging failures in GDB: GDB Client and Server: Unlocking GDB
- Disabling SWO for Segger J-Link: Solving “The connected emulator does not support serial wire output (SWO)” for Segger J-Link
- Semihosting with Kinetis Design Studio: Semihosting for Kinetis Design Studio V3.0.0 and GNU ARM Embedded (launchpad)
- Debugging ARM Hard Faults with GDB commands: Debugging ARM Cortex-M Hard Faults with GDB Custom Command
- Segger RTT through the J-Link debugging probe: Search No search term specified. Showing recent items. Using Segger Real Time Terminal (RTT) with Eclipse
- Printing the value of variables while target is running: Automatic Variable, Expression and Memory Display with GDB and Eclipse
- Automated batch programming multiple boards: Batch Programming with GDB: Segger J-Link and P&E Multilink
- Updating Segger software and tools: Updating Segger Tools in Eclipse Kinetis Design Studio
- Flashing Kinetis from DOS Shell: Programming Kinetis with CodeWarrior from the DOS Shell
- Stepping into nested function calls: Better Debugging with Eclipse: Step Into Selection
- Using the Freescale FRDM-K64F Board as a debugging probe: Using FRDM-K64F Board to debug another Kinetis Board
- Eclipse with register detail viewer: Freescale CMSIS-SVD Register Files with Eclipse MARS and EmbSysRegView
- GDB FreeRTOS Thread Debugging: FreeRTOS ARM Thread Debugging with Eclipse and GDB
- Using the KwikStik Board as debugger: Using the KwikStik K40 Board to Debug an external Board
- Triggering the Reset Line on ARM Cortex: Hardware Reset for ARM Cortex-M with Segger J-Link and Kinetis Design Studio
- Debugging multiple boards:Debug Multiple Boards with GDB at the Same Time
- Better debugging floating point variables: Show Floating Point Variable Bytes in Eclipse CDT
- GDB troubleshooting:Solving “Launching: Configuring GDB Aborting Configuring GDB”
Eclipse IDE
In my view the best IDE in the world: Eclipse! The articles below should be applicable to any Eclipse based IDE: CodeWarrior, Code Composer Studio, Kinetis Design Studio, Atollic TrueStudio, Emprog Thunderbench…
- Additional color configurations in the editor view: Color makes the difference!
- Using multiple montors with Eclipse: Go, multiply and detach: Multiple Screens with Eclipse
- Eclipse has a powerfull diff utility built-in: Compare and Merge with Eclipse
- Solving problems with showing the wrong information in the Eclipse source view: Fixing the Eclipse Index
- Host shell interface in Eclipse: 5 Best Eclipse Plugins: #5 (WickedShell)
- Running PC-lint with Eclipse plugin: Eclipse and PC-lint: Linticator
- Viewing and editing hex files: 5 Best Eclipse Plugins: #4 (EHEP)
- Copy settings from one workspace to another: Copy my workspace settings
- Working with multiple workspaces: Managing recent workspaces
- Searching files and folders outside workspace: 5 Best Eclipse Plugins: #3 (System and Desktop Search)
- Eclipse global settings, tips and tricks: Eclipse global preferences
- Quick Access shortcut in Eclipse: Quick Access (CTRL+3)
- Useful Eclipse shortcuts: 10 Best Eclipse Shortcuts
- Eclipse shortcut to access all shortcuts: The Mother of all Eclipse Shortcuts
- Import/Export Eclipse projects: Exporting and Importing Projects in Eclipse
- Extra utilities for Eclipse: 5 Best Eclipse Plugins: #2 (AnyEdit Tools)
- Grouping projects in the workspace: Eclipse Working Sets Explained
- How to uninstall Eclipse plugins: Uninstalling Eclipse Plugins
- Plugin to match brackets in the editor: Bracketeer: the ultimate bracket plugin
- Mini-Version Control in Eclipse: Eclipse Local History & Quick Diff
- Automatically document your source code: 5 Best Eclipse Plugins: #1 (Eclox with Doxygen, Graphviz and Mscgen)
- Eclipse editor source folding: Eclipse Folding
- Special view to show what gets included by the compiler: Eclipse Include Browser
- Customizing the Eclipse Toolbar: Hide and Show Eclipse Toolbar
- Enlarging a view in Eclipse: Maximize Eclipse Views
- Using Eclipse in full screen mode: Eclipse Full Screen Mode Plugin
- Changing the default Eclipse Perspectives: Customize my Workspace Perspectives
- Filtering Problems View Messages: Filter my Problems
- Switching between different editor views: Switching Source Files in the Eclipse Editor (CTRL+TAB)
- The secrets behind the little icons: Icon and Label Decorators in Eclipse
- Show the current workspace used in Eclipse: Show Workspace Location in the Title Bar
- Improving Eclipse performance dealing with large files: Eclipse Editor Scalability
- Dealing with emtpy lines in the editor view: Removing Blank Lines in Eclipse
- Configuration of spaces and tabs in Eclipse editor: Spaces vs. Tabs in Eclipse
- Show/Hide spaces in Eclipse editor: White Space or not, that’s the question
- Controlling the Eclipse Editor: Compiler Defines and Eclipse Editor Highlighting
- Debug Hovers in Eclipse: Hovering and Debugging
- Assembly level stepping in Eclipse: Assembly Instruction Stepping
- Trapped by characters: Foreign Characters for the Eclipse Build System
- Using the Eclipse build-in static code analysis: Free Static Code Analysis with Eclipse
- Using the Eclipse build-in spelling checker: Eclipse Spell Checker
- Tips and tricks for dealing with workspaces in Eclipse: Eclipse Workspace Tips
- Show the line number information in the Eclipse source view: Line Numbers in Eclipse
- Tips about changing the settings of Eclipse for increased productivity: Top 10 Customization of Eclipse Settings
- Faster writing code with templates: Editor Templates in Eclipse
- Switching editor views using keyboard shortcuts: Quick Switch Editor in Eclipse
- How to undo file deletion in Eclipse: Restore Deleted Files in Eclipse with Local History
- How to re-enable dialogs in Eclipse: Show it again! (How to re-enable hidden Dialogs in Eclipse)
- Filtering error/warning/messages for a project: Eclipse Problems View: Only Show Problems for Project
- Spell checker in Eclipse: How to re-enable ‘Add to dictionary’ for the Eclipse Spell Checker
- Using GIT with Eclipse: Installing eGit in Eclipse and CodeWarrior for MCU10.4
- LaTeX in Eclipse: Compiling Documentation and Presentations: LaTeX
- Review of Emprog Thunderbench: Review: ThunderBench with the Freescale FRDM Board and Processor Expert
- How to use IAR tools in Eclipse: Tutorial: Replacing IAR EW with Eclipse IDE
- Eclipse memory usage: Show Heap Status in Eclipse
- Comparing files outside the workspace: Compare External Files in Eclipse
- Variables in Eclipse: Eclipse Build Variables
- DIY Part 1: DIY Free Toolchain for Kinetis: Part 1 – GNU ARM Build Tools
- DIY Part 2: DIY Free Toolchain for Kinetis: Part 2 – Eclipse IDE
- DIY Part 3: DIY Free Toolchain for Kinetis: Part 3 – Debugger (GDB Server with P&E and Segger)
- DIY Part 4: DIY Free Toolchain for Kinetis: Part 4 – Processor Expert for Eclipse
- DIY Part 5: DIY Free Toolchain for Kinetis: Part 5 – FreeRTOS Eclipse Kernel Awareness with GDB
- DIY Part 6: DIY Free Toolchain for Kinetis: Part 6 – Linux Host with OpenOCD and CMSIS-DAP
- DIY Part 7: DIY Free Toolchain for Kinetis: Part 7 – GNU ARM Eclipse Plugins
- DIY Part 8: DIY Free Toolchain for Kinetis: Part 8 – Processor Expert, Eclipse and GNU ARM Eclipse Plugins
- DIY Part 9: DIY Free Toolchain for Kinetis: Part 9 – Express Setup in 8 Steps
- DIY Part 10: DIY Free Toolchain for Kinetis: Part 10 – Project Creation with GNU ARM Eclipse 2.1.1
- Terminal View: Serial Terminal View with Eclipse Kepler
- Eclipse Debug Configuration: Creating New Eclipse Debug Configuration
- Data Breakpoints: C/C++ Watchpoints with Eclipse Kepler
- Build your own IDE: Constructing a Classroom IDE with Eclipse for ARM
- Register detail view: How to Add Register Details View in Eclipse
- CMSIS-SVD register groups with Eclipse: EmbSys Registers View with CMSIS-SVD dimElementGroup
- Making a local copy of a remote update site: Replicating an Eclipse Update Site for Offline Usage
- Improving Eclipse performance and reducing memory needs: Eclipse Performance Improvement Tip: Close Unused Projects
- Semihosting with the GNU ARM Eclipse plugins: Semihosting with GNU ARM Embedded (LaunchPad) and GNU ARM Eclipse Debug Plugins
- How to do headless and automated builds: Building Projects with Eclipse from the Command Line
- How to add files to projects: How to Add Existing Files to Eclipse Projects
- Comparison and code size benchmark between CodeWarrior for MCU V10.6 and Kinetis Design Studio V1.1.1: Comparing CodeWarrior with Kinetis Design Studio
- How to use Atollic TrueSTUDIO with Processor Expert: Adding Processor Expert to Atollic TrueSTUDIO
- How to open a folder or the file location from Eclipse IDE: Adding ‘Show in Windows Explorer’ to Eclipse
- Copy-Paste feature for build tool settings: Adding Multiple Include Paths to Build Settings in Eclipse
- Code Coverage with Eclipse: Code Coverage for Embedded Target with Eclipse, gcc and gcov
- Transforming an application project into a library project: Creating a Library with Kinetis Design Studio
- How to use Eclipse projects with IAR: Using Kinetis Design Studio with IAR Embedded Workbench IDE
- Open closed projects with double-click: Quick Way to Open Closed Project in Eclipse
- Console or terminal with Eclipse: Serial Terminal View in Eclipse Luna
- Reducing installation time in Eclipse: Reduce Eclipse ‘Install New Software’ Installation Time
- Edit the compiler include path settings: Editing Compiler Include (or other) Settings in Eclipse
- Using and defining filters for the Project Explorer view: Eclipse Project Explorer Filters
- If Eclipse updates fail: Workaround for “Installing Software has encountered a problem” in Eclipse
- Open Source Static Code Analysis: Open Source Static Code Analysis: Cppcheck with Eclipse
- Segger RTT with Eclipse Telnet Client: Search No search term specified. Showing recent items. Using Segger Real Time Terminal (RTT) with Eclipse
- Showing opcode in disassembly: Show Opcodes in Eclipse Disassembly View
- Increase the Java Heap: Improve Eclipse Performance with Increased Heap Size
- Building a DIY IDE with Eclipse Mars: Going to Mars: Building a DIY Eclipse IDE for ARM Embedded Microcontrollers
- Build and debug launchbar: New in Eclipse Mars: Launchbar
- Eclipse MARS with register detail viewer: Freescale CMSIS-SVD Register Files with Eclipse MARS and EmbSysRegView
- How to debug FreeRTOS Threads: FreeRTOS ARM Thread Debugging with Eclipse and GDB
- Adding custom buttons to the Eclipse toolbar: How to Add Undo/Redo Toolbar Buttons to Eclipse
- Renaming an Eclipse project: Renaming Eclipse CDT Projects
Processor Expert
Everything about Processor Expert and the CDE (Component Development Environment), either in CodeWarrior, Kinetis Design Studio, IAR, Keil or Driver Suite:
- Generating individual interrupt vector functions: Oh my! An Interrupt…
- Using Configurations in to build different source code: Configurations with Processor Expert
- Adding components and methods calls: Drag&Drop in Processor Expert
- Tutorial how to use Processor Expert with Eclipse: Quickstart for Processor Expert in Eclipse
- Which source files are touched by Processor Expert: Shared Files maintained by Processor Expert
- Disabling code generation for everything or for individual components: Disable my Code Generation
- Using Processor Expert code for non-Processor Expert projects: Sneaking from Processor Expert
- Copy component settings with templates: Copy my Component Settings: Processor Expert Templates
- Differences between LDD (Logical Device Drivers) and ‘normal’ components: There is a Time and Date for both Worlds
- Switching the processor in a project: Changing the CPU with Processor Expert
- Using C++ with Processor Expert and MQX: Processor Expert, gcc C++ and Kinetis-L with MQXLite
- Disabling Processor Expert for a project: Removal of Processor Expert for a Project
- Online help about Processor Expert component usage: Getting Help on Processor Expert Components
- Simpler usage for LED’s with Processor Expert: LED’s for Kinetis, simplified
- Debugging ARM Exceptions with Processor Expert: A Processor Expert Component to Help with Hard Faults
- Listing pin muxing and pin labels: Pin and Signal List with Processor Expert
- Command line interface and dimming LEDs’: PWM and Shell for a LED
- Dealing with wrong error reports in Processor Expert: Resolving Processor Expert Bogus Errors
- Switching different views levels for the Component Inspector view: Enabling the Expert Level in Processor Expert
- Using IAR with Processor Expert: Tutorial: IAR + FreeRTOS + Freedom Board
- View to see the register configuration and settings created by the components: Processor Expert Configuration Registers View
- Changing the CPU pinout or package in a project: Switching Processor Package in Processor Expert
- How to find a property in a component: Search in Processor Expert Component Properties
- How to use Pulse Width Modulation (PWM): Tutorial: PWM with Processor Expert
- How to use Processor Expert files in a version control system: Version Control with Processor Expert Projects
- How to use Processor Expert component settings in a new project: Copy of Processor Expert Components
- Implementation of bootloader with Processor Expert: Serial Bootloader for the Freedom Board with Processor Expert
- How to install extra Processor Expert components: Processor Expert Component *.PEupd Files on GitHub
- Programming with Processor Expert PDD macros: Low-Level Coding with PDD (Physical Device Driver)
- Processor Expert Driver Suite as front end for Keil: Using Keil µVision (ARM-MDK) with Processor Expert Driver Suite
- How to use macros to optimize Processor Expert function calls: Optimized BitIO_LDD Programming with Processor Expert
- Changing Initialization order: Changing Initialization Sequence in Processor Expert
- Performance Tuning of Processor Expert: How to Avoid Slow Processor Expert Projects
- Generating Processor Expert code from command line: Eclipse Command Line Code Generation with Processor Expert
- Using Processor Expert with CodeWarrior for MCU v10.5: Workaround for Processor Expert ‘Components’ View Synchronization
- Using Processor Expert with IAR: IAR ARM v6.7 comes with improved Processor Expert Support
- Components Library filtering: Processor Expert Component not Showing Up?
- Processor Expert V10.3 Release: Processor Expert Driver Suite V10.3 Available
- Processor Expert V10.4 Release: Processor Expert (Driver Suite/Plugins/KDS) V10.4 with new Component Inspector
- Dealing with Interrupts: Tutorial: User Interrupts with Processor Expert
- Pin Muxing: Pin Muxing: Using the NMI Pin as GPIO Pin
- New ‘Tabbed’ View: Switching between ‘tabs’ and ‘no-tabs’ UI in Processor Expert
- Find Settings in Component Inspector: Finding Settings in Processor Expert Components
- Generating Doxygen documenation with Processor Expert: Automatic Documentation Generation: Doxygen with Processor Expert
- Using the NMI pin for user interrupts: User Interrupt on NMI Pin with Kinetis and ExtInt Component
- Extra McuOnEclipse Processor Expert components on SourceForge: McuOnEclipse Releases on SourceForge
- How to get a proposal of values to enter: Processor Expert Value Proposals
- Explanation of Events in Processor Expert: Processor Expert Events
- How to use the Keil μVision 5 with Processor Expert: Using Keil μVision 5 with Processor Expert
- How to use Atollic TrueSTUDIO with Processor Expert: Adding Processor Expert to Atollic TrueSTUDIO
- New component release: Updated McuOnEclipse Components: USB for KL24Z, FatFs v0.10c, Shell Backspace and FreeRTOS Trace Hook Configuration
- New component release on SourceForge: McuOnEclipse Components: 07-Dec-2014 Release
- New component release on SourceForge: McuOnEclipse Components: 27-Dec-2014 Release
- Shell component with added history functionality: Shell Component with History Function
- New component release on SourceForge: McuOnEclipse Components: 03-Feb-2015 Release
- Processor Expert components and projects with IAR Embedded Workbench: Using Kinetis Design Studio with IAR Embedded Workbench IDE
- New component release on SourceForge: McuOnEclipse Components: 22-Mar-2015 Release
- Freescale survey on Processor Expert: Freescale Processor Expert Survey
- Adding Processor Expert to NXP LPCXpresso: Merging NXP LPCXpresso IDE with Freescale Kinetis Design Studio, Processor Expert and Kinetis SDK
- Using Keil and IAR with Kinetis Design Studio: Tutorial: Using Kinetis Design Studio V3.0.0 with IAR and Keil IDE’s
- New component release on SourceForge: McuOnEclipse Components: 05-July-2015 Release
- New repository model in Processor Expert for Kinetis v3.0.0: Processor Expert Component Repositories
- New components available: McuOnEclipse Components: 17-Oct-2015 Release
- An overview about the Processor Expert technology: Overview: Processor Expert
- New components release on SourceForge: McuOnEclipse Components: 08-Nov-2015 Release
- New McuOnEclipse components release: McuOnEclipse Components: 22-Nov-2015 Release
- First release in 2016: McuOnEclipse Release 10-Jan-2016
- 7. Feb. 2016 release:McuOnEclipse Components: 7-Feb-2016 Release
Component Development Environment
Everything about the Processor Expert CDE (Component Development Environment) which is used to create components:
- Show the method names of inherited components: CDE: Show Inherited Methods
- How to change the name of inherited components: CDE: Inherited Component Base Name
- How to create an RTOS component: The Making Of RTOS Processor Expert Components
- Dissection of CDE files: CDE Hacking: Where is my stuff? A dissection…
- Using .inc files as function header: CDE Hacking: *.inc Files
- How to use a custom icon for a component: CDE Hacking: Component Icon
- Select the RTOS component category: CDE RTOS Hacking: Show it as an RTOS component
- How to generate code based on which compiler or microcontroller is used: CDE Hacking: Processor and Compiler
- Differences between LDD (Logical Device Drivers) and ‘normal’ components: There is a Time and Date for both Worlds
- A layered approach for drivers: A Generic I2C High Level Driver
- The component sources and examples are shared on GitHub repository: McuOnEclipse goes Git
- Creating a new component: Tutorial: Creating a Processor Expert Component for an Accelerometer
- Extended accelerometer driver: Extended Driver for the MMA8451Q Accelerometer
- How to install extra Processor Expert components: Processor Expert Component *.PEupd Files on GitHub
- Using *.PEupd Files with Git: How to use MCUonEclipse GitHub without Git
- Debug mode for components: Processor Expert CDE: Debug Verbose Mode
- Changing component code: DIY: Changing Processor Expert Components
- Hiding an inherited-only component: Hiding a Component in CDE
- Adding events to component: RingBuffer Component with Put/Get/Clear Events
Eclipse Distributions
Articles about the Eclipse based products and distributions: CodeWarrior, Kinetis Design Studio, …:
- Review of CodeWarrior V10.2: MCU10.2 is here! Or: 4 t-shirts in 13 weeks…
- The subprojects feature in CodeWarrior: Go Reference! Or: Subprojects in eclipse and MCU10.2
- Using CodeWarrior 10.2 with Ubuntu: MCU10.2 on Ubuntu 12.04 64bit
- Explanation of the files in a CodeWarrior project: Dissection of MCU10 Projects
- Copy of a CodeWarrior project: Copy my Project
- New update for CodeWarrior available: MCU10.2 Update 1.0.0 released
- Creating template projects with Eclipse CodeWarrior: Templates and Stationeries with MCU10.2
- Working sets the way of MQX: MQX Eclipse Working Sets
- Fixing CodeWarrior/MQX installation problem: Fixing the Morpho Core Exception
- Using the CodeWarrior debugger shell for automation: Debugger Shell: Test Automation
- Running into the CodeWarrior C++ code size limitation: Please Check Your License
- New beta version of CodeWarrior: CodeWarrior for MCU10.3 beta is now available
- Building and using libraries with CodeWarrior: A Library with ARM gcc and Eclipse
- Debugging and connecting an application already running on the board with CodeWarrior: Hot-Sync: Attach, Connect & Download
- Duplicate/copy CodeWarrior projects: Copy my CodeWarrior Project
- How to debug faster with CodeWarrior: Speeding up the Debug Launch in CodeWarrior
- Migrating projects to CW MCU v10.3: Migrating Kinetis-L Projects from Beta to Final MCU 10.3
- Review of the Red Suite 5: Red Suite 5: Eclipse Juno, Processor Expert and unlimited FRDM-KL25Z
- How to add the open source USBDM debug connection to CodeWarrior: Adding USBDM to CodeWarrior for MCU10.4
- Open source debug interface for CodeWarrior: USBDM 4.10.5 supports now MCU10.4
- Using GIT with CodeWarrior: Installing eGit in Eclipse and CodeWarrior for MCU10.4
- New Eclipse in CodeWarrior: New CodeWarrior for MCU10.5
- KDS at FTF: FTF: FRDM-K64F, Kinetis Design Studio and Kinetis SDK
- Semihosting in KDS: Semihosting with Kinetis Design Studio
- Exchanging the tool chain in KDS: Switching ARM GNU Tool Chain and Libraries in Kinetis Design Studio
- How to use printf() with UART: UART printf() for the FRDM-K64F Board and Kinetis Design Studio
- Transforming an application project into a library project: Creating a Library with Kinetis Design Studio
- Combining Kinetis Design Studio with NXP LPCXpresso: Merging NXP LPCXpresso IDE with Freescale Kinetis Design Studio, Processor Expert and Kinetis SDK
- How to use Freescale Kinetis Design Studio on Mac OS X: An Introduction to Kinetis Design Studio for Mac OS X
- Atollic provides unlimited code size: Atollic TrueSTUDIO Lite for ARM with Unlimited Code Size
Kinetis SDK
Articles around the Freescale Kinetis SDK (Software Development Kit) and drivers. The Kinetis SDK announced April 2014 is intendended to be the standard API to be used for Freescale Kinetis ARM Cortex devices.
- SDK at FTF: FTF: FRDM-K64F, Kinetis Design Studio and Kinetis SDK
- Startup Code of the SDK: Tutorial: DIY Kinetis SDK Project with Eclipse – Startup
- Board Configuration with the SDK: Tutorial: DIY Kinetis SDK Project with Eclipse – Board Configuration
- How to create a project with FreeRTOS and the SDK: Tutorial: FreeRTOS with the Kinetis SDK and Processor Expert
- Using Kinetis SDK to create a timer: Tutorial: Adafruit WS2812B NeoPixels with the Freescale FRDM-K64F Board – Part 4: Timer
- FreeRTOS and Kinetis SDK V1.3: Tutorial: FreeRTOS Projects with Kinetis SDK V1.3 and the SDK Project Generator
- Using Kinetis SDK V2.0 builder:First NXP Kinetis SDK Release: SDK V2.0 with Online On-Demand Package Builder
- Kinetis SDK code size reduction: Dealing with Code Size in Kinetis SDK v2.x Projects
- Blinky Tutorial with SDK V2.0:Tutorial: Blinky with the FRDM-KL27Z and Kinetis SDK v2
RTOS
To make an application scalable and easier extendable, most of my projects are running with an RTOS (Realtime Operating System). While I have used different operating systems, I have pretty much standardized on the open source FreeRTOS as it is available for virtually any toolchain and microprocessor:
- Using FreeRTOS with the Freescale S12(X) microcontrollers: Back to Classic: FreeRTOS for Freescale S12(X)
- Using a DIY hardware probe to trace an RTOS: Tracing FreeRTOS with a Hardware Probe
- Tracing the tasks, semaphores, messages, API calls and more of an RTOS: Tracing with FreeRTOS+Trace from Percepio
- New release of FreeRTOS: FreeRTOS V7.1.1 released
- Tracing the RTOS: Percepio FreeRTOS+Trace V2.2.2 released
- FreeRTOS with S08 and ColdFire DEMOJM board: Tutorial: FreeRTOS on DEMOJM
- Generating and visualizing tasks and more of FreeRTOS with Percepio: There is an ARM to Trace
- FreeRTOS with the Freescale Freedom board: FreeRTOS with GCC, Cortex-M0+ and Kinetis KL25Z Freedom Board
- Updated version of FreeRTOS: FreeRTOS V7.2.0 released
- Tutorial how to use FreeRTOS with ARM Cortex: Tutorial: Freedom with FreeRTOS and Kinetis-L
- Using C++ with Processor Expert and MQX: Processor Expert, gcc C++ and Kinetis-L with MQXLite
- Using ARM Cortex interrupts with FreeRTOS: ARM Cortex-M0+ Interrupts and FreeRTOS
- Using FreeRTOS with IAR and Processor Expert: Tutorial: IAR + FreeRTOS + Freedom Board
- Using FreeRTOS with the ARM Cortex-M0+ FRDM-KL05Z Board: FreeRTOS on the FRDM-KL05Z Board
- Low power with turning off tick timer: Low Power with FreeRTOS: Tickless Idle Mode
- Dealing with the Kinetis K Memory Segmentation: FreeRTOS Heap with Segmented Kinetis K SRAM
- New FreeRTOS version with new functionality: FreeRTOS V7.5.0 released
- Using SysTick with FreeRTOS: Optimized FreeRTOS: Stack Check and SysTick for ARM Cortex Cores
- FreeRTOS for the Freescale DSC microcontrollers: FreeRTOS for the Freescale DSC 56F8400 Core
- Low Power with FreeRTOS: IoT: FreeRTOS Down to the Micro Amps
- FreeRTOS v8.0.0 released: FreeRTOS V8.0.0 Final Release available as Processor Expert Component
- Generating static FreeRTOS code: Generating Static FreeRTOS Source Code
- FreeRTOS with malloc() and stack pointer checks: FreeRTOS, malloc() and SP check with GNU Tools
- New Percepio Trace V2.6.0 for FreeRTOS: Updated Percepio Tracealyzer and Trace Library to Version V2.7.0
- GDB FreeRTOS Thread Debugging: FreeRTOS ARM Thread Debugging with Eclipse and GDB
- Tracing FreeRTOS with Segger SystemView: Segger SystemView: Realtime Analysis and Visualization for FreeRTOS
- FreeRTOS and Kinetis SDK V1.3: Tutorial: FreeRTOS Projects with Kinetis SDK V1.3 and the SDK Project Generator
File System
If using a file based memory system or an SD card, then a file system is used. I’m using in most of my projects the open source and Generic FAT File System from Elm-Chan:
- Using the FAT File System with SD cards: FatFs with Kinetis
- Configuration Files Component: FRDM with Arduino Ethernet Shield R3, Part 4: MinIni
- Multiple drives for FatFS: Multi-Drive Support with FatFS
Wireless
Several of my projects need wireless connectivity. I use different Bluetooth modules, IEEE802.15.4 8 (SMAC and ZigBee) and the proprietary Nordic Semiconductor nRF24L01 2.4 GHz transceiver:
- Freescale SMAC (Simple MAC) stack: SMAC with Processor Expert
- How to use the HC-05 Bluetooth module: Bluetooth with the Freedom Board
- Robot with wireless communication: Tracked Robot Update: Ultrasonic, Line Sensor and Shell with SMAC 802.15.4
- HC-06 Bluetooth module protocol: Using the HC-06 Bluetooth Module
- BC04 Bluetooth module and firmware differences: Yet another Bluetooth Firmware: BC04
- Using the nRF24L01+ from Nordic Semiconductor with the Freescale FRDM-KL25Z board: Tutorial: Ultra Low Cost 2.4 GHz Wireless Transceiver with the FRDM Board
- Custom nRF24L01+ shield: First Set of nRF24L01+ Wireless Sensor Nodes with FRDM-KL25Z
- RNet open source stack: RNet: A Simple Open Source Radio Network Stack
- Sumo robot with IEEE802.15.4: IEEE802.15.4 for the Zumo RobotSumo robot with IEEE802.15.4 remote controller: Sumo Robot with Accelerometer Remote Controller
- RNet stack extended: RNet: optional ACK, Dynamic Payload and Extended nRF24L01+ Driver
- RNet stack for HCS08 and MC13201: RNet Stack for 8bit MC9S08QE128 Microcontroller and MC13201 Transceiver
- RNet component: RNet Stack as Component, nRF24L01+ with Software SPI
- Bluetooth board V1.06: Getting Bluetooth Working with JY-MCU BT_BOARD V1.06
- Joystick with nRF24L01: Joystick Shield with nRF24L01 driving a Zumo Robot
- Jostick shield and FRD-KL25Z: JoyStick Shield with the FRDM Board
- RNet Stack for MC1320x and nRF24L01+: Enhanced RNet Wireless Components and Communication Stack
- New inexpensive WiFi Module: Cheap and Simple WiFi with ESP8266 for the FRDM Board
- Building a web server: Tutorial: Web Server with the ESP8266 WiFi Module
- IoT with ESP8266: Tutorial: IoT Datalogger with ESP8266 WiFi Module and FRDM-KL25Z
- BLE with NXP Kinetis: How to Add Bluetooth Low Energy (BLE) Connection to ARM Cortex-M
- 2.4 GHz with nRF24L01+:nRF24L01+ 2.4 GHz Wireless Connectivity with the tinyK20 Board
USB
Many modern microprocesor have an USB(Universal Serial Bus) controller on it, and I have different USB host and device classes used in my projects:
- Building a USB stack with Processor Expert: USB or not: CDC with Processor Expert
- New release of the Processor Expert McuOnEclipse USB component: USB CDC, reloaded
- Issue with certain packet sizes: FSL_USB_Stack updated: sending 16 or 32 byte blocks
- Added Freescale MM devices to the USB Stack: USB CDC goes medical
- Adding USB CDC to OSBDM/OSJTAG debugging interface: Virtual COM/USB CDC for OSBDM/OSJTAG
- USB Communication Device Class with Kinetis: Tutorial: USB CDC with the KL25Z Freedom Board
- How to use the FRDM board in USB host mode: USB Host Mode Hack for the Freedom KL25Z Board
- Modularized USB component with device and host classes: USB Component Splitted and Updated
- USB CDC and SCI on FRDM board: USB CDC and SCI: Side-by-Side with the Freedom Board
- USB MSD Host implementation for the FRDM-KL25Z: USB MSD Host for the Freedom Board
- USB CDC with a FRDM board: USB CDC with the FRDM-K20D50M
- USB Keyboard device class: Using the FRDM-KL25Z as USB Keyboard
- Using USB Host mode with the FRDM K20 board: USB MSD Host for the FRDM-K20D50M Board
- Connecting FRDM board with Android: FRDM-KL25Z talks to Android Phone
- USB on TWR-KL25Z48M Board: USB with the TWR-KL25Z48M Board: Check Jumper J18!
- USB for Frescale boards: USB for the Freescale ARM Kinetis KL46Z and K21D50M
- USB for TWR-K60F120M and TWR-K70F120M: USB with the TWR-K60F120M and TWR-K70F120M
- USB and TWR-K21F120M: USB for the TWR-K21F120M
- K64F and memory protection unit: USB CDC with the FRDM-K64F, finally!
- USB with the FRDM-K22F board: USB with the Freescale FRDM-K22F Board
- USB CDC and the Teensy 3.1 board: USB CDC with the Teensy 3.1 Board
- USB CDC with Raspberry Pi: USB CDC with the Raspberry Pi
Ethernet
If it is about connecting to the internet or to the LAN, then Ethernet is widely used. These posts are about Ethernet:
- Ethernet Shield Part 1: SD card: FRDM with Arduino Ethernet Shield R3, Part 1: SD Card
- Ethernet Shield Part 2: Ping: FRDM with Arduino Ethernet Shield R3, Part 2: Ping
- Ethernet Shield Part 3: Web Server: FRDM with Arduino Ethernet Shield R3, Part 3: Embedded Web Server
- Configuration Files Component: FRDM with Arduino Ethernet Shield R3, Part 4: MinIni
- lwIP with the FRDM-K64F: Tutorial: lwip with FreeRTOS and the Freescale FRDM-K64F Board
Robotics
In my classes and other projects, we are using all kinds of robots. Thh Sumo (or Zumo) bots are a great way to learn robotics and to have a lot of fun:
- PID control loop with Processor Expert driver: PID with Processor Expert
- Arduino Motor Shield to drive DC motors: FRDM-KL25Z with the Arduino Motor Shield
- Distance measurement with ultrasonic HC-SR04 sensor: Tutorial: Ultrasonic Ranging with the Freedom Board
- Building a low-cost robot with the FRDM-KL25Z board: The Freedom Robot
- Using the Pololu Zumo chassis and board with the Freescale FRDM-KL25Z board: The Freedom Zumo Robot
- Implementation of line following robot using the Pololu Zumo chassis and sensors: Zumo Line Following with FRDM-KL25Z
- Line following robot with Pololu motors and Arduino motor shield: Pololu Line Following Robot with Freedom Board
- Maze solvinig robot based on Pololu chassis: Freedom Robot solves the Maze
- Optimized strategy for maze solving robots: Maze solving FRDM-KL25Z Robot goes backward for Dead-Ends
- Tracked robot with IEEE802.15.4 transceiver: Freedom Track Robot with IEEE802.15.4/SMAC
- Robot with multiple sensors: Tracked Robot Update: Ultrasonic, Line Sensor and Shell with SMAC 802.15.4
- Using the Arduino motor shield: Tutorial: Arduino Motor/Stepper/Servo Shield – Part 1: Servos
- Using Pololu optical wheel encoders: Adding Quadrature Encoder to the Zumo Chassis
- Zumo blade mounting: Fail! The Zumo Shield Blade Problem
- Mini Sumo with FRDM-KL25Z: Mini Sumo Robot Competition running with FRDM-KL25Z
- Ultrasonic with Zumo: Mini Sumo Robot with Proximity Sensors
- New revision of Zumo PCB: Zumo Robot Chassis PCB arrived!
- New bots with custom PCB: Zumo Robot assembled
- Tips for Sumo battles: Sumo Robot Battle Tips
- Sumo robot with IEEE802.15.4: IEEE802.15.4 for the Zumo Robot
- Sumo robot with IEEE802.15.4 remote controller: Sumo Robot with Accelerometer Remote Controller
- Sumo testing sensors: Sumo Robots, Sensors and everything else….
- Sumo testing videos: Sumo Robots, one Week until Tournament
- Sumo tips & tricks: Zumo Robot Last Tuning Tips
- Mini-Sumo Robots: Sumo Robot Portraits
- Dec 2013 Mini-Sumo: INTRO Mini Sumo Tournament 2013: Lots of Fun!
- Pololu optical shaft encoder: Processing the Pololu Motor Shaft Encoders
- Pololu optical encoder processing: New Encoder PCB’s arrived
- Zumos in Bucharest: Zumo Robots in Bucharest
- Zumos at FTF2014: The Zumo Bots at FTF 2014
- Joystick with nRF24L01: Joystick Shield with nRF24L01 driving a Zumo Robot
- May 2014 Mini-Sumo: Mini-Sumo Robot Competition May 2014 in Horw
- New Zumo Board: New Zumo Robot PCBs Arrived!
- First view at the new Zumo board: First New Zumo Board out of the Reflow Oven
- First Zumo Bot built without FRDM board: Zumo Robot with WiFi and GPS
- Sensor and communication shield for robot and FRDM board: Sensor and Communication Shield for Sumo Robot
- New PCBs for Sumo Robot: New Sumo Robot PCBs Arrived!
- Populated and mounted sensor shield for the sumo robot: Sumo Robot Sensor Shield
- Robots celebrating Christmas: Autonomous Christmas Lab 2014 Video
- Portraits of the Infotronic course Fall 2014 course: Infotronic WS2014 Sumo Robots are Ready!
- Mini-Sumo competetion December 2014 in Horw: Sumo with GoPro, and other Sumo Videos
- Sumo Robot with Sound: Darth Vader Santa Claus Sumo Bot
- The ultimate solution for any areas with snow: Snow Plowing (Darth Vader) Sumo Bot
- Spring Semester 2015 Sumo Robot portraits: Sumo Robo Portraits – FS2015
- Sumo Robot Battles in Spring semester: Sumo Robot Competition FS2015
- Sumo Robots at Maker Faire: Zumo Robots at Maker Faire in Rome (16. – 18. Oct. 2015)
- New robot board: Zumo Robot with Magnetic Encoders
Embedded Systems
About the joy and pain of an embedded systems engineer: All about the low level bit stuff, driver development, the C and C++ language and dealing with real time aspects and programming close to the hardware.
- Using general purpose pins for I2C: Bit Banging I2C
- Using a command line shell to control a board: A Shell for the Freedom KL25Z Board
- Using Kinetis Timers to modulate LEDs: Tutorial: Timer (LED) with Processor Expert for Kinetis
- Using an accelerometer: Tutorial: Accelerating the KL25Z Freedom Board
- How to use printf(): Tutorial: printf() and “Hello World!” with the Freedom KL25Z Board
- Unsecuring a secured board: Unsecuring the KL25Z Freedom Board
- The importance of security and flash erase bits: How (not) to Secure my Microcontroller
- Programming input/output pins on Kinetis: Tutorial: Bits and Pins with Kinetis and the FRDM-KL25Z Board
- ARM Thumb mode assembly: Thumbs up with Assembly on ARM Cortex
- A handler for hard faults on ARM: Debugging Hard Faults on ARM Cortex-M
- A component for the Maxim Realtime Clocks: Processor Expert Maxim I2C RTC for the Arduino Data Logger Shield
- Recycling and using Nokia displays: Zero Cost 84×48 Graphical LCD for the Freedom Board
- Using character LCD displays and the FRDM Boards: HD44780 2×16 Character Display for Kinetis and Freedom Board
- I2C sniffer to counter crime: CSI Crime Scene Investigation with I2CSpy and Freedom Board
- How to motivate for engineering, the combination of psychology with sensors: Lie to Me! or: Building a Polygraph
- Building a DIY logic analyzer with the Freescale FRDM-KL25Z board: Turning the Freedom Board into a Logic Analyzer
- Tutorial about using printf() output to a console: Tutorial: Printf() with (and without) Processor Expert
- How to read analog values with an ADC (Analog-to-Digital-Converter): Tutorial: ADC with the Freedom Board
- How to build and use the ARM CMSIS library: Tutorial: Using the ARM CMSIS Library
- Remapping the reset pin to a GPIO pin on Kinetis: Using the Reset Button on the Freedom Board as User Button
- Bug with wrong clock prescaler settings: Be Aware of the Baud Problem
- Example of Digitial-to-Analog (DAC): DAC Example with the Freedom Board
- Adding trigger support to the DIY logic analyzer: Freedom Logic Analyzer with Triggers
- Improved DIY logic analyzer: Updated Freedom Board Logic Analyzer with DMA
- Decoding S19 or Motorola S-Records: Decoding S19 Files
- Using printf() without Processor Expert: printf() with the FRDM-KL25Z Board and without Processor Expert
- Why it is a bad idea to use printf(): Why I don’t like printf()
- Implementation of a serial bootloader: Serial Bootloader for the Freedom Board with Processor Expert
- New book published: Software Engineering for Embedded Systems
- How to recover a bricked board with debug pins disabled: Bricking and Recovering FRDM-KL25Z Boards: Reset, SWD Clock and Low Power
- Using the FRDM-KL25Z board and a data logger shield to control a heating system: Hacking the Heating System for Cooling – Geothermal Drilling with extra Benefits
- MAG3310 Magnetometer driver: Device Driver for Freescale MAG3110 Digital Magnetometer
- Using volatile in C and C++: “Volatile” can be harmful…
- EEPROM with I2C: Driver for Microchip 24xx Serial EEPROM
- Low Power with FRDM-KL25Z: Tutorial: Using the FRDM-KL25Z as Low Power Board
- Terminal emulation with Processor Expert: Tutorial: Using a Terminal Input and Output; *without* printf() and scanf()
- UID on Kinetis: Kinetis Unique Identification Register
- Bit-Banging I2C: Bit-Banging I2C with ResetBus() Functionality
- Critical Section problems and reentrancy: EnterCritical() and ExitCritical(): Why Things are Failing Badly
- Critical Sections: CriticalSection Component
- Low Power how-to: IoT: FreeRTOS Down to the Micro Amps
- Low Power LLS Mode on Kinetis: Starting Point for Kinetis Low Power LLS Mode
- Pin Muxing: Pin Muxing: Using the NMI Pin as GPIO Pin
- Flash protection and security: Preventing Reverse Engineering: Enabling Flash Security
- Programming the internal FLASH with the application: Configuration Data: Using the Internal FLASH instead of an external EEPROM
- Programming with Direct Memory Access: Tutorial: PWM with DMA on ARM/Kinetis
- Problem of slow oscillator startup: Slow 32 kHz Oscillator Startup
- Reading/Writing accelerometer registers over I2C: Enabling/Disabling FXOS8700CQ Device Needs a Delay
- Soldering for Engineers: How NOT to Solder Headers on a Board
- How to copy a firmware from one board to another: Recovering the FRDM-K64F Bootloader, or: Cloning the Program of a Microcontroller
- Code Coverage for an embedded target: Code Coverage for Embedded Target with Eclipse, gcc and gcov
- Sensing temperature and humidity: Using the DHT11/DHT22 Temperature/Humidity Sensor with a FRDM Board
- Books for learning embedded systems programming: New Books Page!
- How to use GNU tools to create a function trace: Poor Man’s Trace: Free-of-Charge Function Entry/Exit Trace with GNU Tools
- How to use the SHT11 sensor: Sensirion SHT11 Temperature and Humidity Sensor on a MikroElektronika Click Board
- Adding CRC to the application: CRC Checksum Generation with ‘SRecord’ Tools for GNU and Eclipse
- Pictures and videos from the Freescale Technology Forum (FTF) 2015 in Austin/TX: Impressions from Freescale Technology Forum 2015
- How to reset and restart an ARM Cortex-M microcontroller with software: How to Reset an ARM Cortex-M with Software
- Showing opcode in disassembly: Show Opcodes in Eclipse Disassembly View
- Removing unused/hidden drivers: Removing Hidden COM & LPT Ports and Devices on Windows
- Development Methodologies: Overview: From Snippets to Code Generation
- Estimating the stack usage: GNU Static Stack Usage Analysis
- Using GNU gprof on bare embedded: Tutorial: Using GNU Profiling (gprof) with ARM Cortex-M
- Possible layout problems with QFN packages: Learning from Failure: QFN Package Corner Problem
- Dealing with Nested ARM Interrupt Controller: NVIC: Disabling Interrupts on ARM Cortex-M and the Need for a Memory Barrier Instruction
- Triggering the Reset Line on ARM Cortex: Hardware Reset for ARM Cortex-M with Segger J-Link and Kinetis Design Studio
- Command line shell without RTOS:Tutorial: Bare-Metal Shell for Kinetis
- Using ARM CMSIS-Packs: Are ARM CMSIS-Pack the Future of Software Components?
- Tools for CMSIS-Pack: XML Editor & Checker for CMSIS-Pack in Eclipse
Android
Everything about Android and the RIoT board (https://mcuoneclipse.com/tag/riot-board/):
- Connecting FRDM board with Android: FRDM-KL25Z talks to Android Phone
- Getting started with the RIoT board: First Steps with the RIoT Board and Android
- Using Serial/Console with RIoT board: Terminal Connection to the RIoT Board
- Flashing a new Android firmware to the RIoT board: Flashing a new Android Image to the RIoT Board
- Using WiFi to the RIoT board: Adding the Wi-Pi WiFi Dongle to the RIoT Android Board
- Using the CAM8000-D camera: Adding the CAM8000-D Camera Module to the RIoT Board
- Using the CAM8100-U camera: Review of the CAM8100-U USB Camera with the RIoT Android Board
Adafruit Projects
Projects with the amazing products from Adafruit Industries. Adafruit has cool stuff and boards which makes is easy and fun to explore using microcontrollers.
- Using the thermal printer: Tutorial: Thermal Printer, Part 1: Hardware Setup with FRDM Board
- GPS data logger shield: Tutorial: Freedom Board with Adafruit Ultimate GPS Data Logger Shield
- GPS data and Google Earth: Combining GPS Data Logger with Google Earth
- Writing a driver for NeoPixels with DMA: First Adafruit NeoPixel Blinks with the FRDM Board
- Clock with NeoPixels: Adafruit NeoPixel Clock with 60 LEDs
- DMA with up to 8 lanes of NeoPixels: NeoShield: WS2812 RGB LED Shield with DMA and nRF24L01+
- Making musik with the Adafruit “Music Maker” MP3 shield: Tutorial: Playing MP3 Files with VS1053B and FRDM Board
- Sumo Robot with Sound: Darth Vader Santa Claus Sumo Bot
- Sensing temperature and humidity: Using the DHT11/DHT22 Temperature/Humidity Sensor with a FRDM Board
- Tutorial: Adafruit WS2812B NeoPixels with the Freescale FRDM-K64F Board – Part 1: Hardware
- Tutorial: Adafruit WS2812B NeoPixels with the Freescale FRDM-K64F Board – Part 2: Software Tools
- Tutorial: Adafruit WS2812B NeoPixels with the Freescale FRDM-K64F Board – Part 3: Concepts
- Tutorial: Adafruit WS2812B NeoPixels with the Freescale FRDM-K64F Board – Part 4: Timer
- Using Adafruit Bluefriend BLE module with NXP Kinetis: How to Add Bluetooth Low Energy (BLE) Connection to ARM Cortex-M
- Adafruit RGB Cube with 3D printed parts:Kinetis Lava LED Light Cube
Raspberry Pi
Projects and tutorials using the Raspberry Pi.
- Announcementof the Raspberry Pi Zero: A Raspberry Pi for $5! What are your decision factors?
- NOOBS setup for Raspberry Pi Zero: From Zero to NOOBS: Starting with Raspberry Pi Zero
- Adding the Raspberry Pi 7″ LCD: Adding a Touch LCD to the Raspberry Pi 2
- Getting the IP address of a networking Pi: Raspberry Pi Tips: IP Address
- Gettinig Started with openHAB: Installing openHAB Home Automation on Raspberry Pi
- Tuning openHAB: Autostarting openHAB on Raspberry Pi
- openHAB on Pi: Blinky LED with openHAB on Raspberry Pi
- USB CDC with NXP Boards: USB CDC with the Raspberry Pi
- Home automation with NXP Freedom boards:Controlling NXP Freedom Board RGB LED with openHAB and Raspberry Pi
- RGB Color LED cube with openHAB:openHAB RGB LED Light Cube with WS2812B and NXP Kinetis
Boards and Projects
Various projects for different boards (Freedom, Tower, etc) and board reviews, including student projects.
- New inexpensive ARM Cortex-M0+ (Freedom) board: Freescale Announces $13 ARM Cortex-M0+ Microcontroller Board
- Building a sports timing system: Sports Timing System in a Lunch Box
- How to use LEDs: Tutorial: Enlightning the Freedom KL25Z Board
- OpenSDA debug interface on FRDM boards: OpenSDA on the Freedom KL25Z Board
- Using an accelerometer on the FRDM board: Tutorial: Accelerating the KL25Z Freedom Board
- Freescale Seminar and Freedom Board: A Seminar, and Freedom with it
- Layout of Arduino headers on the FRDM board: KL25Z Freedom Board and Arduino Headers
- Using the TSI/Touch interface on the FRDM-KL25Z board: Tutorial: Touching the Freedom KL25Z Board
- How to use the FRDM board in USB host mode: USB Host Mode Hack for the Freedom KL25Z Board
- Adding the missing headers and parts to the FRDM board: Completing the FRDM-KL25Z Board
- Get the maximum speed with the FRDM-KL25Z board: Using the 8 MHz Crystal on the FRDM-KL25Z Freedom Board
- Using the FRDM board to debug another board: JTAG/SWD Debugging with the FRDM-KL25Z Board
- Using the Arduino Data Logger Shield with the Freedom board: Arduino Data-Logger Shield with the FRDM-KL25Z Board
- Review of Freescale KL05Z board: A new Freedom Board: FRDM-KL05Z
- Review of the Avnet wireless shield: First Steps with Avnet’s Wi-Go Board
- Basic interpreter on the Freedom board: Back to Basic(s) with the Freedom Board
- How to use mbed for the FRDM board: mbed for the Freedom Board
- Kickstarter project board: RFduino: Wireless Cortex Arduino to the Size of a Finger Tip
- Review of FRDM-K20D50M board: A new Freedom Board: FRDM-K20D50M with ARM Cortex M4
- Using printf() with the FRDM-KL25Z: printf() with the FRDM-KL25Z Board and without Processor Expert
- Using the FRDM board as a debugging device: Debug External Processors with USBDM and Freedom Board
- Board power supply problems: Fix for 3.3V Voltage Drop on FRDM-KL25Z Board
- Presentation of the Formula Student 2013 car: Rollout of ‘julier’ Formula Student Race Car
- Character LCD with more than two lines: Character LCD with 4 Lines
- Formula Student race car 2013 with 4-wheel drive: Julier 4WD Test Drive in Alpnach
- Formula Student race car 2013: Julier Formula Student Electrical Race Car as Television Star
- New revision of the FRDM-KL25Z board: FRDM-KL25Z RevE Board arrived
- Using debug pins with the application code: Bricking and Recovering FRDM-KL25Z Boards: Reset, SWD Clock and Low Power
- Using the Arduino motor shield: Tutorial: Arduino Motor/Stepper/Servo Shield – Part 1: Servos
- Servo motor driver for Arduino Motor Shield: Tutorial: Arduino Motor/Stepper/Servo Shield – Part 2: Timed Servo Moves
- 74HCT595 on the Arduino Motor Shield with the FRDM board: Tutorial: Arduino Motor/Stepper/Servo Shield – Part 3: 74HCT595 Shift Register
- 5V DC-DC converter for the FRDM boards: 5V Generation from V_IN on the Freedom Board RevE
- Formula Student at Silverstone: Historic Win in Silverstone: Congratulations to the AMZ Formula Student Team!
- Using the FRDM-KL25Z board and a data logger shield to control a heating system: Hacking the Heating System for Cooling – Geothermal Drilling with extra Benefits
- Freedom Board with LCD: A new Freedom Board: FRDM-KL46Z
- Cheap Open Source ARM M4 board: Kinetis ARM Cortex M4 DIY Board for $5
- ARM Cortex with 5V Logic Levels: A 5V Freedom Board? FRDM-KE02Z
- USB for Frescale boards: USB for the Freescale ARM Kinetis KL46Z and K21D50M
- Formula Student Electric success: Electric Race Car “julier” wins at Red Bull Ring in Spielberg
- Enable debugging for FRDM boards: The Freescale OpenSDA Trap: “No Device Available”, or something like that….
- Low Power with FRDM-KL25Z: Tutorial: Using the FRDM-KL25Z as Low Power Board
- Review of FRDM-KL26Z: Review: New FRDM-KL26Z Board
- Character LCD displays: Character LCD with 4 Lines and up to 64 Characters per Line
- TWR Prototyping Board: Tower Prototyping: PROTO Board, Breadboard on Ebay
- USB and TWR-K21F120M: USB for the TWR-K21F120M
- Embedded World 2014 boards: Boards from Embedded World (STM Nucleo, Atmel Xplained Mini, Cypress PSoC 4)
- Review of TWR-K64F120M: First Steps with the Freescale TWR-K64F120M
- FRDM-K64F at FTF: FTF: FRDM-K64F, Kinetis Design Studio and Kinetis SDK
- Unbricking the FRDM-K64F: Recovering FRDM-K64F mbed Board
- CodeWarrior and FRDM-K64F: Using the FRDM-K64F with CodeWarrior
- Configuration Files Component: FRDM with Arduino Ethernet Shield R3, Part 4: MinIni
- Jostick shield and FRD-KL25Z: JoyStick Shield with the FRDM Board
- FRDM-K64F Datalogger: Tutorial: Data Logger with the FRDM-K64F Board
- Clocks of FRDM-K64F: FRDM-K64F at Maximum Speed of 120 MHz
- FRDM Logic Analyzer: Updated Freedom Board Logic Analyzer with DMA
- Ultrasonic Shield: Programmable Ultrasonic Sensor Shield for FRDM Board
- nRF24L01+ for the FRDM-K64F: Tutorial: Nordic Semiconductor nRF24L01+ with the Freescale FRDM-K64F Board
- Nokia LCD with Game Shield: Snake Game on the FRDM-KL25Z with Nokia 5110 Display
- Modifying the Teensy V3.1 board for SWD/JTAG Debugging: Hacking the Teensy V3.1 for SWD Debugging
- ETH Zurich and Lucerne University of Applied Sciences and Arts break world record: Electrical Race Car Breaks Acceleration World Record
- Altium files for Headers on FRDM-KL25Z Board: FRDM-KL25Z Arduino Headers with Altium
- Altium file of the FRDM-KL25Z board: Altium File for Freescale FRDM-K25Z Board
- Sensing temperature and humidity: Using the DHT11/DHT22 Temperature/Humidity Sensor with a FRDM Board
- USB CDC and the Teensy 3.1 board: USB CDC with the Teensy 3.1 Board
- Building a ‘teensy-like-but-with-debugger’ board: Proof of Concept: Open Source ARM SWD Debug and General Purpose Board
- Steps to use the UART to USB CDC on the KL02 Freedom board: UART with the FRDM-KL02Z Board
- Prototype of a tiny debugger and development board: tinyK20 Open Source ARM Debug/Universal Board – First Prototypes
- Enclosure for USB thumb drive boards: tinyK20 USB Thumb Drive Enclosure
- Added micro-SD card to tinyK20 board: tinyK20: New Board with micro-SD Card
- FRDM board tutorials: Freescale Freedom Board Tutorials on Element14
- Using Freescale Kinetis Design Studio to debug NXP Board: Board Take-Over: Using Freescale to Debug NXP
- Debug other ARM devices with Freescale Freedom Board: Using the Freescale Freedom (FRDM-KL43Z) to Debug other Boards
- How to connect Segger J-Link to debug the STM32 Nucleo board: Debugging STM32F103RB NUCLEO Board with Segger J-Link
- Using the Freescale FRDM-K64F Board as a debugging probe: Using FRDM-K64F Board to debug another Kinetis Board
- First steps building my Quadrocopter: Kinetis Drone: Frame Construction with Graupner Race Copter Alpha 250 Q
- Introduction to Electronic Speed Controllers: Kinetis Drone: Driving the Electronic Speed Controllers
- Using the FRDM Board as debugger: SWD Debugging the FRDM-KL43Z
- Adding micro SD-Card to FRDM-K22F board: Added Micro SD Card Socket to FRDM-K22F
- Kinetis Drone: using accelerometer and gyro sensors: Kinetis Drone: Sensor Fusion Toolbox
- Kinetis Drone: How the ESC can fail: Kinetis Drone: Graupner ESC S3055 Failure
- Playing Tetris Game over Terminal: Playing Tetris with a FRDM-KL43Z Board
- First pictures from the tinyK20 in production phase: tinyK20 Board in Manufacturing
- tinyK20 boards before parts get populated: tinyK20 Production Boards Ready for Parts
- Decoding SUMD protocol: Kinetis Drone: Remote Controller with SUMD
- First test flights with the drone: Kinetis Drone: First Test Flights
- First 200 tinyK20 boards produced: Production tinyK20 Boards arrived!
- Data Logger with tinyK20: Data Logger with tinyK20 Board
- New Freedom Board FRDM-K82F: New Gadget to Explore: Freescale FRDM-K82F Board
- Bluetooth Low Energy with NXP Kinetis: How to Add Bluetooth Low Energy (BLE) Connection to ARM Cortex-M
- Small wearable touch display project on Kickstarter: Blaze: Miniature, Powerful, Hackable Display with Touch
- Adafruit RGB Cube with 3D printed parts:Kinetis Lava LED Light Cube
- Bootloader mode on tinyK20:How to put the Kinetis K20 on the tinyK20 Board into Bootloader Mode
3D Printing
My journey in the world of 3D printing:
- Printing a board enclosure: First 3D Printed tinyK20 Board Enclosure
- Printing a wireless charging station: 3D Printed Classic Mac Apple Watch Charging Station
- Printing Ingress MUFG: 3D Printed Magical MUFG Capsule to Duplicate NXP Kinetis K20 Boards
- 3D Printed SD card holder: The Return of the 3D Printed Flying Toaster!
- Case for remote controller board: 3D Printed Gameboy and Remote Controller with tinyK20 Board
Fun for Engineers
Only engineers will understand these posts:
- Meetings with Engineers: What Meetings feel like for Engineers
- About conference calls: A Conference Call in Real Life
- Patent by Confusion: The Turbo Encabulator
- The tunnel fun story: Engineering Joke of the Week: The Tunnel
- The C monkey: Engineering Joke of the Week: The Pet Shop
- The talking frog: Engineering Joke of the Week: The Frog
- Three wishes: Engineering Joke of the Week: The Genie
- Tricks for exams: True or False Exam Questions
- True physics by Douglas Adams:Freefall
The Other Side
Besides of teaching, tinkering and working under a pile of hardware boards, I love riding my motor bike and taking pictures:
- With this post everything started: hello world
- Are engineers pessimists? Engineering Honesty and Green Grass
- How do apes use a tablet: Touch the Screen: Apes with Apps
- Can humans multitask? Multitasking, or not?
- Hiking on top of the Hochflue: Escaping the Heat Wave
- Winter in the Berner Oberland: Grindelwald
- Warmer air over cold one: Inversion
- Spring in the lower valleys of Schwyz: Snow on Green
- Bunderful morning sky with sunlight and clouds: Burning Morning Sky
- Weather phenomena in central Switzerland: Foehn Wind and Ground Fog
- First spring flowers: Blooming Crocus
- Snow on flowers: Winter Strikes Back…
- Pictures of spring flowers: A Taste of Spring Time: Blooming Flowers and Trees
- I think I have one of the most beautiful commutes: Valley of Schwyz
- Morning Clouds with the Mythen mountain range: Morning Clouds
- Winters can be cold, and frozen fog can make for cool pictures: Frozen Fog
- Motor bike tour through the heart of the Swiss Alps: Swiss Mountain Three-Pass-Tour: Susten – Grimsel – Furka
- The somewhat-extended-motor-bike-tour through the Swiss Alps: Swiss Mountain Seven-Pass-Tour: Brünig – Grimsel – Furka – Gotthard – Nufenen – Grimsel – Susten
- Cloud scenery in the evening with the Rigi mountain: Evening Clouds
- Motor bike tour through the central part of Switzerland: Panoramas: Klausen – Pragel
- Blooming lavender in my backyard: Butterfly and Lavender
- Motor bike tour to the Stein Glacier: Stein Glacier with Stein Lake
- My morning commute to the university: Campus Horw and Mount Pilatus
- Motor bike tour to the Italian part of Switzerland: Tour to Italy
- Motor bike tour to the French part of Switzerland: Swiss National Day Tour: The Water Theme
- Wild bee collecting nectar on a flower: Wild Bee
- Beautiful mountain range in Austria: Zugspitze Arena
- Collection of summer mountain flowers: Wildflower Collection
- Pictures of butterflies in the Austrian Alps: Butterfly Collection
- Rainbows in front of Zugspitz and Sonnenspitz: Rainbow Valley
- Golden sunset at the end of a long day: Sunset Light on Zugspitze
- Lakes in the Zugspitz area from different angles: Mountain Lake Views
- Different mountain views and peaks around the Zugspitze: Mountain Views in Zugspitz Area
- Collection of wild flowers: Wildflowers, by Altitude
- Sunrise over the Mythen mountain peaks: Sunday Morning Flight
- Fascinating aerodynamics effect: Vapour Trail above Wing
- Using a robot as little helper monitoring the temperature: BBQ Smoker Monitoring Robot
- Indian summer colors in the Swiss Alps: Winter is Coming
- Smoking my own Brisket: My First DIY Smoked Beef Brisket: Day 1 – Preparation
- Smoking my own Brisket: My First DIY Smoked Beef Brisket: Day 2 – the Way and the Result
- Indian Summer Sunrise: Weekend Starting Fire
- Visit of Château de Chillon: Château de Chillon, Smoke on the Water
- Looking back at 1000 days of blogging: 1000 Days of Blogging: Numbers and Tips for You
- Indian Summer picture with Lake Lowerz and the Mythen mountains: November
- Last picture before the winter came: Cattle and Mountains
- White clouds everywhere: Symphony in White
- Flowers in the wrong season: Off-Season Flowers
- Sunday with an inversion situation: dense fog in the low areas, warm and sunny in the upper areas: Inversion Sunday
- Creative problem solving: McGyver Way: Power over USB
- Robots celebrating Christmas: Autonomous Christmas Lab 2014 Video
- Christmas Sunrise: Christmas Morning Sunrise Light
- Winter Day at the Zugspitze: Zugspitze
- Alpenglühn on the ZugSpitze: Golden Snow Crown
- Frozen fog on trees and plants: Frozen Snow Beauties
- Sunset over Kapellbrücke in Lucerne: Kapellbrücke
- Morning with snow covered Rigi: Snow Covered Queen of the Mountains
- View from the snow covered railway station in Steinerberg: Railway Station Winter Panoramic View
- Sunrise in Horw, Switzerland: Morning Burning Sky in Horw
- Sun covered central Switzerland: Winter Wonder Land Mirror Lake
- BIG Snow Men: Snow Men
- First pictures of sunny Spring time in Switzerland: Spring is coming, slowly…
- Campus Horw before a rainy day: Campus Horw, Yesterday
- Log of smoking pork ribs: Smoking BBQ Baby Back Ribs – Swiss Style
- Another BBQ experience: Preparing for Austin/TX – with no Rudy’s Sauce
- My next wallpaper: One of 80’000: Lightning Struck over Lucerne Area
- Alpine flower collection: A Conference, Yellow Flowers and Green Bugs …
- Panorama view to the south rim of the Wetterstein: Wetterstein Mountain Range
- Picture with a church of Leutasch: Church “St. Magdalena” in Oberleutasch, Tirol
- Composition of blue and green colors with flowers and a canyon: Compositions in Blue and Green
- The pain of air travel these days: The Joy of Travel – Ready to Reboot!
- Grey Squirrel in Austin: Austin Wildlife
- A friend of mine committed suicide: A Candle for a Friend
- How to green up your office space: The Most Green Office Space on Campus
- In memory of Andreas Lander: Field Art Link Star in Memory of Agent BBJ
- The Squirrel Castle: Hrad Veveří Castle
- Sunday morning view to Rigi and Lake Lowerz: Sunday Morning Start
- Colors of Yellowstone National Park: Hot Spring Colors
- Part 1: Barbecue Beef Brisket Texas Style – The Meat and the Salt
- Part 2: Barbecue Beef Brisket Texas Style – The Rub
- Part 3: Barbecue Beef Brisket Texas Style – The Fire
- Part 4: Barbecue Beef Brisket Texas Style – The Cooking
- Part 5: Barbecue Beef Brisket Texas Style – The Result
- Sunday morning panorama picture: Sunday and Rain is Coming …
- In the Swiss Alps: Föhn is here!
- Blue sky with clouds over the Mythen: Evening Clouds
- Approaching winter in Switzerland: Autumn Leaf Colors
- Rockslide in Switzerland: Impressive Videos: Rockfall near Evolène in the Swiss Alps
- Sunrise on Nov 1st: All Saints’ Day Sunday Morning
- Sunrise with Mythen mountain peaks: Blue Sunrise
- Morning with Lake Lauerz: Morning Autumn Mirror Lake
- Red sunset colors: Red Sunset behind Rigi
- View to the Mythen at Fall time: Golden Autumn and Phragmites
- Leaves on forrest path: Path Colors
- Yet another Rigi mountain sunset image: Sunset behind Rigi
- Wylen Kapelle near Brunnen: Chapel St. Laurentius Wylen
- Sunrise behind the Mythen with airplane trails: Morning Trails
- Smoking a Turkey: My First BBQ Smoked Turkey
- Solstice day: Winter Solstice: Good Morning, Red Morning Sky!
- BBQ for Christmas: Low and Slow: Christmas Smoked BBQ Veal Brisket
- Hiking in the snowless Italian Alps: Fane Alm
- Snow Flakes on Glas: Ice Flowers
- Dramatic Rock Fall: Forces of Nature: Video of Destructive Rockslide
- Sunrise with clouds: Composition in Black, White, Orange and Blue
- Green, white and blue: Winter is not over yet…
- Pop music and micro gravity: Upside Down & Inside Out: OK Go in (Micro) Zero Gravity
- Sunrise over frozen water: Fire & Ice: Winter Sunrise Reflections
- First sprint flowers: First of Spring: Crokus
Quotes
Collection of my favorite quotes.
- Edsger W. Dijkstra: Simplicity is a great virtue
- Unknown: 10 Types of People
- African proverb: Grass does not grow faster …
- Winston Churchill: Success is going from failure
- Konfuzius: If you are in a hurry
- Margaret Fuller: Knowledge
Manya’s Diary
Diary of an intern’s journey in the world of embedded systems.
- Met Manya at FTF: Say ‘Hello’ to Manya!
- Manya introduces herself: Hello World!! 🙂
- Out-Of-The-Box Experience with the Freescale FRDM-K64F board: Getting started with Kinetis FRDM- K64F: New and Better!! 🙂
- Project proposal using Adafruit NeoPixel matrix board: Let’s play with Freescale FRDM-K64F
- Overview of the FRDM-K64F board: Getting to know FRDM-K64F and more!! 🙂
- Overview of the Kinetis SDK: Learning about Kinetis SDK!!:)
- Starting the Freescale Kinetis Design Studio: How to use Kinetis Design Studio!!
- Working on on the project: Not done yet!! 😛
- Using KDS with Kinetis SDK: To write a program using KDS with Kinetis SDK!!
- First prototype: Thanks to Erich and FRDM-K64F!! 🙂
Happy Reading 🙂
Pingback: A Compendium: is this what you are looking for? | MCU on Eclipse
Pingback: 1000 Days of Blogging: Numbers and Tips for You | MCU on Eclipse
Pingback: Say ‘Hello’ to Manya! | MCU on Eclipse