Close

What I Would Change If I Started the Next Revision Today

A project log for From PLCs to PCBs: Building a WiFi RS232 Bridge

I work with PLCs, not ESP32s. This is how AI, EasyEDA and React Native helped me turn an RS232 problem into real hardware.

crux-resolveCrux Resolve 4 hours ago0 Comments

The funny thing about finishing a project like this is that by the time it works, you know enough to immediately see all the things you would do differently.

GB-01 solved the problem I originally had.

It gave me a local WiFi-to-RS232 link that could sit between GhostTune and the ECU, and it proved the whole idea could work as a real physical product.

But if I were starting the next hardware revision today, I would make some different choices.

I Would Think More About RS232 Beyond My Original Use Case

The first board was designed around the connection I needed.

That meant TX, RX, and ground.

For MicroSquirt, that was enough.

Once I started thinking about GhostBridge as a more general RS232 device, the first obvious limitation was hardware flow control.

Some equipment needs RTS/CTS.

GB-01 does not route those signals.

Interestingly, the MAX3232 already contains another transmitter and another receiver that I am not currently using.

So one of the first things I would look at in a future board is using those additional channels for RTS and CTS.

That would not make the device magically compatible with everything, but it would open the door to more equipment than the current three-wire design.

I Would Design for Manufacturing Earlier

When I started, my goal was basically:

Make it work.

That is probably the right goal for a first prototype.

But if I were doing the next one, I would think about manufacturing much earlier.

Part availability.

Alternate components.

Assembly cost.

Connector choices.

Test points.

Programming access.

How easily the board can be inspected.

How easily I can test five or fifty boards instead of just one.

Those questions become a lot more important once the hardware leaves your bench.

I Would Make Testing Part of the Board Design

I learned a lot by probing the first boards manually.

For the next revision, I would want more deliberate test access.

Power rails.

UART signals.

RS232-side signals.

Reset and boot access.

Anything that lets me quickly answer:

Is the problem firmware, logic-level serial, the transceiver, or the external connection?

One of the things PLC work has taught me is that good diagnostics save an incredible amount of time.

That applies to PCB design too.

I Would Think About the Enclosure at the Same Time as the PCB

I treated the enclosure as something I would figure out after the electronics were finished.

I probably would not do that again.

Connector placement, board mounting, component height, programming access, cable clearance, and enclosure geometry all affect each other.

Moving a connector a few millimeters on the PCB can make the enclosure much easier or much harder to design.

Next time, I would probably work on both at the same time.

I Would Keep the Bridge Protocol-Agnostic

One thing I would not change is the basic separation between the hardware transport and the software using it.

GhostBridge moves bytes.

GhostTune understands the ECU.

That turned out to be a much better architecture than baking ECU-specific behavior into the bridge itself.

It also means the hardware can potentially be useful in applications I had never considered when I designed it.

So even if the next revision becomes more capable, I would still try to keep the core transport as simple and transparent as possible.

I Would Still Use AI

Absolutely.

But I would use it differently now.

At the beginning of this project, I often needed AI to explain entire subjects I had never worked with before.

Now I know enough to ask much better questions.

Instead of:

“How do I design this?”

the questions become more like:

“Here are the exact constraints. Here is the datasheet. Here is the board. What assumptions should I be challenging?”

That is a much more useful relationship.

The better I understood the hardware and software, the more useful AI became because I could tell when something did not make sense.

And I think that is probably the biggest lesson I would carry into another project.

AI can help you get into a field you do not already know.

But eventually you need enough understanding to argue with it.

Version One Did Its Job

There are plenty of things I would improve.

But I also do not want to lose sight of what the first version accomplished.

I started with a problem on a motorcycle.

I had never designed a PCB.

I had never built an ESP32 product.

I had never built a React Native tuning application.

I had never sent my own board out for assembly.

I had never designed a snap-fit enclosure around one.

And I definitely had never put an app through the Apple App Store.

Now all of those pieces exist and work together.

So I am trying not to fall into the engineering trap of looking at version one only as a list of things that version two should fix.

Version one is the reason I know what version two should be.

Discussions