<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Apple Newton on All About Jake</title><link>https://www.allaboutjake.com/category/newton/</link><description>Recent content in Apple Newton on All About Jake</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Sun, 15 Jan 2017 12:26:00 +0000</lastBuildDate><atom:link href="https://www.allaboutjake.com/category/newton/index.xml" rel="self" type="application/rss+xml"/><item><title>Overview of an Operational WiFiBoard</title><link>https://www.allaboutjake.com/overview-of-an-operational-wifiboard/</link><pubDate>Sun, 15 Jan 2017 12:26:00 +0000</pubDate><guid>https://www.allaboutjake.com/overview-of-an-operational-wifiboard/</guid><description>&lt;p&gt;This video was made to to help @indigi_newton with troubleshooting his wifi card build. Even though the video is from the perspective of helping a single person troubleshoot a card, it is still a nice overview with a demonstration of it working in a Newton.&lt;span style="background-color: white; color: #333333; font-family: &amp;quot;roboto&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif; font-size: 13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
&lt;p&gt;&lt;span style="background-color: white; color: #333333; font-family: &amp;quot;roboto&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif; font-size: 13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;</description></item><item><title>Files published to GitHub</title><link>https://www.allaboutjake.com/files-published-to-github/</link><pubDate>Tue, 22 Dec 2015 21:20:00 +0000</pubDate><guid>https://www.allaboutjake.com/files-published-to-github/</guid><description>&lt;p&gt;You can find the files for this project in GitHub: &lt;a href="https://github.com/jake-b/Newton-Internal-WiFi"&gt;https://github.com/jake-b/Newton-Internal-WiFi&lt;/a&gt;&lt;/p&gt;
&lt;div style="clear: both; text-align: center;"&gt;
 &lt;a href="https://www.allaboutjake.com/wp-content/uploads/2015/12/wifi.jpg" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img loading="lazy" decoding="async" border="0" height="320" src="https://www.allaboutjake.com/wp-content/uploads/2015/12/wifi-225x300.jpg" width="240" /&gt;&lt;/a&gt;
&lt;/div&gt;</description></item><item><title>3D Printed Port Cover</title><link>https://www.allaboutjake.com/3d-printed-port-cover/</link><pubDate>Tue, 22 Dec 2015 21:10:00 +0000</pubDate><guid>https://www.allaboutjake.com/3d-printed-port-cover/</guid><description>&lt;p&gt;Since the MP2x00 did not come with an internal modem (and one was never sold), each MessagePad came installed with a little plastic cover that fills the space where the RJ-11 jack would be.&lt;/p&gt;
&lt;div&gt;
&lt;/div&gt;
&lt;div&gt;
 This is the same cover where apple would place a &amp;#8220;2100&amp;#8221; sticker indicating that a MP2000 was upgraded to a 2100.
