General Purpose I/O Line

Pin 26 on the internal serial slot is listed as a “General Purpose I/O”.  The Internal Serial Slot Developers Guide says that this pin can be configured as either an input or output.

The question is, how is this pin connected?  What GPIO or DIO pin is it connected to?

Well the answer seems to be GPIO #9.  Again a little tweaking of Eckhart’s code lets you call the relevant functions and toggle the pin.

Continue Reading »

Manually controlling the SerPortSel Pins

Eckhart Köppen, author of the Blunt, the Newton bluetooth stack, has posted code on GitHub for manually controlling the SerPortSel3 signal.  His code manually controls the proper DIO pins using functions in the Newton ROM.

While this method works great for Serial3, I wanted to also control Serial0.  So I started looking at the ROM.  I found two functions in the ROM explicitly for controlling these signals:

0x0026d050 SerialPort0LineDriverConfig__16TVoyagerPlatformFUcT1
0x0026d094 SerialPort3LineDriverConfig__16TVoyagerPlatformFUcT1

Continue Reading »

The SerPortSel Pins

The internal serial port of the Newton MessagePad 2×00 exposes the same ports as the external interconnect.  In order to prevent two devices (one internal, one external) from diving the port at the same time, there are “Serial Port Select Pins” for Serial Channel 0 and Serial Channel 3.

The “Internal Serial Slot Designer’s Guide states:

Pin 1 PortSelect:
This is the control signal to select between a  peripheral in the internal Serial SLot and the Newton Interconnect Port.  When the signal is low, the Newton Interconnect POrt may drive the Serail Port 3 Signals.  When the signal is high, the Internal Serial Slot Peripheral may drive the Serial Port 3 Signals.

Continue Reading »

The Internal Interconnect Port

I seem to have an odd, recurring interest in the internal serial port on the MP2x00.  A few years back I tried to make an internal bluetooth module.  It worked, but I never got the RF design correct so it didn’t work well.

Now, I’d like to try for an internal WiFi module.  I’m more hopeful that I can get the antenna correct by using more off the shelf components and, worst case, an external antenna.

Continue Reading »

Alternate UART for Sailfish

UART0, otherwise known as the Mightyboard’s primary serial port, is connected to the USB hardware and used for communicating with Replicator G. Both RevE and RevG Mightyboards have an unpopulated header that contains for the 2nd serial port, UART1. Normally unused on modern hardware, this second serial port was originally used for the RS485 chain for slave tools.

I wanted to use this UART1 for something useful, so I added some code to Sailfish that allows you to swap the primary UART0 traffic to UART1. This allows you to connect a serial device to UART1, such as a bluetooth serial module, or a network-to-TTL-serial adapter. Bluetooth serial modules should work pretty easily, but with a little coaxing, you can even get ReplicatorG to connect over the network.

Continue Reading »

Experimental Replacement for FlashAir Web User Interface

This is an experimental replacement for the FlashAir user interface. I use on my v2 card. I’m not if it’ll work with a v1 card, but it should.
This replacement UI for the FlashAir gives you a few more features on the web interface:

  1. Delete files from file list
  2. File upload progress
  3. Verify file size of upload to insure that it matches what’s on the FlashAir. (not a full diff like I do with the python script, due to javascript limitations)
  4. Drag and drop on browser window to upload.

Continue Reading »

Dropzone for FlashAir Uploads

Dropzone

I recently acquired Dropzone in as part of a discount software bundle. It essentially an enhanced “droplet” app that allows you to take action on files that you drag and drop to an icon.

I liked that it has a scriptable API in Ruby, and thought it might be a nice way to upload .X3G files to the FlashAir card in my Makerbot.

Continue Reading »

$32 Network Print Server for Makerbot

Information on taking a LPC1768 and turning into a print server for the Makerbot. Use a Toshiba FlashAir to load your X3G file to the SD card, then use this to send the build command and start the print. The Mini-DK2 development board is $32 on eBay, or for $8 more you can have one with an LCD display. An mbed LPC1768 module from mbed.org works as well, but you’ll need a carrier board that has ethernet and a USB host port. This is built with the mbed.org toolchain, so you need to own at least one mbed module (LPC1768 of course) in order to access their online compiler and toolchain.

Continue Reading »