Jump to content
mozzwald

SIO Wifi modem with esp8266

Recommended Posts

I recently started working on getting my Atari 400 connected to a bbs over telnet/wifi with an esp8266 and wanted to share. I didn't find much about using an esp8266 as a modem with the Atari 8-bits.

 

I don't have much atari hardware and no SIO cable so, I first made a SIO23v3 breakout. More info on the board at the OSHPark Project page. The idea came from the atari8warez Poor Man's SIO cable and is an edge connector that fits between the two SIO port pin rows. The Data In, Data Out and Command pins are level shifted with mosfets (based off the SparkFun Bi-Directional Level Shifter). This board could also be used for connecting to a Raspberry Pi or other lower voltage device. I'm planning to build another for use with my Zipit Z2 Handheld and sio2bsd.

 

I have an ESP-01 board that I'm using with this modem emulator. The code is built and uploaded to the esp8266 with the Arduino IDE. The esp8266 is powered by the Atari 5V through a regulator. The command pin is not used at the moment. The ESP-01 is very minimal with few pins but other esp8266 versions have more pins available (can add sd card socket).

 

The modem software uses AT commands for connecting to access points, speed dial, baud rate, saving settings, etc. I tested both bobterm and icet with the RS232.COM handler and was able to connect to a bbs. The modem also allows incoming connections over telnet which worked from my linux pc. This is the extent of my testing so far and only at 9600 baud.

 

A couple of other ideas I had (unsure of the feasibility):

 

  • add SIO2Arduino to load the term software and handler
  • add SIO2Arduino and sd card; use wifi/webserver on esp8266 to load floppies (plus modem emu?)
  • 850 emulation?

Anyhow, as a plain old telnet modem it seems to work well :-D

post-50653-0-75390000-1487713642_thumb.png

post-50653-0-88377600-1487713655_thumb.png

  • Like 13

Share this post


Link to post
Share on other sites

If you had CD and a few handshake lines in there, it would work great for a BBS.

  • Like 1

Share this post


Link to post
Share on other sites

Great project. I have created a modem for a Commodore 64 using the same code as you are using. I had the idea of creating a modem for the Atari but I never got around to it.

Glad your proof of concept works

Share this post


Link to post
Share on other sites

Well I cant read the polish page... and the tech wiz guy I am cant figure out how to good translate this early in the morning.. so when someone gets this project to the pre-order stage.. let me know!!! :)

 

James

Share this post


Link to post
Share on other sites

If you had CD and a few handshake lines in there, it would work great for a BBS.

I'm guessing the handshaking would hafta be done through a joystick port?

 

Great project. I have created a modem for a Commodore 64 using the same code as you are using. I had the idea of creating a modem for the Atari but I never got around to it.

Glad your proof of concept works

The code was chosen because it has many features I was looking for in a modem. I searched for commodore modems since I couldn't find any Atari ones and this popped up. I tested ok on a PC so I figured it would work with with the RS232.COM handler (is it called bobverter or Rverter?)

 

Interesting. Look here: http://www.atari.org.pl/forum/viewtopic.php?pid=227879#p227879-other SIO2WiFi project (in early stage).

 

Well I cant read the polish page... and the tech wiz guy I am cant figure out how to good translate this early in the morning.. so when someone gets this project to the pre-order stage.. let me know!!! :)

 

James

Google Translation Here but it's still a difficult read :)

 

 

I did a little more testing with bobterm and occationally the system would "freeze" and keyboard input would stop working (pokey overloaded?) but after resetting the esp modem it would start working again. I will do some more testing at a slower baud rate when time permits.

 

post-50653-0-81900500-1488311924_thumb.png

  • Like 2

Share this post


Link to post
Share on other sites

I'm guessing the handshaking would hafta be done through a joystick port?

 

.

That's how I would do it.

:)

  • Like 1

Share this post


Link to post
Share on other sites

It would be possible to modify to ESP8266 for, well everything. There are several variations but all of them have unused I/O bits. There is no good reason why you couldn't use the I/O pins to do hand shaking for anything from CTS/RTS or for that matter, the Atari SIO COMMAND line. I mean you could really make it an Atari serial device just like a disk drive or modem. The built in MCU isn't enough to get me switched from the other micros, in particular the ARM series, but if there was no ARM the ESP would probably be my favorite.

 

