Arm Community
Arm Community
  • Site
  • User
  • Site
  • Search
  • User
Arm Community blogs
Arm Community blogs
Embedded and Microcontrollers blog Embedded Developer Feature: Jens Bauer, GPIO Design Engineer
  • Blogs
  • Mentions
  • Sub-Groups
  • Tags
  • Jump...
  • Cancel
More blogs in Arm Community blogs
  • AI blog

  • Announcements

  • Architectures and Processors blog

  • Automotive blog

  • Embedded and Microcontrollers blog

  • Internet of Things (IoT) blog

  • Laptops and Desktops blog

  • Mobile, Graphics, and Gaming blog

  • Operating Systems blog

  • Servers and Cloud Computing blog

  • SoC Design and Simulation blog

  • Tools, Software and IDEs blog

Tags
  • circuit_board_design
  • Cortex-A9
  • JTAG
  • openocd
  • pcb
  • Cortex-A
  • embedded_developer
  • Cortex-M
  • embedded_development
Actions
  • RSS
  • More
  • Cancel
Related blog posts
Related forum threads

Embedded Developer Feature: Jens Bauer, GPIO Design Engineer

Brad Nemire
Brad Nemire
April 17, 2014

Get to know the Embedded Developer...

This is a monthly series featuring embedded developers of the ARM Connected Community.


Jens Bauer.png

Name: jensbauer

Company: GPIO

Job Title: Design Engineer

Location: Herning, Denmark

Developer History

Before GPIO, I've been working for a number of different companies where I've soldered PCBs using reflow, wave and hand-soldering (both SMT and leaded boards) - plus I've assembled high-end audio equipment. I've been a software developer since 1983, and have programmed several different kinds of microprocessors and microcontrollers. With GPIO, I mainly design and lay out PCBs, prototype them, test and revise them - on occasion I find myself writing some software and firmware too.

How did this all start?

I believe it was the Sinclair ZX Spectrum that caught my attention. I still have it on my desk, right next to me, and it's still in use.

First Project

Well, I guess the first design I did for GPIO is the mini game-console, which is capable of running Boulder Dash on a VGA screen. This project was meant as a tutorial for those who want to learn how to make a microcontroller show information on a standard monitor.

What is your best product?

I'm afraid it's a product which is not released yet, and unfortunately I can't say much about it. However, it's ARM-based, and it's for developers - but until then, the best product will probably be the breadboard JTAG-module. It's a very simple space-saving adapter that allows the developer to connect a JTAG programming/debug-adapter to a device on the breadboard. The adapter takes care of pull-up and pull-down resistors, so the developer can focus on the fun stuff, and it can also be used with SWD.

Can you talk about any current projects?

A couple of products will be using ARM-based microcontrollers from NXP. Those two products are the major products GPIO will release in the near future. Other products include tools for developers (engineers and hobbyists alike), such as simple space-saving adapters that makes it easier for the developer to quickly wire up a solderless breadboard.

What is your motto ?

It's all about making the right connections, whether circuits, business or people.

Favorite New Tool

OpenOCD 0.8.0 and JTAG-lock-pick Tiny 2, definitely and both highly recommended tools. Apart from that, I've just ordered a Logic Analyzer, which I expect I will spend some quality-time with.

Favorite Gadget

You'd probably expect me to say "my cell phone". Well no, I don't have a cell phone, nor do I have a tablet. Is a solderless breadboard a gadget? Well, it is probably a small OLED display I bought from buy-display.com; they're quite impressive and works well with a LPC microcontroller.

Most Useful Resource

ARM's Infocenter for getting information on the Cortex-M instruction set and clock-cycles. The ARM Connected Community, LPCware.com and then Texas Instruments for anything top-notch finesse. Then of course, Datasheets and User's Manuals as PDF files downloaded locally, so if the net is down, they're still reachable.

Best Tips for a Beginner Developer

