As a veteran in the field of electronic R&D, I've faced countless complex challenges over the years. It's common to work late nights and push through mental exhaustion, sometimes even feeling like going crazy. However, there's a certain truth that often emerges—when a project reaches the point where you're desperate to abandon it, persistence usually leads to success. Unfortunately, one particular project didn't go that way. Despite my relentless effort, I still feel stuck in a cycle of frustration and depression.
In 2006, I joined Shanghai Zhonghao Information Technology Co., Ltd., where I was tasked with developing and producing dynamic tokens. At the time, the company was primarily a software-focused firm with no existing hardware department. As the hardware manager, I had to build a team from scratch, handle prototype development, and manage mass production. The pressure was intense, but the working environment was positive, and the team worked well together.
Dynamic tokens were gaining momentum across various industries, especially in securing network logins for multinational companies. The technology was first introduced by RSA, then adopted by NS. Later, banks began using dynamic tokens to protect user accounts after frequent password thefts. Online gaming also saw a surge in demand, with game account security becoming a major concern. High-profile hacking incidents pushed game companies to adopt dynamic tokens as a solution.
Back then, very few Chinese companies had independent intellectual property in this space. Our founder, a Cambridge University graduate, held core patents based on the SHA256 algorithm, which was more advanced than other technologies at the time. We were backed by IDG and 5173, giving us a strong foundation to start with.
My main task was to implement a SHA256-based dynamic token on a microcontroller. The algorithm itself was quite complex, involving matrix operations and iterative calculations. The challenge was to meet several conflicting requirements:
- Large RAM space
- High-speed computing capability
- Ultra-low power consumption
- High reliability
- Low cost
These conflicting demands made the project extremely difficult. To solve the RAM issue, I initially wrote the code in C on a PC, which required at least 2KB of memory. When I moved it to an MCU, adding initialization and control code pushed the requirement close to 3KB. In 2006, such MCUs were rare and expensive. So I switched to assembly language, using techniques like program space for RAM, dynamic allocation, and optimization. After a week of effort, I reduced the RAM usage to just 409 bytes, which was feasible on most available MCUs.
The hardware used a laser-welded lithium battery and crystal oscillator, ensuring stability. The assembly code provided high efficiency and reliability, while deep sleep technology brought power consumption down to 3.4uA, allowing a CR2032 battery to last over three years.
We selected MCUs from TI, Taiwan, and Fujitsu, but due to cost constraints, we went with the Taiwanese ones. The prototype worked well, and the initial samples passed all tests. However, after some time, we noticed a percentage of devices draining their batteries quickly. After extensive testing, no obvious issues were found—functionality was normal after replacing the battery. But problems like crystal oscillator failure, battery looseness, static interference, board defects, software bugs, and chip failures kept popping up.
Despite multiple attempts to analyze the issue with suppliers and partners, including sending physical units to the manufacturer in Taiwan, no root cause was identified. Eventually, after porting the code to TI and Fujitsu MCUs, the problem persisted. Meanwhile, domestic competitors started to emerge, using simpler encryption algorithms that were cheaper and easier to implement.
After months of investigation, we finally discovered the root cause: a hidden bug in the MCU. During sleep mode, the P64 pin register configuration would flip, causing rapid discharge once the level changed.
This was the most frustrating and hardest-to-reproduce issue I've ever encountered. By the time we fixed it, the company had already suffered significant losses, including customer dissatisfaction and reputational damage. It taught me valuable lessons:
- Overemphasizing low-cost solutions during early development can lead to big problems. Prioritize technical verification and quality before cost reduction.
- If a hardware issue isn't resolved after a period of time, it's better to pivot and cut losses rather than persist blindly.
- Hardware problems may have software roots, but deeper issues might be hardware-related—especially when the problem is hard to reproduce.
- Don’t rely too much on chip manufacturers. Their support and analysis reports may not always be reliable or helpful.
We started to manufacture Lighting Pole from 2001 and exported from 2003. We got CE certificate for Lighting pole from 2015.
Our firm introduced whole set of good-sized numerical control hydraulic folding equipment(1280/16000) as well as equipped with a series of good-sized professional equipments of armor plate-flatted machine, lengthways cut machine, numerical control cut machine, auto-closed up machine, auto-arc-weld machine, hydraulic redressing straight machine, etc. The firm produces all sorts of conical, pyramidal, cylindrical steel poles with production range of dia 50mm-2250mm, thickness 1mm-25mm, once taking shape 16000mm long, and large-scale steel components. The firm also is equipped with a multicolor-spayed pipelining. At the meantime, for better service to the clients, our firm founded a branch com. The Yixing Jinlei Lighting Installation Com, which offers clients a succession of service from design to manufacture and fixing.
Street Lighting Pole, Lamp Pole, Powder Coated Lighting Pole
JIANGSU XINJINLEI STEEL INDUSTRY CO.,LTD , https://www.steel-pole.com