&lt;/div&gt;
&lt;div&gt;
&lt;/div&gt;
&lt;div&gt;
 Due to an oversight, the WiFi card extended into the area where this plastic cover would sit. &amp;nbsp;(I&amp;#8217;m not sure this could have been avoided, even if I had planned ahead)&lt;/p&gt;</description></item><item><title>WiFi Board v1.1</title><link>https://www.allaboutjake.com/wifi-board-v1-1/</link><pubDate>Fri, 08 May 2015 00:09:00 +0000</pubDate><guid>https://www.allaboutjake.com/wifi-board-v1-1/</guid><description>&lt;p&gt;I got the revised boards and finally found some time to assemble a board.  This board adds a logic inverter to fix the flow control, and removes some extra traces for an alternate reset circuit.&lt;/p&gt;
&lt;div style="clear: both; text-align: center;"&gt;
 &lt;a href="https://www.allaboutjake.com/wp-content/uploads/2015/05/IMG_2190.jpg" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img loading="lazy" decoding="async" border="0" height="313" src="https://www.allaboutjake.com/wp-content/uploads/2015/05/IMG_2190-300x294.jpg" width="320" /&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;To assemble the board, I &lt;a href="https://www.oshstencils.com/"&gt;had a stencil made&lt;/a&gt; and used it to apply solder paste.  Then I placed the components using a very simple “pick and place” rig:&lt;/p&gt;</description></item><item><title>Thermal Performance and Loose Ends</title><link>https://www.allaboutjake.com/thermal-performance-and-loose-ends/</link><pubDate>Wed, 29 Apr 2015 10:43:00 +0000</pubDate><guid>https://www.allaboutjake.com/thermal-performance-and-loose-ends/</guid><description>&lt;h4 id="thermal"&gt;Thermal&lt;a class="anchor" href="#thermal"&gt;#&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;Early designs used a linear regulator to supply 3.3v from the Newton’s battery voltage.  It became pretty obvious that a linear regulator would get too hot, and so I changed it for a &lt;a href="http://www.ti.com/product/LMZ21700"&gt;switching regulator&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I wanted to do a real world test.  The WiReach specs say that it can draw around 350mA peak during transmit.  I modified the Thumb sample code into a program that would output a continuous stream of ~25kB packets.  I taped a thermocouple to the regulator and ran the test for an hour or so.&lt;/p&gt;</description></item><item><title>An ugly fix</title><link>https://www.allaboutjake.com/an-ugly-fix/</link><pubDate>Thu, 09 Apr 2015 01:03:00 +0000</pubDate><guid>https://www.allaboutjake.com/an-ugly-fix/</guid><description>&lt;p&gt;It is ugly, but it works:&lt;/p&gt;
&lt;div style="clear: both; text-align: center;"&gt;
 &lt;a href="https://www.allaboutjake.com/wp-content/uploads/2015/04/ugly1.jpg" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img loading="lazy" decoding="async" border="0" src="https://www.allaboutjake.com/wp-content/uploads/2015/04/ugly1.jpg" height="200" width="200" /&gt;&lt;/a&gt;&lt;a href="https://www.allaboutjake.com/wp-content/uploads/2015/04/ugly2.jpg" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img loading="lazy" decoding="async" border="0" src="https://www.allaboutjake.com/wp-content/uploads/2015/04/ugly2.jpg" height="199" width="200" /&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;I soldered leads to a 1-gate logic inverter.  This wasn’t easy because the part is so small.  Then connect it to 3.3v, GND, and the RTS line coming out of the WiReach.  Then I cut the RTS trace on the bottom of the board.  I connected the output of the inverter to the input of the line driver IC.&lt;/p&gt;</description></item><item><title>WiFi Board For Newton: A Success?</title><link>https://www.allaboutjake.com/wifi-board-for-newton-a-success/</link><pubDate>Fri, 03 Apr 2015 20:40:00 +0000</pubDate><guid>https://www.allaboutjake.com/wifi-board-for-newton-a-success/</guid><description>&lt;p&gt;I’m going to call this one a success.&lt;/p&gt;
&lt;p&gt;There is an error in the hardware flow control circuit, but that’s due to an error in the N2 Platform documentation.  I’ll take responsibility because I should have more thoroughly prototyped (which I thought I had, but oh well)  I’m still planning on hacking an inverter onto the board to fix the issue.&lt;/p&gt;
&lt;p&gt;Even so. I’m chalking this one up as a success.&lt;/p&gt;</description></item><item><title>Subsystem Power Configuration for Fun and Profit</title><link>https://www.allaboutjake.com/subsystem-power-configuration-for-fun-and-profit/</link><pubDate>Thu, 02 Apr 2015 21:12:00 +0000</pubDate><guid>https://www.allaboutjake.com/subsystem-power-configuration-for-fun-and-profit/</guid><description>&lt;p&gt;Up till now, I have been following &lt;a href="https://github.com/ekoeppen/Newton-Blunt-Support"&gt;Ekhart’s template for enabling the serial signals&lt;/a&gt;: directly calling the ROM functions to toggle SerPortSel.  The only issue with this approach is that the OS also toggles these signals when a port is opened.  This means you have to configure the signals after the serial port is opened.&lt;/p&gt;
&lt;p&gt;Wouldn’t it be great if you could tell NewtonOS that you wanted SerPortSel to be “set to internal” when you open Serial0 or Serial3?&lt;/p&gt;</description></item><item><title>I dislike hardware flow control</title><link>https://www.allaboutjake.com/i-dislike-hardware-flow-control/</link><pubDate>Thu, 02 Apr 2015 11:33:00 +0000</pubDate><guid>https://www.allaboutjake.com/i-dislike-hardware-flow-control/</guid><description>&lt;p&gt;I can’t ever seem to get the flow control lines right.   The current prototype only works with flow control disabled.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.unna.org/unna/apple/documentation/n2platform/n2-issdg.pdf"&gt;The N2 Platform docs&lt;/a&gt; says that the Serial3 signals are”ModemNotCTS” and “ModemNotRTS”.  The WiReach docs also use inverted signals “nCTS” and “nRTS”.  So I connected them up to each other thinking that they’re all using the same signaling logic.&lt;/p&gt;
&lt;p&gt;But I was wrong, and I think the n2 docs are too.  It seems that the Newton’s CTS line is not inverted.  This can be verified with a  loopback.  When RX-TX are connected and RTS-CTS are connected, you will not get an echo when hardware flow control is enabled.&lt;/p&gt;</description></item><item><title>Serial Channel 2</title><link>https://www.allaboutjake.com/serial-channel-2/</link><pubDate>Wed, 01 Apr 2015 11:15:00 +0000</pubDate><guid>https://www.allaboutjake.com/serial-channel-2/</guid><description>&lt;p&gt;The Newton’s internal serial slot exposes 3 serial channels.   Serial 1 and Serial 3 are the most interesting, as they have a full set of signals and are selectable by the selection signals.&lt;/p&gt;
&lt;div&gt;
&lt;/div&gt;
&lt;div&gt;
 I was searching for a way to control SerPortSel3 within software. &amp;nbsp;When you open the serial port on the Newton, it sets SerPortSel3 LOW. &amp;nbsp;I had hoped there was a parameter you could pass to the endpoint that would keep SerPortSel3 high. &amp;nbsp;(See earlier posts)
&lt;/div&gt;
&lt;div&gt;
&lt;/div&gt;
&lt;div&gt;
 I was searching the DDK headers and I found this (HALOptions.h)
&lt;/div&gt;
&lt;div&gt;
&lt;/div&gt;
&lt;div&gt;
 &lt;div&gt;
 &lt;span style="font-family: Courier New, Courier, monospace;"&gt;&lt;span style="white-space: pre;"&gt; &lt;/span&gt;#define kHWLocExternalSerial&lt;span style="white-space: pre;"&gt; &lt;/span&gt;&amp;#8216;extr&amp;#8217;&lt;/span&gt;
 &lt;/div&gt;
 &lt;div&gt;
 &lt;span style="font-family: Courier New, Courier, monospace;"&gt;&lt;span style="white-space: pre;"&gt; &lt;/span&gt;#define kHWLocBuiltInIR&lt;span style="white-space: pre;"&gt; &lt;/span&gt;&amp;#8216;infr&amp;#8217;&lt;/span&gt;
 &lt;/div&gt;
 &lt;div&gt;
 &lt;span style="font-family: Courier New, Courier, monospace;"&gt;&lt;span style="white-space: pre;"&gt; &lt;/span&gt;#define kHWLocBuiltInModem&lt;span style="white-space: pre;"&gt; &lt;/span&gt;&amp;#8216;mdem&amp;#8217;&lt;/span&gt;
 &lt;/div&gt;
 &lt;div&gt;
 &lt;span style="font-family: Courier New, Courier, monospace;"&gt;&lt;span style="white-space: pre;"&gt; &lt;/span&gt;#define kHWLocPCMCIASlot1&lt;span style="white-space: pre;"&gt; &lt;/span&gt;&amp;#8216;slt1&amp;#8217;&lt;/span&gt;
 &lt;/div&gt;
 &lt;div&gt;
 &lt;span style="font-family: Courier New, Courier, monospace;"&gt;&lt;span style="white-space: pre;"&gt; &lt;/span&gt;#define kHWLocPCMCIASlot2&lt;span style="white-space: pre;"&gt; &lt;/span&gt;&amp;#8216;slt2&amp;#8217;&lt;/span&gt;
 &lt;/div&gt;
 &lt;div&gt;
 &lt;span style="font-family: Courier New, Courier, monospace;"&gt;&lt;span style="white-space: pre;"&gt; &lt;/span&gt;#define kHWLocPCMCIAAnySlot&lt;span style="white-space: pre;"&gt; &lt;/span&gt;&amp;#8216;slot&amp;#8217;&lt;/span&gt;
 &lt;/div&gt;
 &lt;div&gt;
 &lt;span style="font-family: Courier New, Courier, monospace;"&gt;&lt;span style="white-space: pre;"&gt; &lt;/span&gt;#define kHWLocBuiltInExtra&lt;span style="white-space: pre;"&gt; &lt;/span&gt;&amp;#8216;tblt&amp;#8217;&lt;/span&gt;
 &lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;/div&gt;
&lt;div&gt;
 &lt;div&gt;
 kHWLocBuiltInExtra seemed promising. &amp;nbsp;I haven&amp;#8217;t seen it mentioned in any of the other docs. &amp;nbsp;So I whipped up a little package to enable it as a valid modem location:
 &lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;/div&gt;
&lt;div&gt;
 &lt;div&gt;
 &lt;span style="font-family: Courier New, Courier, monospace; font-size: x-small;"&gt;InstallScript := func(partFrame,removeFrame)&lt;/span&gt;
 &lt;/div&gt;
 &lt;div&gt;
 &lt;span style="font-family: Courier New, Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp;begin&lt;/span&gt;
 &lt;/div&gt;
 &lt;div&gt;
 &lt;span style="font-family: Courier New, Courier, monospace; font-size: x-small;"&gt;&lt;span style="white-space: pre;"&gt; &lt;/span&gt;AddArraySlot(GetGlobals().ModemLocations, {title: &amp;#8220;Modem&amp;#8221;, id:&amp;#8221;mdem&amp;#8221;});&lt;/span&gt;
 &lt;/div&gt;
 &lt;div&gt;
 &lt;span style="font-family: Courier New, Courier, monospace; font-size: x-small;"&gt;&lt;span style="white-space: pre;"&gt; &lt;/span&gt;AddArraySlot(GetGlobals().ModemLocations, {title: &amp;#8220;Extra&amp;#8221;, id:&amp;#8221;tblt&amp;#8221;});&lt;/span&gt;
 &lt;/div&gt;
 &lt;div&gt;
 &lt;span style="font-family: Courier New, Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; &amp;nbsp;end;&lt;/span&gt;
 &lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;/div&gt;
&lt;div&gt;
 I had hoped that &amp;#8216;tblt&amp;#8217; would open Serial3 and set SerPortSel high. &amp;nbsp;This is not the case. &amp;nbsp;It turns out that&amp;nbsp;kHWLocBuiltInExtra is actually Serial Channel 2.
&lt;/div&gt;
&lt;div&gt;
&lt;/div&gt;
&lt;div&gt;
 The &lt;a href="http://www.unna.org/unna/apple/documentation/n2platform/n2-overview.pdf"&gt;n2 platform documents say&lt;/a&gt; that SerialChannel2 is a &amp;#8220;low speed channel for printer support&amp;#8221;. &amp;nbsp;I&amp;#8217;ve also seen &lt;a href="http://www.pda-soft.de/en/hardware/2x00/usb001/usb001.html"&gt;references that Serial2 is for keyboard&lt;/a&gt;. &amp;nbsp;Since Serial2 is not exposed on the external port, I don&amp;#8217;t think that it is used for the keyboard.
&lt;/div&gt;
&lt;div&gt;
&lt;/div&gt;
&lt;div&gt;
 In all, kHWLocBuiltInExtra is one more piece of the internal serial slot puzzle.
&lt;/div&gt;</description></item><item><title>It Works! (Sorta…)</title><link>https://www.allaboutjake.com/it-works-sorta/</link><pubDate>Sun, 29 Mar 2015 17:07:00 +0000</pubDate><guid>https://www.allaboutjake.com/it-works-sorta/</guid><description>&lt;p&gt;It works! (Sorta) I finally got all the parts together to assemble the project. I started by populating the 3.3v regualtor section of the board, just to make sure it works. It did, a nice stable 3.29v.&lt;/p&gt;
&lt;p&gt;I then proceeded to blow up the regulator somehow. I was trying to load it with a few ohms of load to simulate a 300mA draw… but that shouldn’t destroy the thing. Maybe I connected something incorrectly or zapped it with static. Luckly, I had enough parts to try again. Again I populated the 3.3v regulator first, and checked the output. Again, a nice output voltage. This time I threw caution to the wind and just populated the rest of the board.&lt;/p&gt;</description></item><item><title>WiFi Update</title><link>https://www.allaboutjake.com/wifi-update/</link><pubDate>Sat, 28 Feb 2015 00:28:00 +0000</pubDate><guid>https://www.allaboutjake.com/wifi-update/</guid><description>&lt;p&gt;Some updates on the project:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;I was unhappy with the linear regulator’s heat performance, so I changed to a switching module.  This increased the number of passive components a bit.  I found a &lt;a href="http://www.ti.com/lit/ds/symlink/lmz21700.pdf"&gt;nice module from TI that has an integrated inductor&lt;/a&gt;, so the whole thing still fits nicely.  The PCB layout is tricky for switching regulators, but I did my best to follow the guidelines in the data sheet, so I’m hopeful it will work as expected.
Rather than making a separate breakout board to prototype the regulator, I just went ahead and ordered the PCBs for the whole project.  I’ll reflow the regulator components first and test the circuit out before reflowing again to add the WiReach and additional components.&lt;/li&gt;
&lt;/ol&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;a href=&amp;quot;http://4.bp.blogspot.com/-ysFtbj1Tb24/VPEKyRo1JCI/AAAAAAAAAbg/hu4x6O63L2A/s1600/feb%2Bdesign.jpg&amp;quot; style=&amp;quot;margin-left: 1em; margin-right: 1em; text-align: center;&amp;quot;&amp;gt;&amp;lt;img loading=&amp;quot;lazy&amp;quot; decoding=&amp;quot;async&amp;quot; border=&amp;quot;0&amp;quot; src=&amp;quot;http://4.bp.blogspot.com/-ysFtbj1Tb24/VPEKyRo1JCI/AAAAAAAAAbg/hu4x6O63L2A/s1600/feb%2Bdesign.jpg&amp;quot; height=&amp;quot;200&amp;quot; width=&amp;quot;182&amp;quot; /&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt; 

 * Mathias suggested a buffer to translate between 3.3v and 5v signals, but this is all 3.3v logic. &amp;amp;nbsp;I did add a buffer for another reason&amp;amp;#8211; the fact that the module is powered separately from the Newton means that the Newton can be pushing 3.3v logic signals when the module is powered off. &amp;amp;nbsp;I checked with ConnectOne and the module is tolerant to this, but it wastes power and possibly causes problems with an inconsistent state on power-up. &amp;amp;nbsp;By using a buffer, the logic signals are kept at the same voltage level as the module itself. &amp;amp;nbsp;I chose [a buffer that has &amp;amp;#8220;power off protection on inputs and outputs&amp;amp;#8221;][2] which means the buffer can be at Vcc=0 and still tolerate signals coming from the Newton.&amp;lt;sup&amp;gt;&amp;lt;a href=&amp;quot;/#fn:1&amp;quot; rel=&amp;quot;footnote&amp;quot;&amp;gt;1&amp;lt;/a&amp;gt;&amp;lt;/sup&amp;gt;
 * I have an idea for the reset circuit. &amp;amp;nbsp;The power regulator has a &amp;amp;#8220;Power Good&amp;amp;#8221; output that holds to ground until the power regulation hits the target voltage. &amp;amp;nbsp; The idea is to tie this to the WiReach module&amp;amp;#8217;s reset pin. &amp;amp;nbsp;This should hold the module in reset until the power regulator is fully online. &amp;amp;nbsp;This only costs one extra pull-up resistor. 
 In case this strategy doesn&amp;amp;#8217;t work, I&amp;amp;#8217;ve got an alternate setup where the Newton&amp;amp;#8217;s extra GPIO can trigger the reset. &amp;amp;nbsp;The GPIO is looped through the buffer, again to keep the logic at the same voltage as the WiReach supply. &amp;amp;nbsp;A solder jumper selects which reset circuit you wish to use. &amp;amp;nbsp;The WiReach reset pin is an open-drain, and can be pulled low by the module. &amp;amp;nbsp;I added a 200 ohm resistor inline to limit the current should the Newton be outputting a 3.3v signal while the module is pulling down its own reset signal.&amp;lt;/li&amp;gt; 
 
 * Switched the test pads to just pads rather than thru-holes. &amp;amp;nbsp;Moved them near the edge of the board so I can clip on with alligator clips to test. &amp;amp;nbsp;Exposed the reset and MSEL signals as test pads on the back of the board as well. &amp;amp;nbsp;These can be used to reset the module into rescue mode if necessary.
 * Some of the routing is a little odd but I tried to keep the jumpers on the bottom layer as short as possible. &amp;amp;nbsp;This resulted in few extra vias. &amp;amp;nbsp;I wanted to keep the ground plane as intact as possible.
 * I&amp;amp;#8217;m still paranoid about the hole locations and the physical design fitting properly, so I 3D printed another mockup to test the fit. &amp;amp;nbsp;Seems to work well. &amp;amp;nbsp;Hole placement is still iffy. &amp;amp;nbsp;I&amp;amp;#8217;d love to know the real measurements. &amp;amp;nbsp;Each time I tweak it a little, but never seem to be happy, so I&amp;amp;#8217;m finally just going with it. 
 &amp;lt;a href=&amp;quot;http://1.bp.blogspot.com/-20_jT-boE0A/VPELRWwiKrI/AAAAAAAAAbo/-X0mRQD5-lo/s1600/feb%2Bmockup.jpg&amp;quot; style=&amp;quot;margin-left: 1em; margin-right: 1em; text-align: center;&amp;quot;&amp;gt;&amp;lt;img loading=&amp;quot;lazy&amp;quot; decoding=&amp;quot;async&amp;quot; border=&amp;quot;0&amp;quot; src=&amp;quot;http://1.bp.blogspot.com/-20_jT-boE0A/VPELRWwiKrI/AAAAAAAAAbo/-X0mRQD5-lo/s1600/feb%2Bmockup.jpg&amp;quot; height=&amp;quot;320&amp;quot; width=&amp;quot;239&amp;quot; /&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt; &amp;lt;/ol&amp;gt; 
 
 So the board is off at [ITEAD Studio][3] being built, assuming it passes their error checks. _update: it passed error checks and is being manufactured_&amp;amp;nbsp;I also ordered two solder stencils from OSHStencils. &amp;amp;nbsp;I also built a reflow toaster out of an old toaster oven I got for free from a garage sale. &amp;amp;nbsp;All that&amp;amp;#8217;s left is to get some solder paste. &amp;amp;nbsp;I also want to build a little pick and place jig to help place the small components.
 
 Hopefully this will all work in the end&amp;amp;#8230; and then there&amp;amp;#8217;s still the antenna to figure out. 
 \___\_____ 
 
 &amp;lt;div&amp;gt;
 &amp;lt;ol&amp;gt;
 &amp;lt;li&amp;gt;
 The data sheet for the On Semi MC74VHCT50A is vague on exactly what &amp;amp;#8220;Power Down Protection Provided on Inputs and Outputs&amp;amp;#8221; actually means. &amp;amp;nbsp;I did a little testing on the bench, and found that when Vcc=0 the inputs and outputs seem to work like they are Hi-Z. (I&amp;amp;#8217;m not sure how to verify that they are definitively Hi-Z, but I can&amp;amp;#8217;t measure any current flowing in or out when Vcc=0) It expect it to work for this application.&amp;amp;nbsp;&amp;lt;a href=&amp;quot;/#fnref:1&amp;quot;&amp;gt;?&amp;lt;/a&amp;gt;
 &amp;lt;/li&amp;gt;
 &amp;lt;/ol&amp;gt;
 &amp;lt;/div&amp;gt;
&lt;/code&gt;&lt;/pre&gt;</description></item><item><title>SSL: An Exercise for the Reader</title><link>https://www.allaboutjake.com/ssl-an-exercise-for-the-reader/</link><pubDate>Wed, 04 Feb 2015 22:32:00 +0000</pubDate><guid>https://www.allaboutjake.com/ssl-an-exercise-for-the-reader/</guid><description>&lt;p&gt;As a diversion, I tried to compiling an SSL library for the Newton.  I settled on &lt;a href="http://wolfssl.com/yaSSL/Home.html"&gt;CyaSSL&lt;/a&gt;, because it is designed for constrained devices.  For example, you can define macros that conditionally compile for devices that have NO_FILESYSTEM or NO_DEV_RANDOM.  That sounds a lot like the Newton.&lt;/p&gt;
&lt;h2 id="building"&gt;Building&lt;a class="anchor" href="#building"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;I got surprisingly far in compiling the library.  First you need to edit settings.h and add a section defining the compilation for the Newton, then pass this definition using “-D NEWTON” to the compiler:&lt;/p&gt;</description></item><item><title>Initial Design of Internal WiReach WiFi Board</title><link>https://www.allaboutjake.com/initial-design-of-internal-wireach-wifi-board/</link><pubDate>Mon, 02 Feb 2015 22:01:00 +0000</pubDate><guid>https://www.allaboutjake.com/initial-design-of-internal-wireach-wifi-board/</guid><description>&lt;div style="clear: both; text-align: center;"&gt;
 &lt;a href="https://www.allaboutjake.com/wp-content/uploads/2015/02/slice1.png" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img loading="lazy" decoding="async" border="0" src="https://www.allaboutjake.com/wp-content/uploads/2015/02/slice1.png" height="305" width="320" /&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;I have been triangulating on a final PCB design for an internal WiReach card.  I am not an EE, so the design is hobbiest-grade at best.  Here is the thinking behind some of what you see in the picture above:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt; Board size is less than 5cm x 5cm in order to print it at &lt;a href="http://imall.iteadstudio.com/"&gt;iTead Studio&lt;/a&gt; at a reasonable cost.  10 of them on 0.8mm board should be around $15.&lt;/p&gt;</description></item><item><title>WiReach Module Connection Test</title><link>https://www.allaboutjake.com/wireach-module-connection-test/</link><pubDate>Tue, 20 Jan 2015 00:52:00 +0000</pubDate><guid>https://www.allaboutjake.com/wireach-module-connection-test/</guid><description>&lt;p&gt;All of this work on the internal serial slot is in support of my WiFi module project.  The goal is to build an internal interface to a &lt;a href="http://www.connectone.com/?page_id=3527"&gt;ConnectOne WiReach&lt;/a&gt; module.  I like this module for a few reasons:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;It supports modern wireless networking, such as WPA2.  There isn’t any native way for the Newton to connect to a modern WiFi network, and likely there never will be.&lt;/li&gt;
&lt;li&gt;It supports a PPP server.  This means that the module can appear to Newton Internet Enabler (NIE) as a PPP dialup server.  In effect, you can “dial up” to a wifi network.&lt;/li&gt;
&lt;li&gt;It supports an AT command set for configuration– so you can send a few commands from PT-100 or using the script utility in NIE to configure the module.  &lt;/li&gt;
&lt;/ol&gt;
&lt;div style="clear: both; text-align: center;"&gt;
 &lt;a href="https://www.allaboutjake.com/wp-content/uploads/2015/01/IMG_0657.jpg" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img loading="lazy" decoding="async" border="0" src="https://www.allaboutjake.com/wp-content/uploads/2015/01/IMG_0657.jpg" height="400" width="278" /&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;div style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
&lt;div style="clear: both; text-align: left;"&gt;
 I&amp;#8217;ve done some testing today and found that it works really well. &amp;nbsp;A few caveats:
&lt;/div&gt;
&lt;div style="clear: both; text-align: left;"&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;The Newton’s internal 3.3v regulator is not sufficient to run the module.  This was expected, but it does mean that any design will have to have a 3.3v regulator that runs off of the battery supply lines.  Luckily the internal serial slot does provide access directly to the battery.&lt;/li&gt;
&lt;li&gt;Hardware flow control seems to work.  I have a history of messing up the pinout, so I’l probably have a solder jumper that you can cut if you want to disable hardware flow control.&lt;/li&gt;
&lt;li&gt;There’s a giant capacitor right where I would want the module to sit.  I think that that there is enough clearance in the area, but I’m starting to be concerned about how this will all fit.&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
 My current thinking is to use the SerPortSel3 line to control the 3.3v regulator shutdown. &amp;nbsp;Serial3 is just as fast as Serial0 (even though the specs say that Ser3 is slower, this doesn&amp;#8217;t appear to be the case, &amp;nbsp;it works fine at 119200) &amp;nbsp;I wouldn&amp;#8217;t want the module running all the time, drawing power. &amp;nbsp;SerPortSel3 would work to turn on and off power to the module. &amp;nbsp;Since no one ever connects anything to Serial3 externally, I am thinking that I might skip a tri-state bus buffer.&amp;nbsp;
&lt;/div&gt;
&lt;div&gt;
&lt;/div&gt;</description></item><item><title>Posted to GitHub: Internal Serial Enabler</title><link>https://www.allaboutjake.com/posted-to-github-internal-serial-enabler/</link><pubDate>Sun, 18 Jan 2015 23:06:00 +0000</pubDate><guid>https://www.allaboutjake.com/posted-to-github-internal-serial-enabler/</guid><description>&lt;p&gt;I have posted the source to “Internal Serial Enabler” – a small newton app that allows you to view and control a few of the signals of the internal serial slot on the MessagePad 2×00:&lt;/p&gt;
&lt;div&gt;
 &lt;ul&gt;
 &lt;li&gt;
 &lt;b&gt;gpSerPortSel&lt;/b&gt; &amp;#8211; the serial port 0 selection signal. &amp;nbsp;When high, the internal serial driver is disabled, leaving Serial0 available for the internal slot.
 &lt;/li&gt;
 &lt;li&gt;
 &lt;b&gt;PortSelect&lt;/b&gt; &amp;#8211; the serial port 3. &amp;nbsp;When high, Serial3 is available for the internal slot. &amp;nbsp;When low, Serial3 is dedicated for the external interconnect port.
 &lt;/li&gt;
 &lt;li&gt;
 &lt;b&gt;General Purpose I/O&lt;/b&gt; &amp;#8211; Pin 26 can either be an input or output signal. &amp;nbsp;Using the app, you can select whether you want the app to be an input or an output. &amp;nbsp;If you select &amp;#8216;output&amp;#8217;, you can control the signal.
 &lt;/li&gt;
 &lt;/ul&gt;
 &lt;div&gt;
 The application polls all three I/O signals and updates the user interface state every 1/2 second. &amp;nbsp;This will allow you to see when other applications or NewtonOS makes changes. &amp;nbsp;The gpSerPortSel pin does toggle on and off, enabling/disabling the driver. &amp;nbsp;This is likely for power saving.
 &lt;/div&gt;
 &lt;div&gt;
 &lt;/div&gt;
 &lt;div style="clear: both; text-align: center;"&gt;
 &lt;a href="https://www.allaboutjake.com/wp-content/uploads/2015/01/screenshot.jpg" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img decoding="async" border="0" src="https://www.allaboutjake.com/wp-content/uploads/2015/01/screenshot.jpg" /&gt;&lt;/a&gt;
 &lt;/div&gt;
 &lt;div&gt;
 &lt;/div&gt;
 &lt;div&gt;
 &lt;/div&gt;
 &lt;div&gt;
 Once again, I can&amp;#8217;t credit&amp;nbsp;Eckhart Köppen enough for posting the source to &lt;a href="https://github.com/ekoeppen/Newton-Blunt-Support"&gt;Newton-Blunt-Support&lt;/a&gt;. &amp;nbsp;It is how I learned to call arbitrary ROM functions.
 &lt;/div&gt;
 &lt;div&gt;
 &lt;/div&gt;
 &lt;div&gt;
 This application is &lt;b&gt;intended for developers &lt;/b&gt;working on hardware for the internal serial slot. &amp;nbsp;If you are not such a person&lt;b&gt;, do not install this application. &lt;/b&gt;&amp;nbsp; It should be harmless for a Newton with an empty internal serial slot. &amp;nbsp;Even still, you are toggling hardware signals with undocumented ROM functions&amp;#8230; there is the potential to do hardware damage.
 &lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;/div&gt;
&lt;div&gt;
 You can find the source and a pre-built package on GitHub here:&amp;nbsp;&lt;a href="https://github.com/jake-b/Newton-Internal-Serial-Enabler"&gt;https://github.com/jake-b/Newton-Internal-Serial-Enabler&lt;/a&gt; &amp;nbsp;I have released it under GPL v2.0 and as always,&lt;b&gt; use it at your own risk!&lt;/b&gt;
&lt;/div&gt;</description></item><item><title>General Purpose I/O Line</title><link>https://www.allaboutjake.com/general-purpose-io-line/</link><pubDate>Fri, 16 Jan 2015 22:37:00 +0000</pubDate><guid>https://www.allaboutjake.com/general-purpose-io-line/</guid><description>&lt;p&gt;Pin 26 on the internal serial slot is listed as a “General Purpose I/O”.  The &lt;a href="http://www.unna.org/unna/apple/documentation/n2platform/n2-issdg.pdf"&gt;Internal Serial Slot Developers Guide&lt;/a&gt; says that this pin can be configured as either an input or output.&lt;/p&gt;
&lt;p&gt;The question is, how is this pin connected?  What GPIO or DIO pin is it connected to?&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;</description></item><item><title>Manually controlling the SerPortSel Pins</title><link>https://www.allaboutjake.com/manually-controlling-the-serportsel-pins/</link><pubDate>Thu, 15 Jan 2015 01:22:00 +0000</pubDate><guid>https://www.allaboutjake.com/manually-controlling-the-serportsel-pins/</guid><description>&lt;p&gt;Eckhart Köppen, author of the Blunt, the Newton bluetooth stack, has posted &lt;a href="https://github.com/ekoeppen/Newton-Blunt-Support"&gt;code on GitHub&lt;/a&gt; for manually controlling the SerPortSel3 signal.  His code manually controls the proper DIO pins using functions in the Newton ROM.&lt;/p&gt;
&lt;div&gt;
&lt;/div&gt;
&lt;div&gt;
 While this method works great for Serial3, I wanted to also control Serial0. &amp;nbsp;So I started looking at the ROM. &amp;nbsp;I found two functions in the ROM explicitly for controlling these signals:
&lt;/div&gt;
&lt;div&gt;
 &lt;blockquote&gt;
 &lt;p&gt;
 &lt;span style="font-family: Courier New, Courier, monospace; font-size: x-small;"&gt;0x0026d050 SerialPort0LineDriverConfig__16TVoyagerPlatformFUcT1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New, Courier, monospace; font-size: x-small;"&gt;0x0026d094 SerialPort3LineDriverConfig__16TVoyagerPlatformFUcT1&lt;/span&gt;
 &lt;/p&gt;</description></item><item><title>The SerPortSel Pins</title><link>https://www.allaboutjake.com/the-serportsel-pins/</link><pubDate>Thu, 15 Jan 2015 00:56:00 +0000</pubDate><guid>https://www.allaboutjake.com/the-serportsel-pins/</guid><description>&lt;p&gt;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.&lt;/p&gt;
&lt;div&gt;
&lt;/div&gt;
&lt;div&gt;
 The &amp;#8220;Internal Serial Slot Designer&amp;#8217;s Guide states:
&lt;/div&gt;
&lt;div&gt;
&lt;/div&gt;
&lt;blockquote class='book-hint '&gt;
&lt;p&gt;&lt;strong&gt;Pin 1 PortSelect&lt;/strong&gt;:&lt;br&gt;
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.&lt;/p&gt;</description></item><item><title>The Internal Interconnect Port</title><link>https://www.allaboutjake.com/the-internal-interconnect-port/</link><pubDate>Thu, 15 Jan 2015 00:33:00 +0000</pubDate><guid>https://www.allaboutjake.com/the-internal-interconnect-port/</guid><description>&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;</description></item></channel></rss>