If you're living in Bangladesh or any other "third-world" country like me, chances are you'll stumble upon electronic components so ridiculously cheap that they're practically screaming "fake!" Just a few days ago, I needed a USB to TTL serial converter for a project. I grabbed the absolute cheapest one in the market. The chip didn't even have a single marking on it! I was a little skeptical at first, but hey, I needed to get the job done, so I just went ahead and bought it.
In case you're wondering what on earth a USB to TTL converter is, it's basically a communication bridge! It works its magic between a USB's serial bus and a UART (Universal Asynchronous Receiver-Transmitter) serial. UART is a super popular communication protocol that hobbyists and engineers use all the time to get microcontrollers and hardware devices talking to each other.
So, I excitedly plugged the converter into my computer, only for my PC to hit me with: "PL2303HXA Phased Out Since 2012."
Bro, it's just a simple USB to TTL converter—why so much drama?!
After doing a little digging, I found out that the PL2303HXA used to be a super famous and dirt-cheap chipset. But way back in 2012, Prolific (the company that makes it, hence the "PL" in the name) retired the PL2303HXA and moved on to newer models.
But here's the kicker: I didn't buy an old TTL converter. This thing was brand spanking new, just built with a cloned chipset! Officially, there's zero way to use this TTL converter with modern computers and drivers. But guess what? I found a sneaky little workaround to get this baby running on newer Windows operating systems using a rollback driver! I managed to track down some ancient drivers (like, from 2011) that actually make this hardware work perfectly on my rig (Windows 10 and 11).
How to Save Your USB TTL Converter (And Your Sanity!)
I stumbled upon a lifesaver of a solution in a YouTube video by a user named Yellow Purple. Here's the video link:
PL2303HXA Phased out since 2012. Please contact your supplier (SOLVED)In the video, he shows exactly how to roll back the driver and fire up the USB to TTL converter on his PC. At first, looking at my Windows Device Manager, I kept seeing the dreaded message: "PL2303HXA Phased Out Since 2012, Please Contact Your Supplier." Like, bro, I don't even know who my supplier is!
Alright, let's fix this mess! We need to install a legacy driver for this device on our computer. Usually, this UART bridge completely refuses to work on Windows 8/8.1/10. (Ironically, it works like a charm on Ubuntu machines!). To get it running on your Windows 10 or 11 desktop, you're going to have to download a legacy driver from all the way back in 2009. Here's a link to a GitHub repository where you can snatch the driver file:
Inside this zip file, you'll find an installer named DriverInstaller v1.0.2.5 - Prolific PL2303 driver v3.3.3.114, which might also just show up as Driverinstaller_1025.
Go ahead and install this driver using the EXE file. This will inject the good old vintage driver right into your system.
Now, let's get into the technical stuff!
After installing the driver package, you'll be able to spot the installed drivers for this specific device right in your Device Manager. You should see 2 drivers installed. Now, you might be looking at my screenshot and wondering, "Wait, why do you have 3 drivers?" Well, that's just because I accidentally installed the driver pack twice in two different locations, so I have multiple instances floating around. It makes absolutely no difference, so don't sweat it!
 |