Buy low-cost stuff! If it doesn't work, you didn't lose more than a few pennies. If it works, you'll be grateful for what it can do even though it didn't cost much. For programming, don't rush things, be thorough in writing your code. Make it your object (goal) to find bugs and errors in your code, not to implement new features. Read your code more than once, hunt for bugs, even where it seems there are none. Use precision when you code.

For PCB-layout, know one thing, you will always have at least one error on your first version of a PCB after submission, no matter how many times you've re-checked - but check your PCBs, first on-screen by following each trace, one-by-one and don't cheat. It takes a long time, but it's worth it. Check your hole sizes - are they big enough for the leaded components? Print out your PCB 1:1 and place components on the paper, and check each component type. Yes, these are basics, but they're more important than any other advice I can give. Also assume you will need to modify your PCB. Make extra pin holes and exposed vias, so in an emergency, you can solder some straps or green-wire the board. Make breakable connections in areas you're not completely sure and also make some room for zero-ohm resistors. If possible, make a few options for each PCB and make your boards universal.

Which PCB Manufacturer do you use?

JACO. I recommend them, especially for low volumes - they offer good service, at low prices and high quality.

Future of Expertise

I will be looking into Cortex-A after the Cortex-M products have been launched. Most likely, this will be Cortex-A9 and perhaps a couple of faster models as well.

Something About Yourself That Many Don’t Know…

I've caused a few major changes just by telling large companies what I think they should do. A couple of examples: I caused a large company to manufacture computers in more than one colour. They also adopted a glass-like user-interface, which I suggested them. Years later, I became the reason their logo is no longer upside down - but, all the thanks go to Mr. Gilbert and Steven Glass who took the time to listen.

A while back, I pushed Opera Software into making a Mac version as their previous Mac-team gave up. So I told them, "well, I want that browser, no matter if I have to make it myself." After having pushed Opera Software into this, I had to pull a fellow with me to Norway and we worked there for three and a half years - this was in 1997/1998. When MacOpera started to become a usable browser, I had to leave the company. Easter eggs in Opera were strictly prohibited and I managed to sneak a Space-Invaders game into the browser. The code used less than 1KB memory and was written in C - even my fellow programmer didn't see what I did, until more than a year had passed.

Previously Featured Embedded Developers

Embedded Developer Feature: Paul Beckmann, Founder of DSP Concepts

Embedded Developer Feature: James Langbridge, Author of Professional Embedded ARM Development

Embedded Developer Feature: Colin Walls, Embedded Software Technologist at Mentor Graphics

Embedded Developer Feature: Jacob Beningo, Certified Software Development Professional

Anonymous
  • Jens Bauer
    Jens Bauer over 11 years ago

    Thank you, bfuller; it's absolutely interesting to be a design-engineer, when working with ARM.

    I'm very grateful to Sophie, who started all this; she really did a major change in this World.

    Getting the right connections did become a lot easier after the ARM community site was launched.

    • Cancel
    • Up 0 Down
    • Reply
    • More
    • Cancel
  • Brian Fuller
    Brian Fuller over 11 years ago

    Brad, great feature, and Jens, you sound like a very interesting designer. Thanks for sharing your experiences! I particularly like your saying about connections: It's spot on!

    • Cancel
    • Up 0 Down
    • Reply
    • More
    • Cancel
Embedded and Microcontrollers blog
  • Formally verifying a floating-point division routine with Gappa – part 2

    Simon Tatham
    Simon Tatham
    A method of testing whether a numerical error analysis using Gappa really matches the code it is intended to describe.
    • September 4, 2025
  • Formally verifying a floating-point division routine with Gappa – part 1

    Simon Tatham
    Simon Tatham
    Learn the basics of using Gappa for numerical error analysis, using floating-point division in Arm machine code as a case study.
    • September 4, 2025
  • Building Solutions on Arm: A recap of IEEE Arm Community Technothon project presentation

    Fidel Makatia
    Fidel Makatia
    Read Fidel's account from the Arm Community Technothon!
    • December 4, 2024