The ESP is open source and has most of the features you could want like ability to interface with a SD memory card. The downsides are it is mainly a linux development system<I have't gotten around to setting up a SDK on a linux box yet> and not a great knowledge base available to draw from unless you speak Chinese. Still, most of the tools are sort'a available so you can work in Windows. I've bought a number of versions of the ESP and my current favorite incarnation is NodeMCU because it provides more pinouts, 5V to 3.3V regulator, and USB interface for <$10. The low cost ones are <$3 and have the same processor/WiFi but without the bells and whistles i.e. you need to bring your own USB to serial converter. I am currently using the Arduino SDK with the ESP libraries installed to test out features.

 

There is a Lua version of the chip available but gawd help me, I just can't learn yet another programming language. So much could be done with this little chip but the effort to do it right would kill an ordinary human being. I mean stuff like making it a combination hard drive, WiFi, et al interface on the Atari sio chain.

  • Like 6

Share this post


Link to post
Share on other sites

Very nice! Does this look like R: to the Atari? I see you are using Rverter.

 

I've been using NodeMCU dev1.0 boards (ESP-12-E core) with the Arduino platform for embedded projects. I just switched my IDE to platformio still using Arduino.

Edited by jeffpiep

Share this post


Link to post
Share on other sites

I don't have much atari hardware and no SIO cable so, I first made a SIO23v3 breakout. More info on the board at the OSHPark Project page.

 

 

Thanks for this! I was just designing something similar for connecting a Raspberry Pi Zero W (including the Poor Man's SIO approach) when I stumbled onto this. Very nice that we can get 3 of the boards for under $6 shipped!

Share this post


Link to post
Share on other sites

Thanks for this! I was just designing something similar for connecting a Raspberry Pi Zero W (including the Poor Man's SIO approach) when I stumbled onto this. Very nice that we can get 3 of the boards for under $6 shipped!

 

Awesome, I'm glad it's useful for someone else too!

---

I haven't had much time to experiment with the ESP and A400 until recently. Today, I was able to get SIO2Arduino running on the ESP-01 and load an ATR image file from the ESP internal flash using SPIFFS. Writing to disk doesn't work, it's read only, but I tried several different disk images which loaded ok. The timing may be off a bit as it seems to pause a couple times during the disk load, but eventually does finish.

 

My plan for this is to use SIO2Arduino in conjunction with the modem firmware so I can plug this in and autorun bobterm or ice-t or whatever and telnet over wifi. Could probably be used to load disk images over wifi and/or save them to an sd card. Some sort of SDrive over wifi to download ATR's from a server would be cool. I need to get an esp12 that has more pins for sd card.

 

Attached is the modified SIO2Arduino code that can be flashed with the Arduino IDE and esp8266 core. Warning, I'm not a programmer, this is a hack job and unfinished, but it worked for me. My esp01 flash size is 512K with 128K SPIFFS which is just enough room for a disk image. This instructable shows how to upload files into SPIFFS from the Arduino IDE. GPIO2 on the esp01 is used for the COMMAND pin.

 

I'll update if/when I get any further :)

 

 

SIO2ESP_Testing_20170708.zip

  • Like 2

Share this post


Link to post
Share on other sites

Yep, the adapter should take care of it, but I just added 2 of the max3232 adapters as well...

Dear Geezer, what is the MAX2322 IC good for,

in conjunction with the ESP chip?

I thought, I'd need a levelshifter 5 to 3.3 Volt.

But the MAX chip is a 0/5 to 12/-12 Volt, isnt it ? ( :confused : )

Stefan

Share this post


Link to post
Share on other sites

Dear Geezer, what is the MAX2322 IC good for,

in conjunction with the ESP chip?

But the MAX chip is a 0/5 to 12/-12 Volt, isnt it ? ( :confused : )

Stefan

The MAX2322 chip runs on 3.3 volts protecting the other boards from a 5volt overload on TTL levels.

Share this post


Link to post
Share on other sites

Slight confusion on the part number, this is the one you would be interested in: MAX3232 Datasheet (same as used in that "Connecting the Atari ST to the Internet" project). A MAX2322 is an entirely different animal.

 

- Michael

Share this post


Link to post
Share on other sites

I see...

 

The page you mentioned handles Atari 16 bit,

with a real RS232Serial port.

The question mark in my head was the relation between Atari 8bit and +- 12 V level.

I probably missed something.

 

Because of the 5 V level of the atari

in the first picture, I expected a level

shifter 3.3 <-> 5 V instead.

 

I ordered 5 ESPs yesterday. Its my hope to

bring my C64, the Amiga AND OF COURSE my

800xl online. While I know how to build it

for the opposite, I was searching for a

"how to" regarding the A8bits.

That is, why I was pointed to this thread.

 

Thank you for the clarification!

 

Stefan

  • Like 1

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...