| List of Installed Drivers |
Now we just need to follow a few super simple steps to activate the driver.
- Right-click on the device and hit Properties
- Head over to the Driver tab
- Click on that Update Driver button
- In the Update Driver box, select "Browse my computer for drivers"
- Next, you want to choose "Let me pick from a list of available drivers on my computer"
- From the list that pops up, select the vintage 2009 driver
- Finally, hit Next to kick off the installation. Once it's done, your Device Manager window will do a quick refresh, and boom—you'll see your TTL converter is finally alive and kicking!
See? Not that hard! Though honestly, I'd still highly recommend just buying a newer model USB to TTL converter to save yourself the headache. But for now, let's put this baby to the test!
Looks like it's working flawlessly! Now, let's really test this TTL converter by looping some characters through the data lines. To pull off this test, just short the TX and RX lines using a jumper wire. With this neat little setup, whatever the TTL converter transmits, it will instantly receive back.
And here it is, working perfectly inside the Arduino IDE! Apologies for my camera's low framerate and slow shutter speed—it couldn't quite capture the rapid flashing of the blue LED while the data was zooming through.
At the end of the day, bro, if you value your peace of mind, just buy authentic, newer-model hardware. And definitely avoid the cheap fakes! That's all for today. Catch you later!
আপনি যদি বাংলাদেশে বা আমার মতো কোনো "থার্ড ওয়ার্ল্ড" কান্ট্রিতে থাকেন, তাহলে সম্ভবত আপনি এতো সস্তায় ইলেকট্রনিক্স কম্পোনেন্ট পাবেন যা নকল হওয়ার সম্ভাবনা বেশি। এই কিছুদিন আগে কিছু কাজের জন্য আমাকে একটি USB toTTL সিরিয়াল কনভার্টার কিনতে হয়েছিল। আমি বাজার থেকে সবচেয়ে সস্তাটি কিনলাম, এটির চিপে কোনো মার্কিং ছিল না, প্রথমে আমি কিছুটা কনফিউসড ছিলাম, কিন্তু যাই হোক, আমার কাজটা করার দরকার ছিলো বিধায় আমি কিনেই ফেললাম।
আপনি যদি না জানেন যে USB to TTL কনভার্টার কী, এটি আসলে একটি কমিউনিকেশন ব্রিজের মতো, যেটা USB এর সিরিয়াল বাস এবং UART (Universal Asycronous Reciever and Transmitter) সিরিয়ালের মধ্যে কাজ করে। UART সিরিয়াল হলো একটি কমিউনিকেশন প্রোটোকল যা হবিস্ট এবং ইঞ্জিনিয়াররা অনেক বেশি ব্যাবহার করে থাকেন মাইক্রোকন্ট্রোলার এবং হার্ডওয়্যার ডিভাইসের মাঝে কমিউনিকেশন করার জন্য।
তো আমি কনভার্টারটি কম্পিউটারের সাথে কানেক্ট করার চেষ্টা করলাম, কিন্তু কম্পিউটার বলল, "PL2303HXA Phased Out Since 2012"
ভাই, এটা তো শুধু একটি USB to TTL কনভার্টার, এতে এত জটিলতা কী?
তারপর আমি একটু ঘেটে জানতে পারলাম যে, PL2303HXA খুব ফেমাস আর সস্তা একটা চিপসেট ছিল। কিন্তু ২০১২ সালে, Prolific (চিপের নির্মাতা কোম্পানি, চিপের নাম PL দিয়ে এটার নাম দেয়া হয়েছে) PL2303HXA কে রিটায়ার করে নতুন মডেলে চলে যায়।
কিন্তু ব্যাপারটা তা নয়, আমি কোনো পুরানো TTL কনভার্টার কিনি নাই, এটি একেবারে নতুন ছিল, কিন্তু নকল চিপসেট দিয়ে তৈরি। এখন নতুন কম্পিউটার এবং ড্রাইভারগুলোর সাথে এই TTL কনভার্টার ব্যবহার করার কোনো উপায় নেই, কিন্তু আমি একটি রাস্তা খুঁজে পেয়েছি যার মাধ্যমে এই TTL কনভার্টার নতুন উইন্ডোজ অপারেটিং সিস্টেমে রোলব্যাক ড্রাইভার দিয়ে ব্যবহার করা যায়। আমি কিছু পুরানো ড্রাইভার পেয়েছি (যেমন ২০১১ সালের) যা দিয়ে এই হার্ডওয়্যারটি আমার কম্পিউটারে (উইন্ডোজ ১০ এবং ১১) চালানো যায়।
কিভাবে আপনার USB TTL কনভার্টার (এবং আপনার মানসিক শান্তি) বাঁচাবেন
আমি একটি সমাধান পেয়েছি Yellow Purple নামের একজন ইউজারের ইউটিউব ভিডিওতে, এখানে ইউটিউব ভিডিওটি দেওয়া হলো:
PL2303HXA Phased out since 2012. Please contact your supplier (SOLVED)এখানে তিনি ড্রাইভার রোলব্যাক করে তার কম্পিউটারে USB to TTL কনভার্টার চালানোর পদ্ধতি দেখিয়েছেন। প্রথমে, উইন্ডোজের ডিভাইস ম্যানেজার সেকশনে আমি দেখতে পাই যে মেসেজটি আসছে, "PL2303HXA Phased Out Since 2012, Please Contact Your Supplier" ভাই, আমি আসলে জানি না আমার সাপ্লায়ার কে।
ঠিক আছে, এখন এটা ঠিক করা যাক। আমাদের কম্পিউটারে এই ডিভাইসের জন্য একটি লিগ্যাসি ড্রাইভার ইন্সটল করতে হবে। সাধারণত এই UART ব্রিজ উইন্ডোজ ৮/৮.১/১০ এ কাজ করে না। কিন্তু এটি উবুন্টু মেশিনে ঠিকঠাক কাজ করে। উইন্ডোজ ১০ বা ১১ ডেস্কটপে এটি কাজ করানোর জন্য আপনাকে ২০০৯ সালের লিগ্যাসি ড্রাইভার ডাউনলোড করতে হবে। এখানে একটি Github রিপোজিটোরির লিংক দেওয়া হলো যেখান থেকে আপনি ড্রাইভার ফাইলটি ডাউনলোড করতে পারবেন:
এই জিপ ফাইল থেকে আপনি DriverInstaller v1.0.2.5 - Prolific PL2303 driver v3.3.3.114 নামের একটি ইন্সটলার পাবেন, যাকে Driverinstaller_1025 নামে লেখা থাকতে পারে।
এই ড্রাইভারটি EXE ফাইল ব্যবহার করে ইন্সটল করুন। এটি সিস্টেমে পুরানো ড্রাইভার ইন্সটল করবে।
এখন টেকনিক্যাল অংশে আসা যাক।
ড্রাইভার প্যাকেজ ইন্সটল করার পর, আপনি আপনার সিস্টেমে এই নির্দিষ্ট ডিভাইসের জন্য ইন্সটল করা ড্রাইভার দেখতে পাবেন। আপনার ডিভাইস ম্যানেজারে আপনি ইন্সটল করা ড্রাইভার দেখতে পাবেন। আপনার ২টি ড্রাইভার ইন্সটল করা থাকার কথা। এখানে আপনি ভাবতে পারেন কেন আমার ৩টি ড্রাইভার আছে, কারণ আমি দুটি ভিন্ন লোকেশনে দুবার ড্রাইভার প্যাক ইন্সটল করেছি এবং এখন আমার দুটি ড্রাইভার ইন্সট্যান্স আছে ভিন্ন ভিন্ন লোকেশনে। এতে তেমন কোনো পার্থক্য নেই। সমস্যা হবে না।
 |
