Board Bring Up Hardware - FujiNetWIFI/fujinet-firmware GitHub Wiki

Assembling the Hardware for FujiNet

This document will take you thru most of the steps needed to source, assemble, and setup the required hardware in conjunction with the FujiNet software project to connect and interface with a new unsupported platform. The software bring up is covered in the Board Bring Up Software document. Both of these have been created with valuable snippets of information that was posted on the Discord server and by research notes and diagrams from various team members working on the FujiNet project and communicating via Discord and Facebook. Since the FujiNet is based on the ESP32 most of the 'bring up' for a platform revolves around the ESP32 Devkit-C and attaching it to the target serial or parallel interface.

If you are reading this, and not on the Discord you should stop by: https://discord.gg/7MfFTvD

Table of Contents

Terms used in this document

  • Platform - a specific set of hardware devices from a manufacturer with common IO characteristics. Examples: Atari 8bits (SIO), Apple II (SmartPort), ADAM (ADAMnet), Commodore 64 (IEC).
  • FujiNet - a hardware peripheral that uses the ESP32 and various IO connectors to attach to different platforms.
  • ESP32 - the heart of the FN, the SOC that runs the firmware and does the work to connect the platforms to the Internet
  • BOB - the break-out-box, an add-on device that connects to an Atari FujiNet and provides pins to connect to other devices
  • PlatformIO - the development environment that is used to program the firmware for the ESP32. It is available as command line programs or as module for Visual Studio Code.

The ESP32

There is a lot of information available on the Internet about the ESP32, this document will just mention it in passing here because it is the heart of the FujiNet ecosystem. The more you are familiar with the ESP32 and it's functions the more the hardware and software in this project will make sense.

Functional Diagram

/images/fn_hbu_esp32_v1a.png

The Various Favors of ESP32

/images/fn_hbu_esp32-comparison.png

Please note that the FujiNet software always uses the WROVER versions - they have more RAM and more Flash than the WROOM versions. FN devkits use the ESP32-DevKitVCE for development. Using the WROOM version with its smaller ram will cause issues.

Platforms supported with Retail Hardware

These platforms have retail FujiNets that are available to buy fully assembled and are plug-in-play.

Atari 8 bit

The Atari 8bit platform is fully supported and you can purchase a retail FujiNet and use it today. It has fully tested hardware, a CONFIG app for Atari to configure the FN parameters and WEB interface that supports all FujiNet functions.

Coleco ADAM 8 bit

The ADAM platform is fully supported and you can purchase a retail FujiNet and use it today. It has fully tested hardware, a CONFIG app for ADAM to configure the FN parameters and WEB interface that supports most FujiNet functions.

Apple II

  • The Prototype board is here and in it's 2nd revision. SPI work is almost done. Talk directly to Moz on the Discord to get a Apple2 prototype board - you must be willing to directly help the project in some manner to get one pre-retail.
  • the Prototype board does NOT include an ESP32- you must also buy one of the DEVKit-Cs and plug it into the board.

Commodore 64

  • The Apple2 prototype board will boot a C64 with the addition of an IEC cable to connect to the pins on the proto board. You will also need to use a special meatloaf blend of FujiNet in a separate repo- but it does boot, even over HTTP. Hop on the Discord and ask because you will need help for this one at this point in time.

Platforms in Development

All other platforms require a development kit and custom wiring to interface with the FujiNet software ecosystem.

DevKit

Used for any platform that does not already have a specific retail FujiNet device created for it.

  • NOTE You will need to buy a ESP32-DevKitC and install it on the Apple2 prototype board!

Building a DevKit

Purchase the following equipment to outfit your devkit

Must Purchase:

Should purchase: (no affiliate links, Amazon is just an example)

FujiNet 1.0 as a DevKit

The very first revision of the FujiNet Atari device, a 1.0 board, can be used as a 'devKit' with the addition of a Break-out-Box (BOB) which is available from FujiNet Online Store.

Using the BOB with a 1.0 board (repeat: only the 1.0 boards work) is just like using a DevKit on breadboard.

Apple II

The AppleII (A2) port is using the SmartPort protocol to interface with the Apples. This means the A2 device must have a SmartPort (SP) DB19 interface in order for the FN to work. Apple IIc, IIc+, IIGS all have SP built in. For Apple II+ and IIe you need to get a SP set of ROMs to use in an existing Disk2 controller or use the new YellowStone SP Card from BMOW.

Hardware Purchases

In addition to the DevKit above you need to order some equipment for the FN to connect into the SP on the platform. Below are necessary unless you are going to wire up your own connection from scratch.

Apple II + / e:

For IIc, IIc+, GS;

Once you have your Devkit and your DB19 plug you can now connect up the DevKit to the Apple. Below are some diagrams to help.

/images/fn_hbu_bmow-gpio_diagram.png Wire up the ribbon header to the GPIO pins on the ESP32.

/images/fn_hbu_apple_sp_to_gpio_code-comments.png Comments in the code show the mapping between Apple SP, GPIO and Atari SIO.

Commodore 64

The C64 and IEC is working with MeatLoaf'ed Fujinet. See the HOWTO guide for C64 for more info.

There is a IEC connector from Moz that goes right into the Pin outs on the Apple FN Rev 0 & 00 boards that boots the c64!

Video: https://www.youtube.com/watch?v=zNjpFYH9U6k

Other Platforms

These are waiting for your help! Jump in and help us bring FujiNet to all the platforms.

Logic Analyzers

There is a very cheap ($13) USB logic analyzer available from Amazon and used by many of the FN people working on the system. This is best tool to snapshot what is going on with the FN and the target platform.

Here is some info about using it with the FujiNet project.

Purchase

You can pick one up for $13 at Amazon.

https://www.amazon.com/gp/product/B077LSG5P2

HiLetgo USB Logic Analyzer Device With EMI Ferrite Ring USB Cable 24MHz 8CH 24MHz 8 Channel UART IIC SPI Debug

These are Saleae clones, and they use the Saleae software (Mac, Windows, Linux).

Review at BMOW: https://www.bigmessowires.com/2015/01/07/saleae-pro-8-logic-analyzer-review/ (2015)

Software

The open source project Pulseview supports this hardware.

You can also download the Saleae software here:

Using it

For the FujiNet AppleREV 0 and 00 boards use this mapping:

CH0 - RDDATA
CH1 - WREQ
CH2 - WPROT
CH3 - PHI 0
CH4 - PHI 1
CH5 - PHI 2
CH6 - PHI 3

Other systems will have other standard mappings.