• Please review our updated Terms and Rules here

WiFi232's Evil Clone

NeXT

Veteran Member
Joined
Oct 22, 2008
Messages
8,096
Location
Kamloops, BC, Canada
I'll admit it. The idea of the Wifi232 is brilliant and everyone ate it up while someone made a small fortune.

The problem however is that it contains one of the worst things you can find in a hobbyist community: Greed.
As awesome as it is, Paul Rickards seems to of gone out of his way to make sure that while you can buy units from him pre-assembled ($50USD + $15 international shipping) or in simple kit form ($33USD + $15 international shipping), you cannot go out and just build one from scratch. Well, at least not easily. I sure did not find it at the time of this blog entry.

-His website does not give any schematics
-His website does not give any firmware to flash your own ESP modules
-His website does not give any PCB layout files
-His website does not give a detailed Bill of Materials

To make your own WiFi232 you have to reverse engineer the whole shebang. Me being somewhat experienced with the applications of the MAX232 the basic functions of that makes up the bulk of the Wifi232, the converter PCB, this is pretty easy to draft. When I say basic functions however this means that flow control is omitted as my understanding of how this is handled by Paul's firmware is not discussed. Other tasks however such as RTS/CTS and DTR/DSR jumpering is cake. For basic applications that should be fine.
Another thing I dislike because of its steep learning curve is the use of surface mount components. I love working through-hole because you end up with components that are easier to place and solder at the obvious expense of a more compact design. For DIP stuff it also means you can socket it.
With that being said, a schematic was drafted up over the course of an hour on a Friday night.

WiFi-232_clone_ESP8266_adapter_1024.jpg

http://i11.photobucket.com/albums/a...lated/WiFi-232_clone_ESP8266_adapter_1024.jpg

The assembly is powered from an external 12V source. This makes the lives of some people easier as most computers have this accessible somewhere, if not from a wallwart or a battery supply. +5v is regulated for the MAX232 while 3.3v is regulated for the ESP8266 module. You can use a 3.3v rated MAX232 variant however my experience with these lower power converters is that they tend to not work as reliably the older the implementation of the serial port is. A few capacitors for filtering and supression are sprinkled in for good measure and an LED lights if the 12V input is present.
The MAX232 is a dual channel level converter for converting the +12v/-12v signalling of RS232 to +5v logic signalling and back again. In this application we are only using one of the two converter sets. The other set is tied to ground with 1K resistors to prevent latchup conditions like I discovered in the teletype modem project a few years back.
The ESP8266 plugs into the assembly using a typical 2x4 header. A 10K resistor and a pushbutton provide a way to reset the ESP if need be. On the RS-232 side we have a 9-pin D-sub connector. This can be substituted with a 25-pin D-sub if necessary and I recommend it because you can support the entire clone from here without thumbscrews. Two jumpers as mentioned can short RTS to CTS and DTR to DSR to satisfy the requirements of some applications.

The Bill of Materials is as follows:

Capacitors
4 x 1UF 50V
3 x 0.1Uf 25V
2 x 10Uf 16v
1 x 10UF 25V

Resistors
1 x 10 Kohm 1/8 Watt
5 x 1 Kohm 1/8 Watt

Semiconductors
1 x MAX232/MAX232CPE (or equiv.)
1 x LM7805 5V regulator
1 x LD1117V33 3.3V regulator

Misc.
1 x 2x4 pin female header
2 x 2-pin male header
1 x Momentary Normally-Open pushbutton

I'll leave you to decide on the D-sub connector and LED. For PCB material I typically have a bulk supply of single-sided one-pad-per-hole perfboard, but a 2" x 2" perfboard from your electronics supplier should be fine.

For code on the other hand, this is where things get fun.
I suck at programming. I'm almost exclusively a hardware kind of person. However while I had assistance in the past for small arduino projects this was not something I was willing to ring a friend up and say "hey...wanna code something for $20?" Likewise Paul had made sure that if there was any updates to his code you could not just download and flash it. Updating was handled internally, so at the best of odds you would have to dump a preprogrammed ESP-01. I wasn't looking forward to that.

Thankfully however there ARE nice people in this world. Prior to the WiFi232 a person by the name of Jussi Salin was nice enough to put her own code on Github. While not as powerful as that found in the WiFi232 it still provides most of the basic functionality that you will need for a telnet session.

https://github.com/jsalin/esp8266_modem

This was followed up a few months later in a fork of the repo by RolandJuno. His additions included flow control......which sheepishly I admit was not drafted in the above schematic... >_>

https://github.com/RolandJuno/esp8266_modem

My adapter does NOT include the ability to program the ESP8266. The procedure to do that however is even less complicated than building the above board. Google comes up with a variety of how-to guides but my suggestion is to follow something along the lines of this guide:

https://iot-playground.com/blog/2-uncategorised/38-esp8266-and-arduino-ide-blink-example


Now before you go banging off that I'm taking away from and slinging mud at someone else's hard work, the fact is I REALLY do not like people who enter into a community with a hot product and immediately start running a monopoly. Like others, I am a strong believer in building your own hardware when possible. It's fun. It's a learning experience. It's a great place to apply theories on how something might work and confirm if that is actually the case. Unintentionally it can be your first scenario in handling parasitic capacitance and EMI glitching. It can also be much more cost effective as it is educational. To order the parts through china (ebay is handy here if you like waiting a month or two) can cost as little as half the price of the WiFi232 in kit form. An ESP8266 on its own can cost around $2.50CAD. In the time it may take you to order the parts in, build the board and flash the 8266, Paul Rickards MIGHT have a new batch of WiFi232's out...which will promptly sell out again and take another two months to come up with another batch.
In the meantime you can take that hard earned and saved money and go buy yourself a beer. :)
 
Hullo - just to follow up on this - we've started tweaking the ESP8266 modem software to put hardware flow in, and will bring in the other features provided in the "closed" firmwares, but also have done a KiCad schematic and PCB (as yet untested, give me a few weeks) that allows direct programming using an FTDI USB jobby and the Arduino IDE. I've been using lashups with the NodeMCU board/MAX3232 (dirt cheap), and those are detailed in the readme. The RolandJuno account is Paul R's AFAIK. I did request the latest WiFi232 firmware source under the GPL but he's declined to make it available. I can only assume it's a complete clean-room re-write otherwise it would still be covered by the GPL.

- I should add, the WiFi232 only does software-based hardware-flow control, as this uses a module that gives GPIO pins 13/15 it can do actual hardware based hardware flow control :)

Anyway, this is all open source, and will remain so forever :)
https://github.com/stardot/esp8266_modem
 
Back
Top