| ইন্সটল করা ড্রাইভারের তালিকা |
এখন আমাদের কিছু সহজ ধাপ অনুসরণ করে ড্রাইভারটি চালু করতে হবে।
- ডিভাইসে Right Click করুন এবং Propertise ক্লিক করুন
- Driver ট্যাবে যান
- Update Driver বাটনে ক্লিক করুন
- Update Driver বক্সে, "Browse My Computer For Drivers" সিলেক্ট করুন
- এখানে বক্সে, আপনাকে "Let me pick from a list of available drivers" সিলেক্ট করতে হবে
- লিস্ট থেকে ২০০৯ সালের ড্রাইভারটি সিলেক্ট করুন
- তারপর Next ক্লিক করুন, যা ড্রাইভার ইন্সটল করতে এগিয়ে যাবে। ড্রাইভার ইন্সটল করার পর, ডিভাইস ম্যানেজার উইন্ডো রিফ্রেশ হবে এবং আপনি এখন দেখতে পাবেন যে TTL কনভার্টারটি কাজ করছে।
এত কঠিন নয়, কিন্তু আমি সত্যিই পরামর্শ দেব নতুন মডেলের USB to TTL কনভার্টার কিনতে। কিন্তু এখন, এটাকে টেস্ট করে দেখা যাক।
মনে হচ্ছে এটি কাজ করছে। এখন ডেটা লাইনে কিছু ক্যারেক্টার লুপ করে TTL কনভার্টারটি টেস্ট করা যাক। এই টেস্টটি করার জন্য, TX এবং RX লাইনকে একটি জাম্পার দিয়ে শর্ট করুন। এই সেটআপে, TTL কনভার্টারটি যা ট্রান্সমিট করবে তা রিসিভ করবে।
এবং এখানে এটি Arduino IDE-এ পুরোপুরি কাজ করছে। আমার ক্যামেরার লো ফ্রেমরেট এবং স্লো শাটার স্পিডের জন্য দুঃখিত, এটি ডেটা পাস হওয়ার সময় নীল LED ফ্ল্যাশিং স্পষ্টভাবে ক্যাপচার করতে পারেনি।
আসল কথা হলো, ভাই লাইফে শান্তির জন্য আসল এবং নতুন মডেলের হার্ডওয়্যার কিনুন। এবং অবশ্যই নকল নয়। এটাই সব। পরে দেখা হবে ভাই!