Follow @jack_ganssle

For novel ideas about building embedded systems (both hardware and firmware), join the 28,000+ engineers who subscribe to The Embedded Muse, a free biweekly newsletter. The Muse has no hype and no vendor PR. Click here to subscribe.

Power supply giveaway

This month (September, 2018) we're giving away a 30 V 10 A power supply.

Articles About Embedded Systems by Title

(go here for articles by subject area or you can search for subjects of interest.

 

  • Bailing Frantically - In panic mode? You'll never exit it till you take time to stop bailing and plug the leaks.
  • Banking Basics - Ideas to help you expand your system's address space.
  • Beginner's Corner - In-Circuit-Emulators - A beginner's guide to the best debugging tool of all, the in-circuit emulator.
  • Beginner's Corner - Reentrancy - A beginner's guide to reentrancy issues.
  • Big Systems - Another piece on using x86 Protected Mode.
  • Bit Banging - You don't need a UART to send and receive serial data. Software alone suffices. Here's the code.
  • Boolean Algebra - Do you get the boolean blues? Those hardware weenies keep chatting about DeMorgan, truth and evil... and you're feeling left out? Read on.
  • Boss Management - Bosses need to be managed too.
  • Built-in Debuggers - More and more processors have built-in debugging resources. Here's a look at what features they offer.
  • Built-In Diagnostics - No system is useful unless it can be built in production. Add simple diagnostics.
  • Bus Cycles - Software folks need to understand how a microprocessor handles data on its busses. Here's the short intro.
  • Business 101 - You can't be an effective engineer unless you understand how your engineering role impacts the business as a whole. Step back, get a new zeitgeist, and expand your horizons a bit.

  • Data Compression - Transmission bandwidth is always limited (hey... if you're reading this over a 28.8kb link, you get the picture!). Data compression can help a lot.
  • Dear Abbey - Abbey talks to developers about building embedded systems.
  • Debuggable designs - Tips for improving hardware designs
  • Debugging ISRs - Part 1 - This is part 1 of a two part series on debugging interrupt service routines.
  • Debugging ISRs - Part 2 - This is part 2 of a two part series on debugging interrupt service routines.
  • Deconstructing XP - eXtreme Programming has some fabulous ideas. And some really dumb ones. This is a review of two XP books.
  • Definitions - Funny definitions of common embedded terms.
  • Depot Repair - Thoughts on our throwaway economy, and our role in it.
  • Design For Performance - Make the system as fast as it needs to be!
  • Developing a Good Bedside Manner - Thoughts about being a great debugger.
  • Digital Engineering is More Fun - Core memory was all we had years ago. It's interesting stuff.
  • Disaster - A description of some embedded disasters, and what we can learn from them.
  • DMA - Too many of us don't really understand DMA. Read on...
  • Do You Need A Degree - Is a degree needed? Useful?
  • Drawing Systems - Most small companies never organize their drawings in a logical fashion, and instead all-too-often rely on memory when building production units. Here's an easy system that will get your drawings in order.
  • DSP - An introduction to Digital Signal Processing.

Free twice/month e-newsletter about embedded systems. 28,000 developers read it for technical tips and ideas.

  • Farewell, ESD - My final column in the last print edition of Embedded Systems Design magazine.
  • Faster! - Time to market dominates. We need new development approaches.
  • Fire Code For Software - As a collector of software disasters, I have to ask, why is there no fire code for software?
  • Firmware Disasters - Test like you fly, fly what you have tested.
  • Firmware Disasters Redux! - Those who forget history are condemned to repeat it.
  • Globals - Advice about using - and avoiding - global variables.
  • Green Motor Control - As a designer, you can make decisions that greatly impact the environment. Here's how to save energy.
  • Guardian Angels - Every project needs a guardian angel, someone who watches over the code.
  • Guestimating - Sometimes close enough is good enough

  • Habits - The 7 Habits of Highly Dysfunctional Developers
  • Hardware for Better Firmware - A few changes to the system's hardware design can greatly improve the code.
  • How Microsoft Saved The World - The Big Bad Beast or a a force of good? Jack's inviting flames by claiming that without Microsoft we would still be computing on our fingers and toes.
  • Huge Data on the Z180 - The Z180's banking scheme is great for handling code; data is a bit more complex. Here's example code.

  • Jack's Rules of Thumb - Engineers use rules of thumb to quickly estimate rather than do detailed calculations. Firmware can benefit from the same idea. Here's a sampling of such rules.
  • Jack's Top Ten - The top reasons projects fail.
  • Jake Busts Out - Jake busts out of jail to help the VCs get a product to market.
  • Java - Ready for Prime Time? - Is Java really the next silver bullet for embedded programming?

  • Keep it Small - Get the product out faster by better partitioning
  • Kids - In praise of kids these days
  • Kids These Days - Back in my day, we had to build our own equipment

  • Magic - an article about our society's inability to embrace the new technologies we techies create.
  • Measuring Bugs - If you don't measure bug rates you'll never improve your coding. Besides, the right measures will accelerate the schedule.
  • Memo To My Boss - Jake Schmidt quits and fires off a memo to his ex-boss. It's flaming, but full of useful lessons.
  • Memorial Day - Years in the future a wealthy man looks back on how the embedded world collapsed.
  • Memory as a Device - Clever use of memory devices can really enhance your products.
  • Memory is a Fragile Thing - Thoughts on remembering.
  • Metastability and Firmware - A very subtle reentrancy-like situation develops when software needs two or more reads of hardware to input a value.
  • Minimizing Analog Noise - Analog noise is a tough problem. Here are a few ways to minimize it.
  • MISRA - The MISRA standard defines rules for the safer use of C.
  • Momisms - Things your mom should have taught you
  • Multicore: Hype or Reality - Shedding some light on vendor claims about multicore.
  • Multiplying Monitors - Multiple monitors == increased productivity.
  • Musings on People - Process and people - good management takes good care of the people.

  • On Management - Thoughts on managing development
  • On Measurements - Managers chant "If you can't measure it, you can't manage it." What should we measure in firmware development?
  • Open Source? - Opening the open source debate
  • Oscilloscope Up ate - The wise embedded engineer will be a master of many tools. The scope is one of the most important.

  • Passion and the Developer - Use reason, not emotions.
  • Perfect Software - Perfection is hard, but we can get to Pretty Darn Perfect.
  • Perform or Perish - How do you deal with software performance problems?
  • Picking a CPU - How do you decide what CPU to use? Here's some factors to consider.
  • Pipelines and Prefetchers - All modern processors use pipelines and/or prefetchers to increase performance. Here's how they work.
  • Position Encoders - Encoders transmit position or frequency info to the computer. Here's a few ways to make life with them easier.
  • Power Management - Managing power in embedded systems is getting extremely complicated - and effective.
  • Proactive Debugging - Seed your code with simple tricks to find bugs
  • Programming Quotations - A number of good quotes about this field.
  • Programming Style - Programming style is just as important as any other parameter that goes into a coding task. Here are a few ideas, rants, and raves.
  • Promise Management - We make lots of promises to our boss, our employees, spouse and children. Promises are a sort of social currency. Manage them properly or they'll lose their value.
  • Protecting Your IP - What's the deal with patents?
  • Prototyping with SMT - One person's experience with using SMT devices on prototypes.
  • Quirky Chips - There have been some strange microprocessors introduced over the years.
  • Radio Days - Radios and noise reduction
  • Read That Datasheet - Never assume a part has certain electrical or timing parameters. Often little surprises lurk. Did you know that virtually all microprocessors do not accept TTL levels for clock and reset?
  • Real Time - The basics of real-time programming
  • Reentrancy - Most real time systems require a certain amount of reentrant code, yet too many programmers have no idea what this entails
  • Refreshing Software - Refresh is yet one more thing that software can, in some situation, replace.
  • Religious Wars - Choosing a programming language is a place where people often get really dysfunctional.
  • Relocatable Code - Some embedded code must run at more than on address.
  • Resistors - Be careful how you design resistors and R-packs into your digital circuits. This article tells how.
  • Resource Hunters - A huge part of engineering is finding information and sources. Here's some hints.
  • Robots Everywhere - What happens when robots can build robots?