ADX is a 3-tier open hardware standard designed to eliminate enclosure headaches, multi-side connector cutouts, and M3 screw hazards:
1. 8748 Form Factor: 87 x 48 mm PCB, 10 mm M3 keep-outs, 3 mm rail margins, and 67 mm single-edge I/O.
2. ADX 20-Pin Bus: 5 V/2 A power & 3.3 V logic (UART/I2C/SPI/GPIO) via 2x10 IDC.
3. Ecosystem: MCU COREs, Power CARDs, enclosure 3D/CAD models, WebSerial tools, and more.
Files
SCH_Schematic_2026-05-01.pdf
ADX Core V0 Schematic
Adobe Portable Document Format -
227.27 kB -
04/30/2026 at 15:25
Six months after freezing our initial V0 prototype, real-world networking, bootloader hacks, and an unexpected fit with the Raspberry Pi Zero transformed ADX from a single rugged board into a 3-Tier open hardware standard for enclosure-native modular electronics.
The 6-Month Silence: What Actually Happened
Back on April 30th, we posted our last project log announcing that the schematics for ADX Core V0 were frozen and sent off to JLCPCB.
And then... total silence for nearly six months.
We didn't abandon the project. Quite the opposite: once the physical boards arrived on our bench and we started debugging, everything looked great. But the moment we tried to actually design an enclosure for it—and started seriously planning how it would connect to messy, real-world factory wiring—we hit a massive wall.
It turns out, making a board work on a desk is easy. Designing a board that makes sense inside an industrial enclosure, handles external wiring cleanly, and remains maintainable is a completely different beast.
What started as an effort to build "a rugged industrial Arduino on an ATtiny1616" had to fundamentally transform. Over the past half-year of staring at CAD models, realizing our initial architecture wouldn't survive outside the lab, and doing stripped-down redesigns, ADX has evolved into something much broader: The Open Hardware Standard for Enclosure-Native Modular Electronics.
Here is the lab notebook on how we hit the "enclosure wall," what we re-engineered, and where the standard stands today.
1. Networking in the Real World: The Core-D Experiments
When the V0 boards landed on our bench, basic GPIO toggles worked fine. But our ambition was multi-drop industrial communication: daisy-chaining multiple boards over a single twisted pair with robust bootloading.
Fig 1: Two ADX Core-D prototypes on the bench running half-duplex RS-485 packet transmission experiments.
To rigorously test field protocols, we designed and spun a dedicated testbed board: ADX Core-D. Starting in late August, we iterated through several protocol layers:
- LN-485 (LIN-based packet frames over half-duplex RS-485)
- PAL (Physical Access Layer tuning, slew-rate shaping)
- DROP-BUS (Collision handling and deterministic multi-drop streaming)
Fig 2: Three ADX Core-D boards stacked in a 3-tier cascade for multi-node data streaming and bus arbitration stress tests.
Running continuous data streams across three cascaded boards revealed crucial lessons about ground-bounce, common-mode noise, and line reflections. It quickly proved that robust galvanic isolation wasn't just a nice-to-have spec sheet bullet—it was an absolute requirement for survivable field hardware.
2. The Field Maintenance Dilemma: WebSerial & OTW Bootloading
The biggest operational pain in embedded field deployments is simple: nobody wants to drag a heavy laptop and a dedicated hardware debugger (like a UPDI dongle) up a ladder or into a dusty electrical cabinet just to tweak three lines of code.
We wanted OTW (Over-The-Wire) firmware updates over the existing RS-485 bus, controllable directly from a standard web browser via the WebSerial API.
In late September, we built and deployed a browser-based WebSerial PWA Uploader (hosted directly on our GitHub Pages). But we immediately ran into a notorious low-level barrier:
Standard USB-to-UART bridge chips (CH340, FTDI, CP2102) and operating system drivers (especially Windows Win32 serial drivers) handle standard send_break() signals unpredictably. Pulse widths varied wildly from a few milliseconds to over 100 ms, completely desynchronizing the target bootloader.
The Hack: The Half-Baud Pulse Trick
Instead of relying on fragile OS break APIs, we developed a deterministic timing workaround: temporarily cutting the baud rate in half and transmitting a framing pattern (or injecting a calibrated zero byte at the lower baud).
This simple software hack generated a rock-solid, predictable break pulse across...
Progress Report: ADX Core V0 Design Freeze and PCBA Order Placed
The design phase for the ADX Core V0 is officially complete. I have finalized the schematics and PCB layout, and the project has moved into the manufacturing stage. The PCBA (Printed Circuit Board Assembly) order has been placed with JLCPCB.
Status Update
Schematics: Completed
PCB Layout: Completed
Manufacturing: In progress (Ordered via JLCPCB PCBA service)
Target Grade: Industrial / Robust Control
Project Resources & Documentation
All design files, fabrication data (Gerbers, BOM, CPL), and detailed development history are available on GitHub:
Note: The repository contains documentation and commit messages in a mix of English and Japanese.
Hardware Specifications
The ADX Core V0 is designed as an "Arduino-like" industrial control board. It introduces a new, standardized industrial form factor—inspired by the ATX philosophy—aimed at creating an ecosystem where enclosures and components are easily interchangeable and professional.
Beyond "PLC Lite": Designing for "Soft Coupling" and Openness
Currently, many "Industrial Arduinos" (such as the Arduino Opta) are emerging, but they suffer from a fundamental flaw: they are becoming "PLC Lite." In their pursuit of being "official industrial products," they have inherited the "black box" nature of traditional vendors—closed enclosures, rigid board-to-board (B2B) connectors, and limited extensibility. I call this "Mechanical Debt." While it offers reliability, it kills the open-source spirit that made Arduino great in the first place.
- ADX-Core v0 proto
ADX is my attempt to break this cycle. Here is how I am designing it to be different: